参考国外的一些经验以及我自身走过的路,下面就这个问题和大家一起探讨一下。创建一个自动量化交易体系台需要多少成本,以及需要实现哪些功能。简单起见,我们以人时来衡量成本。
1、构建量化交易策略框架
构建自动交易系统需要从找到量化交易策略开始。没有放之四海而皆准的方法,用户需要找到自己喜欢的策略,才能自动化交易。为此,他们必须能够在不同的技术路径之间进行选择,并组合成一组交易规则。完成这个体系是一个细致的过程,一般需要超过150个人时。
终成果:形成一个程序员可以看懂的量化策略模型思维导图。
经验之谈:交易者很难把策略和程序员说清楚,因为语言本身是一条线,是串联,而计算机逻辑是并联。这就要求策略师不但具备交易经验,还要具备编程经验,从而将策略变成程序员可以看懂的思维导图。
备注:左侧是数据结构,右侧是逻辑条件
2、验证核心逻辑历史表现
策略师需要找到量化策略的核心因子,依据思维导图建立一个简化的回测程序,并在市场中初步验证其适应性。因子分析或回测,可以使我们发现交易想法与实际运行之间的偏差。使用历史数据测试和优化策略本身也是一项重要功能,这已经成为任何高效ATS(自动监控系统)的标准。完成对策略核心要点的回测大约需要120个人时。
终成果:形成一个历史数据回测系统,并可优化调参。
经验之谈:很多交易策略的核心逻辑经不起推敲,或者是幸存偏差,或者是未来函数,如果经不起推敲,就没有必要进行以下步骤。通常来讲,策略师熟悉多种快速回测工具(比如万得),从而在短时间内给出合理的建议。
3、连接实时市场数据
实现回测只是成功了一半,另一半是实时市场数据。好的策略,通常需要稳定高效的一至多个实时数据,这对于终交易成功至为关键。比如,连接备份数据源。实施能够收集和提供综合市场数据的功能,一般需要120个人时。对于特别的市场数据,需要自己进行抓取和特别清洗的,还要再加40个人时。
终成果:要实现现实交易中数据的稳定连接,购买的数据源质量也是很重要的维度,聚宽、tushare、yfinace这些数据源都应当在考虑范围之内。
经验之谈:一个好的程序员,关键不是实现实时数据连接,因为这是比较容易的(接口都有参考说明),重要的能力是容错处理。比如,如果数据中断或出现错误,不会导致下单错误或系统崩溃。