【研报分享】国泰君安证券:基于支持向量机的股票市场择时

支持向量机
标签: #<Tag:0x00007fc07868fc50>

(alma) #1

基于支持向量机的股票市场择时——数量化系列研究之八

本报告导读:

zSVM 模型在单边市的预测准确率最高,在上涨和下跌市均在 70%以上;在震荡市准确率最低为 53%;整体市场的准确率为 61.58%。

摘要:

传统的金融分析和理论中,所采用的决策模型往往都是建立在苛刻的假设条件下的,虽然这些简洁的模型很容易理解和解释,但在精度和解释力度上就往往偏离了实际情况。金融数据挖掘技术的运用从某些意义上
来讲可以突破这些限制,得到更实用更贴近现实的预测结果。

支持向量机作为数据挖掘领域应用于模式识别的新技术,它克服了传统统计模式识别方法存在的样本需求量大、过度学习、局部最小值等问题。

支持向量机(Support Vector Machines, SVM) 是 Vapnik 和他的合作者于1995 年在统计学习理论和结构风险最小化原则基础上提出的,它具备完备的理论基础和出色的学习能力,是借助于最优化方法解决有限样本机
器学习问题的数据挖掘新方法。

SVM 是以训练误差作为优化问题的约束条件,以置信范围值最小化作为优化目标,结构风险最小化原则决定了 SVM 在某些领域的预测能力要优于神经网络等传统学习方法。SVM 利用一些具有特殊性质的核函数,将低维空间中的非线性分类通过内积运算转化为高维空间中的线性分类。目前支持向量机已逐步被应用至金融领域。

股指期货的推出使得我们对大盘方向的判断具有可操作性,我们可以在判断后市涨的时候做多,判断后市跌的时候做空。甚至可以构建基于一定概率的交易策略,通过设计好买卖的点位、止盈止损位,能使概率策略的盈利变为可行。

我们采用 SVM 方法,对股指期货标的沪深 300 指数进行全市场、上涨市、下跌市和震荡市的择时判断。我们所预测的是:沪深 300 指数在下一周的涨或跌,也就是说是个 0 和 1 的选择。

我们构建的基本策略是:建立两个账户,分别是指数账户和 SVM 账户,并分别投资 10000 元。指数账户采取完全复制沪深 300 指数的策略;SVM账户按照预测结果对仓位进行调整,当预测指数上涨时,则复制指数进
行投资,当预测指数下跌时,则空仓操作。

最后测试所得的结论是:1)SVM 在单边市场有着较高的预测精度,在单边上涨和单边下跌市场,其预测精度均在 70%以上。2)利用 SVM 可以有效地规避市场下跌风险。例如在 07 年底、08 年 6 月中和 8 月初,SVM 均提示下跌风险,有效规避了市场的几波大跌。3)在震荡市,利用 SVM 方法进行投资的收益基本和市场一致,但一旦市场的出现较为明显的向下或向上时,SVM 可以较早的给予提示。例如从 10 年 4 月 16日开始,SVM 账户从年初以来的持有状态变为空仓操作,有效规避了大盘的一波猛跌。4)当采用 SVM 出现较为集中的失误时,值得引起我们重视,因为很可能这意味着市场的拐点已到来。

1. 支持向量机模型(SVM)

1.1. SVM 简介
随着数据库技术的成熟和计算机应用的普及,我们身边每周所生成的新数据量正在以指数速度迅速的膨胀着。如何从如此庞大的数据库中删选,加工,挖掘其中的有用知识就将变得尤为重要。传统的金融分析和理论中,所采用的决策模型往往都是建立在苛刻的假设条件下的,形式上就是一些简单的数学公式。虽然这些简洁的模型很容易理解和解释,但在精度和解释力度上就往往偏离了实际情况。金融数据挖掘技术的运用从某些意义上来讲可以突破这些限制,得到更实用更贴近现实的预测结果。

