14.2 简单均线系统的MATLAB实现

14.2 简单均线系统的MATLAB实现

这里给出一个简单的均线系统使用MATLAB进行回测的展示,一窥使用MATLAB进行回测的大体步骤。

交易策略:5日均线上穿20日均线做多(买入,若有空头仓位先平掉空头再建多头),5日均线下破20日均线做空(卖出,若有多头仓位先平掉多头再建空头),上穿定义为:MA5t>MA5t-1&MA5t>MA20t&MA5t-1>MA20t-l&MA5t-2MA20t。其中MA5表示5日均线,MA20表示20日均线,MA5t-1&MA5t表示5日均线在拉升;MA5t>MA20t&MA5t-1>MA20t-l表示5日均线己经位于20日均线之上井且得到确认MA5t-2≦MA20t-2表示5日均线上穿20日均线是一个动作,5日均线由20日均线下面拉升到20日均线上面。类似的,可以得到下破定义为:MA5t<MA5t-1&MA5t<MA20t&MA5t-1<MA20t-1&MA5t-2 ≧MA20t

该策略暂没考虑交易成本、冲击成本等影响。

测试数据:股指主力连续数据IF8882011年全年日收盘数据。

MATLAB代码(MatlabTradingDemo.m)如下:

最终回测结果如图14-2和图14-3所示。

从上面简单均线系统的MATLAB回测展示可以看出,一个完整的交易系统回测需要生成相应的交易信号, 进而计算相应的资金流和仓位记录,最后给出相应的图形展示。