如何构建量化交易系统(二) 量化数据库的搭建
量化交易系统的搭建必须有比较完备的数据库。这个数据库需含有量化策略涉及的数据,主要包括基本面/财务数据、交易数据以及行业/市场/板块相关的指示数据等,在此基础上可将整理后的数据灵活地调用并运算。
(一)收集数据
将收集到的数据进行数据整理,确保数据的准确性和一致性。
以行情数据为例,准确性是指收集到的数据需要进行反复对比确认,定期对收集的数据进行对比检验,确保策略形成所需要的数据的准确性。
一致性是指策略测试和策略实现的数据需要同源,行情数据从交易所发出到各期货公司时,因期货公司接收服务器的本地时间设置不同,以及接收数据具有延迟性,不同期货公司转发出来的行情数据多少会存在不一致的可能,所以在数据库搭建的过程当中就需要将数据的一致性考虑进去。
因此,在做历史测试时使用的数据最好和将来量化交易策略实现数据保持一致性,这样出来的量化策略测试才更可靠。
(二)数据库架构的设计
在确保准确性和一致性的期基础上,第一步也是最基础的一步就是能够方便灵活地调用整理好的数据,包括涉及数据颗粒度的设计,比如行情数据,不同周期的行情数据,根据不同策略类型,从长周期量化策略需要的月、周、日为周期的行情数据,到短周期量化化需要的小时、分钟、秒为周期的行情数据,甚至到高频量化策略所需要的逐笔成交的行情数据。
单从所涉及的行情数据来说,量化策略所需要的数据的深度和广度都大大超过传统策略交易的数据范畴。
同样,数据库的深度和广度决定了量化策略的丰富程度和调用数据的方便灵活性,也决定了量化交易系统的可靠性。
(三)算法函数的集成
量化交易所使用的函数包括简单能用函数、数值分析、统计、数据访问等,还包括高端数据库搭建集成的人工智能类算法,比如遗传算法、蚁群算法、支持向量机等算法。
这些算法对于一般性的金融机构来说要求偏高,因直接集成到数据库是个较大的算法工程。有些机构采用外部算法引擎的调用然后返回结果的方式来实现人工智能类算法。
但是,随着越来越多的数学、物理、计算机方面的人才进入量化策略研究中来,已经有很多机构的数据库集成了这类算法,已经将简单的数据库提升到量化策略研究开发平台的水平。
当然,很多并不复杂的量化策略可能只需要一个简单数据库的支持,通过直接读取策略所需数据,确保其准确性,就能通过运算来测试量化策略的有效性。
但是,随着量化策略的近十年发展,已经出现了一批成熟的第三方量化策略研究开发数据库,完成了上述量化数据库的搭建。但这并不意味着所有的量化团队都会直接采用第三方数据库,这与量化团队开发的量化策略的类型极度相关。
比如偏向宏观研究的策略,其需要的数据类型通常很难标准化,基本上需要量化团队通过外部数据自己整理;再比如高频量化策略,其所需的高速运行的特性是第三方数据库无法满足的,也是需要开发这娄高频策略的团队自己建立合适的数据库。
总之,量化策略数据库的搭建,是根据所开发的策略类型来决定其搭建的复杂程度的,数据库搭建的核心是围绕量化策略思想所需要的数据来展开的。
通常,随着量化策略的多样性发展需求,数据库需要的数据类型的丰富程度、调用方式的灵活程度,还有复杂算法的运算效率都会随着量化策略的多样性而逐渐提高,这也是量化策略发展对数据库搭建要求的未来趋势。
发表回复