一,准备工具
matlab,windmatlab量化接口,Internet网络连接。
wind量化接口可以从 大奖章网站——>开放接口——>个人版 处下载,根据提示进行操作,十几分钟内就可以安装成功。
二,模型框架
根据自上而下,逐步细化,模块化设计,结构化编码的编程思想,我们把历史回测系统分成四个模块:选股模块,择时模块,资金管理模块和策略分析模块。各个模块相互独立,各自单独完成选股功能,择时功能,资管功能和策略分析功能。因此本模型具有很好的扩展性,可以在此基础上单独对某一模块算法进行修改,其他模块保持不变,模型就能够稳定运行。
四个模块的输入参数,输出参数和主要算法见下面思维导图。
三,策略举例
下面将以一个简单的策略举例,说明如何实现这样一个历史回测系统。我给这个策略命名叫做value-macd。简单地说,通过基本面选股,技术面择时。选股条件是具有较低的市盈率和市净率,例如选出 0<><20 且=""><><>
根据上述策略的选股和交易条件,我们能够对它的表现作出一些猜测。首先在选股上,这是一个价值型策略,所以在熊市时它能够比较好地抗跌。其次在择时上,它是一个趋势跟踪策略,macd能够帮助它抓住上涨趋势,回避下跌趋势。跟所有的趋势跟踪策略一样,它害怕反复震荡的市场走势。但是由于它的选股条件,决定了策略持有的股票股性相对不活跃,所以,大盘的反复震荡对它的影响可能不会太厉害。综合来看,从理论上说,即使不经过回测,我们也能够预计这个策略能够大概率地跑赢大盘。
四,回测源码
下面是策略回测系统的部分源代码,通过看注释内容相信已经可以非常详尽了解策略的主要方面。完整源码可以联系我们向我们免费索取,暂时不支持商业用途。
选股模块:
择时模块:
仓位管理模块:
策略分析模块:
主模块:
五,回测结果
上图是该策略在20120101至20161201之间的回测数据,从策略净值走势图可以看到,它的收益和风险情况和理论预估比较接近。在熊市行情中能够明显规避风险跑赢大盘,在暴涨的牛市行情中收益会低于大盘,在市场反复震荡情况下会发生较大亏损。但综合来看,从alpha系数和sharpe比率来看,该策略明显优于大盘,五年内跨越牛熊市震荡市,年平均收益率在13%左右,具有一定的参考价值。
六,总结
本文通过利用matlab和wind量化接口搭建了一个历史回测模型,利用该回测模型可以容易地对各种常规的股票交易策略进行历史回测研究,评定策略的绩效,发现策略的风险点。本文只是举了一个简单的例子,事实上,我们建立的是一个相对具有一般性的历史回测模型。你完全可以在我们的例子上,进行简单的修改,设定选股条件,择时算法,和仓位管理方案从而对多种股票交易策略进行历史回测。