SVM择时模

支持向量机(SVM)是目前很流行的一个数学方法,主要用于分类与预测。择时本质上是一个预测过程,即利用过去的数据预测未来一段时间大盘是上涨还是下跌。但是市场是非线性的,使得传统的线性预测方法效果不佳。由于 SVM 独特的机制和效果,对非线性预测有非常好的效果,因此利用 SVM 技术来建立择时模型,可以有效地避免传统回归模型的精度和扩展性问题。

模型设计

利用 SVM 技术对股票价格进行预测主要包括训练数据准备、训练参数输入、学习样本输入、模型训练学习、评估训练结果、训练参数优化等一系列循环的过程,(1)在数据准备阶段主要是对预测指标的选定和已有历史数据资料的收集,并确定股票价格影响的输入向量。

(2)训练参数输入阶段的任务主要是确定 SVM 模型的参数 g 和 s (以 RBF 核函数为例)。如果是初次运行,则可以随意地预定义上述两个参数的值;但如果是重复运行多次,这时训练参数优化的步骤便开始起作用。

(3)学习样本输入阶段的任务是将学习样本进行标准化,处理公式为:

xi'=

其中, 为 xi 分量的平均值,s 为 xi 分量的标准差。在完成标准化工作后,将样本集任意地分为训练样本和测试样本,分别用于模型训练和精度检验。

(4)模型训练阶段包括:对输入的训练样本进行训练,得到模型的初始值 a 和 b;然后利用上述算法提取出有效的、相关的数据点重新训练,得到最终的模型。

(5)训练结果评估阶段是对训练得出的模型推广(或称泛化)能力进行验证。所谓推广能力,是指经训练(学习)后的模型对未在训练集中出现的样本(即测试样本集)做出正确反应的能力,通常用平均平方误差(MSE)表示。

如果得出 MSE 结果较小,则说明该评估模型的推广能力强,或泛化能力强,否则就说明其推广能力较差。另外,也可以用平均绝对百分误差(MAPE)来衡量。当然还有很多其他的衡量指标,如误差绝对值的最大值、误差绝对值的平均值等。

择时问题本质上可以看做是一个分类问题,即将未来的走势分类为“涨”、“跌”两大类。SVM 的一大优势就是解决了传统分类方法,如人工神经网络的次优陷阱问题,这使得 SVM 成为最近 10 年来最受关注的数学方法。

实证案例

在本实证中,采用 SVM 方法,首先通过对股指期货标的沪深 300 指数进行预测分析,来对市场短期趋势进行择时判断。笔者提炼出的指标如表 6-6 所示,输出为未来一周是涨还是跌,移动滑窗为每日移动。计算的过程是:

表 5-6  SVM 择时模型的指标

Close/Mean Volume/Mean Return S
收盘价/均值 现量/均量 区间收益率 区间标准差
Max/Mean Min/Mean Price Vol
最高价/均价 最低价/均价 现价 现量