算法交易设计
算法交易的第一步核心工作是建立一个冲击成本模型。该模型是几乎所有交易算法的基础,比较知名的冲击成本模型如JP摩根全球交易服务部的I-Star棋型等。
当使用算法交易做交易决策时,最大的风险就是时间风险,即交易不立即执行可能带来的价格风险。这是在建立算法交易模型时需要考虑的第二个非常重要的因素,通常在算法交易中,时间风险和冲击成本是不能兼得的。
被动型交易算法设计主要依赖冲击成本模型。在具有这个模型的情况下,算法的构造过程便成为了一个实现最小冲击成本与时间风险的最优化过程。最优化的目标函数可以是冲击成本与时间风险的一个线形组合,权重由投资者的偏好决定,也可以是投资者的效用函数。
如果能够加入对证券短期价格趋势的判断,则可以进一步改善算法交易的效率。趋势判断需要我们在冲击成本模型的基础上建立一个短期价格预测模型。短期价格预测的方法很多,如传统的技术分析方法、模式识别(遗传算法、神经网络等)、随机过程〔隐马尔科夫模型等)等。
1、级效标杆
判断一个交易算法是否合适,首先必须选择一个合适的业绩标杆作为比较的基准。算法交易常用的业绩标杆包括开盘价格、收盘价格、成交量加权平均价格(VWAP)、时间加权平均价格(TWAP)、实现差价(即纸面交易与实际成交均价之间的差)、到达价格等。标杆的选择一般由投资者的投资目标及投资风格决定。
2、回侧与最优参数的选择
在确定比较基准以后,就可以测试不同参数的效果,选择合适的参数。
(1)先在整个历史时期各个阶段以不同的参数测试策略,判断不同参数效果的稳定性,以及结果对参数的敏感度。重点关注稳定性和敏感度随时间变化的情况,如果变动过于频繁,则不适合投入实际应用。
(2)这时就可以选择某一个特定的市场状况较为稳定的历史时期,使用同样的方法用各种不同的参数进行测试,检验不同参数的稳定性及策略效果对参数的敏感性。选择最优参数,判断的标准可以是夏普比率等。估计参数所使用的市场时间段主要根据经验判断,可以是最近的市场数据,也可以是以前出现过未来很可能出现的市场数据。
(3)根据特定市场的状况选择最优参数,进行样本外测试,确定算法交易的效果是否满意。在合乎标准的情况下,即可确定策略及最优参数。
3、证券交易仿真系统
之所以要使用算法交易,就是因为交易会对市场造成冲击。但是如果使用历史数据回测,就会面临一个难以解决的问题:我们不知道策略是否会改变市场本身,那么实际上算法交易一个核心的目的就无法达到,算法交易最合理的侧试方式是实盘测试,但是这意味着巨大的资金投入及风险,一般作为初级测试并不可行。
近年来有一种的方法逐渐开始走向成熟:通过与市场仿真系统进行交易来测试系统。市场仿真系统是指通过使用计算机模拟交易者的交易行为,让模拟交易者在一个虚拟的市场中进行交易的系统。这方面最早进行研究的是关国圣塔菲研究所,他们首先创立了关国圣塔菲研究所人工股票市场汀'he Santa Fe Institute Artificial Stock Market,SFI-ASM ),此外,中国台湾政治大学人工智能与经济研究中心的人工股票市场AIE-ASM也比较有影响力。
这些仿真市场一般可以作为一个基础平台,在此基础上,可以进一步建立符合自己要求的仿真交易市场。通过与市场方针系统进行交易,可以测试算法交易会引起市场参与者什么样的反应,从而检验算法交易的效果,在国内己经有银行及私募投资组合进行这方面的尝试,并取得了较好的效果。笔者团队开发了一个基于高频数据回侧的后验平台,用于D-Alpha系统的历史回测,获得了很好的验证效果。