单就股票市场而言,其中的金融规律复杂,影响因素较多。就其影响因素总体而言,影响股市的变化趋势主要包括:一是国家的经济趋势,二是股市中的资金状况,三是股市的市场信心等。最终导致金融变量的取值可能会和很多因素有关,并且其中的相关关系可能是线形的也可能是非线性的。具体到量化模型而言,有些关系是能够用初等函数来表示,而另一些可能没有办法用数学形式来表示。进一步,金融数据中所包含的规律往往时效性非常强。随着时间的推移和环境的变化,金融序列中所蕴含的规律在不断地更迭。举例而言,在熊市中的某些规律往往到了牛市就不再起作用了,传统模型对于金融序列的动态性就束手无策了,而运用数据挖掘技术可以在不断的获得新数据后动态更新以适应新的环境。而支持向量机作为数据挖掘领域应用于模式识别的新技术,它克服了传统的统计模式识别方法存在的以下所列举的缺点,因此其具备良好的机器识别能力。

传统的统计模式识别方法的缺点:
1 传统的统计模式识别方法,只有在样本趋向无穷大时,其性能才有理论的保证。
2 传统的统计模式识别方法,包括 BP 神经网络等,在进行机器学习时,强调经验风险最小化。而单纯的经验风险最小化会产生“过学习问题”,其推广能力较差。
3 传统的统计模式识别方法存在局部极小值的问题。而作为支持向量机的理论基础——统计学习理论,则是小样本统计估计和预测学习的最佳理论。它解决了传统方法存在的以上问题。

1.2. SVM 的核心思想

支持向量机(Support Vector Machines, SVM) 是 Vapnik 和他的合作者于1995 年在统计学习理论和结构风险最小化原则基础上提出的,它具备完备的理论基础和出色的学习能力,是借助于最优化方法解决有限样本机器学习问题的数据挖掘新方法。

区别于神经网络等传统方法以训练误差最小化作为优化目标,SVM 是以训练误差作为优化问题的约束条件,以置信范围值最小化作为优化目标,结构风险最小化原则决定了 SVM 在某些领域的预测能力要优于神经网络等传统学习方法。SVM 利用一些具有特殊性质的核函数,将低维空间中的非线性分类通过内积运算转化为高维空间中的线性分类。

就其核心思想而言,支持向量机是基于 Mercer 核展开定理,通过非线性映射把特征空间映射到 Hilbert 空间,在 Hilbert 空间中用线性学习机方法解决非线性分类和回归问题。

1.3. SVM 的应用价值

目前支持向量机的应用领域较为广泛,已经在生物信息学,计算机识别、大气污染预报、石油勘探、工业制造等领域都取得了成功的应用。与此同时,该方法也已经逐步被应用至金融领域,它在金融领域同样有着很高应用价值。

2004 年 Paiand 和 Lin 运用了 SVM 方法,对美国股票市场上的大盘股的走势进行了预测,其预测结果显示表明该模型有着很好的预测效果。2007 年刘丽霞等运用 SVM 方法对纽约商品交易市场的两种石油期货价格数据进行预测,研究结果表明该方法有着较高的拟合和预测精度,而且明显优于神经网络的预测模型。国内外文献研究表明,支持向量机方法在金融市场也有着很高的运用价值和运用前景。

2. 基于支持向量机的股票市场择时

股指期货的推出使得我们对大盘方向的判断具有可操作性,我们可以在判断后市涨的时候做多,判断后市跌的时候做空。甚至可以构建基于一定概率的交易策略,比如在以前,55%的择时准确率(这是很多模型都能达到的概率)可能还不足以产生利润,甚至在某些时候因为几笔重大失利导致亏损。股指期货推出后,通过设计好买卖的点位、止盈止损位,能使概率策略的盈利变为可行。

因此我们采用 SVM 方法,首先对股指期货标的沪深 300 指数进行预测分析,来对市场较长时期进行择时判断,同时我们选择几段市场:单边上涨、单边下跌和震荡市来进行分类预测。我们预测的是沪深 300 指数在下一周的涨跌,也就是说是个 0 和 1 的选择。选择的指标主要有以下几个。

2.1. 整体市场择时

我们选取一段包含有上升、下跌、震荡过程的市场阶段来考察 SVM 的有效性。采用的样本数据是 2006 年 2 月 24 日到 2010 年 5 月 21 日的周数据,样本数量为 210 周;其中训练样本滑窗长度为 20 周。

我们利用预测结果进行模拟操作,在 2006 年 8 月 18 日分别建立两个账户,分别是指数账户和 SVM 账户,并分别投资 10000 元。指数账户采取完全复制沪深 300 指数的策略;SVM 账户按照预测结果对仓位进行调整,当预测指数上涨时,则复制指数进行投资,当预测指数下跌时,则空仓操作。

