一个量化策略的构建包含四个步骤:
第一步,将我们脑海中模糊的交易概念转变成一个具体的数学模型。比如大家都知道在股市里盈利需要低吸高抛,这里的低吸和高抛就是一个模糊的概念,只有当这些模糊的概念经过定量分析后转换成具体的数学模型,我们才可以说正在构建的是一个量化策略。
第二步,将数学模型翻译为计算机程序。这里计算机程序被运用在两个方面,第一方面,不是所有的数学模型都有解析解,很多模型在求解中需要使用模拟采样的方式来计算,比如模特卡罗模拟,粒子滤波器,遗传算法等等。而这些模拟方法依赖计算机程序来完成,如果人来手算的话会累成狗的。第二方面,计算机程序可以用来模拟交易策略的执行,利用历史数据自动执行交易策略,从实证(Backtest)上评估该策略的有效性。
第三步,评估策略的有效性。当我们拥有了数学模型和计算机程序,就可以来评估所构建的策略是否可以盈利。在利用历史数据进行实证中,我们需要计算历史收益率,夏普率,最大回撤和其他的性能评估指标。如果这些性能指标没有达到我们的预期效果,那就说明某个地方有缺陷,要么是我们的想法本身不对,要么数学模型有缺陷,要么程序有错误。我们得不断的修改模型和程序直到性能指标达到预期。如果一直达不到的话,默默抹眼泪吧,这就是矿工苦逼的生活。
第四步,也是最后一个步骤,把策略的程序部署到券商交易系统里,然后躺着收钱吧,当然不是实证效果好的策略实时交易也一定好,实际和理论的差距还是很大的,实战操作中会有各种细节问题需要完善,因此不能完全脱离人的监控,而且在极端情况下,量化策略也会马失前蹄,请百度长期资本管理公司。如果实际交易效果和回测差过大的话,那就悲了个剧了,我们需要检验当前数据是否满足模型的假设条件,还要检验是不是当前的行情变化不在我们模型计算的范围内。
再来解释下对量化交易两个认识上的偏差:
量化交易==高频交易
其实高频交易是从交易频率上来说的,然后有配套的方法以及硬件的支持,而量化则是个由数学模型来指导设计交易策略的思想方法,他可以运用在高频交易里的方法部分。有过以下经历的小盆友可以感同身受:童鞋,你是计算机专业的呀,帮我修下电脑吧。
量化模型==技术分析
我在刚开始学习的时候也不明白。先看两个表述,意思都是说历史数据对之后股价走势有指导作用:
技术分析:大盘20日均线对当前股价有明显的支撑作用。
量化模型:股价收益序列的12日自相关性在Q检验中具有显著性。
这两句话代表了技术分析和量化模型的特色,技术分析一般会描述一个在实战经验中被认可的交易策略,但从来不去证明他的有效性。量化模型则一定要在数学理论上被验证是有效的,一切不能被证明的量化策略都是耍流氓。 在2000年的一篇论文(Lo et. al., 2000)中讨论了技术分析和量化模型的区别和联系,并从量化的角度去重新分析技术指标。里面有个观点很有意思,他说如果一个技术指标在统计上具有有效性的话,那他的条件概率和非条件概率必须是不一样的。翻译成人话意思是,如果加入历史数据后技术信号的概率没啥变化,那这个信号就是砖家叫兽在忽悠人。
在技术指标和量化模型中都有大量的参数,而这些参数的设置有着本质的不同。举个栗子,技术分析里都会提到均线系统,但为啥是看5日线和20日线,而不能是5日线和10日线呢?一般技术分析的回答是1)根据惯例,参数设成这样比较好。2)砖家这么设置我就这么设置。3)反正这么设置能赚钱。而同样是参数,在量化模型里则需要最大化或最小化某个目标函数来计算的。所以哪怕我们最后优化的结果也是5日均线和20日均线,我们得到了同样的均线策略,但我们是量化模型,而不是技术分析。因为我们并不关心得到的是什么样的一个策略,而是如何得到的这个策略的。如果我们是按一套严密的数学思想得到的这个策略,那就是量化策略。这篇文章(Guo et. al, 1998)就对我们熟悉的均线系统做了深入的分析,后面我们也会从量化的角度介绍相关的均线系统,其实就是这篇论文的方法和后面的各种花式改进。
Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical Implementation, A.W. Lo and H. Mamaysky, Journal of Finance 55, 1705-1770, 2000.
Some Exact Results for Moving-Average Trading Rules with Applications to UK Indices.G. W. Kuo, and E. Acar and S. Satchell. 1998.
文 | 韭菜Hulk
来源 | GoInvestSG微信公众号
更多精彩请关注CDA数据分析师微信公众号