在本实证中,采用SVM方法,首先通过对股指期货标的护深300指数进行预测分析,来对市场短期趋势进行择时判断。
最传统的择时方法是技术指标,考虑市场行为的各个方面,建立一个数学模型,给出数学上的计算公式,得到一个体现股票市场的某个方面内在实质的数字,该值就可以指导实际的投资。指标可以分为“大势型”、“超买超卖型”、“趋势型”、“能量型”、“成交量型”、“均线型”、“图表型”、“选股型”、“路径型”、“停损型”等类别。
研究这些技术指标的特点,可以发现大部分指标是用来描述市场价和量的关系的。如均线系统,比较的是不同周期的均线的关系,KDJ指标比较的是最高价、最低价与当前价格的关系,布林线是比较当前价格与历史价格波动区间的关系。因此不难得到启示,提炼技术指标用于计算的基本要素,然后把这些基本要素作为SVM的输入向量。笔者提炼出的指标如表3-15所示。
表3-15 SVM择时模型的指标
SVM解决的是分类问题,而对于股市来说,如何分类也是一个非常复杂的问题。如果简单地把未来的涨跌作为分类的标准,就会把微小的涨幅和微小的跌幅也放入投资的策略中,可能收益都无法覆盖冲击成本和交易成本。以预测未来一周的市场状况为例,一周的市场状况可能是:持续上涨;持续下跌;先涨后跌;先跌后涨;平稳震荡。虽然从图形上看,这些状态可以大概做个分类,但是从图形的数学识别来说,很难定义这些类别。因此分类还需要简化,但又要从实际利于投资的角度来进行分类。笔者把分类定义为上涨和下跌。
综上所述,SVM模型的输入为过去3周表3-11所示的指标,输出为未来一周是涨还是跌,移动滑窗为每日移动。
计算的过程是:
(1)计算每日8个输入指标。
(2)当前日期为T日,样本期为T-200到T-1日,找到样本内最优的SVM模型的参数。
(3)利用T日的输入指标预测输出指标。
(4)如果预侧分类为1,则在市场行情低于T日收盘价时买入,如果涨幅超过2%则卖出,否则到T+5日平仓。反之,做空也可以。如表3-16所示是SVM模型的样本外预测的多空方向和真实情况的对比。但是该表并不能代表真正的预测准确率,表3-17才表明在真实情况为多和空的方向上,预测值正确和错误的概率。
表3-17 SVM模型样本外预测多空次数
表3-17 SVM模型样本外预测准确率
从表3-16和表3-17中看出,SVM模型对多的方向的预测效果好于对空的方向的预测。这与我们日常感觉也是比较一致的。如果根据这个结果得出我们只做多不做空的策略,那就存在过拟合的风险。但是可以通过策略的止损和止盈来保证趋势交易策略有比较稳定的收益率曲线。
如图3-23所示的就是根据SVM模型的预测结果,对沪深300指数进行多空操作的收益率曲线。时间为从2005年11月15日到2011年5月3日,交易周期为一周,采用被动挂单的方式,等待价格到达合适的位置,止盈为2%,止损为浮亏超过2%。如果没有触及止盈和止损线,则以最后时刻平仓。7年的时间净值从1增长到4.77,策略的夏普率也很稳定,具体的评估参数如表3-18所示。
图3-23 SVM模型趋势交易策略收益率曲线
表3-18 SVM核型趋势交易策略评估
从表3-18中可以看出,SVM的择时交易策略能够稳定地获取绝对收益,并且每年的夏普率都保持在较高的水平。下面将2005-2011年的数据区分为上涨市和下跌市,比较在不同的市场下SVM模型的择时策略的效果。
1、上涨市
我们将2005——2011年的数据人为地划分为上涨和下跌两种状态,选取2005年11月10日到2007年10月16日、2008年10月28日到2009年8月4日两个时间段为上涨周期,同样用上面的思路进行策略验证。如图3-24所示是上涨周期中SVM策略的收益率曲线。
图3-24 上涨周期SVM模型趋势交易策略收益率曲线
在这段市场,SVM模型策略的收益率为指数的142%。从图上看整体,虽然策略远远跑输沪深300指数,但是收益率曲线波动也比较小。
2、下跌市
选取2007年10月17日到2008年10月27日、2009年8月5日到2011年5月3日两个时间段为下跌周期,同样用上面的思路进行策略验证。如图3-25所示是下跌周期中SVM策略的收益率曲线。
图3-25 下跌周期SVM模型趋势交易策略收益率曲线
在下跌周期中,SVM模型策略的收益率为指数的96%,但是由于模型对下跌周期的预测准确率较高,在单边下跌市场中,该策略存在很长时间不赚钱的情况,也有比较大的回撤。而同期市场下跌惨烈,累积幅度达到80%以上。
小结
择时模型从理论上可以看做是一个分类问题,即将未来市场的走势分为“涨”、“跌”两大类,因此传统的各种分类理论和技术均可用于解决该问题,如决策树理论、贝叶斯分析法、关联规则法、神经网络法等。但是分类问题一个最大的问题就是分类模型在样本外的推广,即在样本内数据训练学习出来的分类策略在样本外往往不能获得较好的结果。
SVM作为最近10年很受关注的一个数学理论,在分类问题上得到了广泛的应用,如语音识别、生物特征识别等。当然,最新的研究自然也会用在金融市场,尤其是用于择时分析。
本节给出的案例中显示,SVM在单边市场有着较高的预测精度,在单边上涨和单边下跌市场,其预测精度均在50%以上,对于上涨周期的预测精度达到了70%以上。
利用SVM进行投资,特别要注意当SVM出现较为集中的失误时,需要引起重视,因为这很可能意味着市场的拐点已经到来。本书中仅对市场的短期趋势做了预测,也就是以周为投资周期,SVM模型同样可以适用于高频的行情预测及市场长期趋势预测中。但是对于高频行情数据来说,SVM模型复杂的参数优化过程要求更快的计算速度,而对于长期趋势的预测,一个错判就会导致比较大的损失。因此,笔者认为SVM模型适宜的投资周期为日间的短期趋势。
该模型在牛市中虽然不能跑赢指数,却能够在不同的市场中获得高夏普率的稳定收益率。由于模型是滚动优化参数的,需要每日操作之前对模型参数重新进行优化,才能得到更好的效果。