SVM 账户最后的资金是指数账户的 2.5 倍,年化收益率是指数的 2.5 倍,年化波动率仅为指数的 3/5,夏普比率是指数的 4.4 倍。SVM 的预测正确率为 61.58%。这一结果表明采用 SVM 对于预测大盘走势,存在一定
的价值。


2.2. 分阶段市场择时

2.2.1. 上涨市

我们选取一段典型的单边上涨市。采用的样本数据是 2006 年 3 月 24 日到 2007 年 10 月 12 日的周数据,样本数量为 77;其中训练样本滑窗长度为 20。

我们利用预测结果进行模拟操作,在 2006 年 8 月 18 日分别建立两个账户,分别是指数账户和 SVM 账户,并分别投资 10000 元。指数账户采取完全复制沪深 300 指数的策略;SVM 账户按照预测结果对仓位进行调整,当预测指数上涨时,则复制指数进行投资,当预测指数下跌时,则空仓操作。

虽然在这段市场,SVM 账户没有跑赢市场,最后收益率为指数账户的80%左右,年化波动率也仅微弱地小于指数,但在整个单边上涨市,SVM预测的准确率达到了 73.68%,比市场全过程高,这表明在上涨市 SVM
具有较高的参考价值。


2.2.2. 下跌市

我们选取一段典型的单边下跌市。采用的样本数据是 2007 年 10 月 19日到 2008 年 10 月 31 日的周数据,样本数量为 54 周,其中训练样本滑窗长度为 20 周。

我们利用预测结果进行模拟操作,在 2008 年 3 月 7 日分别建立两个账户,分别是指数账户和 SVM 账户,并分别投资 10000 元。指数账户采取完全复制沪深 300 指数的策略;SVM 账户按照预测结果对仓位进行调整,当预测指数上涨时,则复制指数进行投资,当预测指数下跌时,则空仓操作。

在整个下跌市,SVM 取得了不错的业绩。SVM 账户的跌幅仅为指数的40%不到,年化波动率仅为指数的44%,预测准确率达 72.73%。这表明 SVM 在单边下跌市也具有较高的参考价值。并且 SVM 在 07 年底、
08 年 6 月中和 8 月初果断空仓,有效规避了两轮市场下跌。

6

2.2.3. 震荡市

我们选取一段震荡市。采用的样本数据是 2009 年 8 月 7 日到 2010 年 4 月 30 日的周数据,样本数量为 38 周;其中训练样本滑窗长度为 20 周。我们利用预测结果进行模拟操作,2009 年 12 月 25 日分别建立两个账户,分别是指数账户和 SVM 账户,并分别投资 10000 元。指数账户采取完全复制沪深 300 指数的策略;SVM 账户按照预测结果对仓位进行调整,当预测指数上涨时,则复制指数进行投资,当预测指数下跌时,则空仓操作。

在震荡市中,SVM 预测的准确性下降了很多,仅为 52.94%,远低于单边市。在 09 年末至 10 年的 4 月初,SVM 账户与指数走势基本一致,也就是说在这段时期,SVM 账户一直是满仓操作的。然而在 10 年 4 月
16 日以后,SVM 账户一直是空仓操作,有效规避了大盘的一波猛跌,这让我们感到一丝欣慰,SVM 的抗风险能力再一次得到了验证。最后SVM 账户仅跌了 0.2%,而指数下跌了 10%。


2.3. SVM 总结

1 SVM 在单边市场有着较高的预测精度,在单边上涨和单边下跌市场,其预测精度均在 70%以上。

2 利用 SVM 可以在市场下跌时有效地规避市场下跌风险。例如在 07年底和 08 年初,SVM 提前预示了市场将大幅大跌的风险,在 07年 11 月份采取了空仓的操作,从而有效规避了 08 年市场大幅下跌。另外,SVM 在 08 年 6 月中和 8 月初也果断空仓,有效规避了两轮市场下跌。

3 在震荡市,利用 SVM 方法进行投资的收益基本和市场一致,但是一旦市场的出现较为明显的向下或向上时,SVM 可以较早的给予
提示。例如在 10 年 4 月 16 日以后,SVM 账户从年初以来的持有状态变为空仓操作,有效规避了大盘的一波猛跌。

4 当采用 SVM 出现较为集中的失误时,值得引起我们重视,因为很可能这意味着市场的拐点已到来。

作者:国泰君安证券金工团队