在对股价真实反转点定义和技术指标反转点定义以后,抽取出真实反转点和技术指标反转点判断向量,使用SVM进行训练和测试。使用SVM进行训练和测试前的准备工作主要包括选择合适的核函数和得到适合样本的最优核函数参数。
1)核函数选择
在支持向量机中,需要选择核函数K(·,·),即一个映射Φ(g),把x所在的输入空间X映射到另外一个空间H,该映射只要是满足Mercer条件的正定函数即可。
核函数主要有以下3种类型:
由于RBF核函数具有良好的性态,在实际应用中表现出了良好的性能,所以这里使用RBF核函数。
2)交叉验证选择核函数参数
这里使用的RBF核函数有两个参数:C和γ,使用V-折交叉验证的方法,对训练集上的数据进行训练,从而找到最佳的参数对。
V-折交叉验证的思想是:把n个训练样本随机地分成v个互补相交的子集,即S1,S2,…Sv,每折的大小相同,然后进行v次训练预测试,即对Si,进行v次迭代。第i次迭代的具体做法是:选择Si为测试集,其余v-1个集合的并为训练集,对这两个部分的样本集进行训练和测试,得到预测准确率。经过v次迭代,就能够得到v次迭代的平均准确率。
而对于不同的(C,γ)参数对,这里使用网格搜索的方法寻找具有最佳交叉验证平均正确率的参数对。在进行网格搜索时,可选的C和γ参数值是一个指数倍增长的序列,使用每个(C, γ)参数对在训练集上进行交叉验证后,可以得到一个最高平均准确率的参数对(C, γ),再便用这个参数对在测试集上进行测试。