机器学习该如何应用到量化投资系列(二)

发表于:2017-06-5 11:21:57

《基于 MT-SVM 模型的市场预测》

由于 A 股市场并非完全有效以及市场具有的分形特征和记忆性,从理论上来说对股票市场一段时间内的市场趋势所发生的概率进行预测成为可能。
我们构建了 MT-SVM 预测模型来对市场涨跌方向进行预测。 预测模型的参数主要用到宏观经济变量、 技术指标变量以及市场价格涨跌波动的数据;预测方法以支持向量机为主并结合统计和其他数量化技术;模型以 1998 年以来近 13 年的时间作为全部的考察、训练、预测和模拟样本,并对 2002 年以来近 9 年的每月市场涨跌进行了滚动预测模拟和实证检验。

从 2002 年至今, 所预测的 103 个历史月份中, 共预测错误 34 个月份,预测准确率为 67%;忽略掉单月涨跌在 2%以内震荡市的错误预测之后,整体预测准确率可以达到 73.79%,尤其是 2006 年以来的累计预测准确率实现 80%。 2005 年以前模型的预测准确率较低,2006 年、 2007 年以及 2009 年每年都只有 2 个月份预测错误。

以预测模型为实际投资操作依据, 以上证指数作为虚拟投资标的,简单的假定预测下月上涨则买入并满仓, 预测下跌则卖出并空仓。2002 年至今模拟投资操作累计收益率 416.44%,远远高于同期上证指数 60.24%的收益率。 8 年多的时间内,总计交易 21 次。分阶段来看, 以预测模型为参考的模拟投资收益率也均远优于市场收益率。

MT-SVM 模型对 8 月份上证指数预测结果: 下跌。 需要注意的是,未来市场的预测准确率可能会因前期较高的准确性而出现一定折扣, 尤其近期遇到市场震荡反弹的格局,模型预测的困难可能会更大。

预测模型的适用范围: 股票市场择时、趋势跟踪、机构投资者股票仓位管理; 指数化投资以及基金投资;股指期货套期保值的择时决策,股指期货的单边投资决策。

模型存在的问题: 目前模型还不能预测涨跌的幅度; 模型预测的时间跨度仅以月为单位; 模型对市场震荡阶段以及市场拐点预测效果较差; 存在接近 30%的错误率会影响投资的最终效果,因此模型的实际运用也应当与投资的实际决策过程相结合。

《基于 SVM 的量化择时方法》

量化投资领域中,一个好的选股策略是比较容易实现的, 但择时就不是那么简单。 一般来说量化择时的解决思路会集中于两大类:技术派和基本面派。技术派与基本面派都有自己的理论弱点,从判断正确的概率来看,这两种方法长期胜率一般难以超过70%,并可能在一些决策关键时点难以信赖。
支持向量机(简称SVM) 是一种基于统计学习理论的模式识别方法,现在已经在生物信息学、 文本和手写识别等应用领域取得了成功。SVM能非常成功地处理分类、 判别分析等问题,并可推广到预测与综合评价领域。它的核心思想可以概括为:寻找一个最优分类超平面,使得训练样本中的两类样本点尽量被无错误的分开,并且要使两类的分类间隔最大。

我们利用 SVM 模型来判断大盘的涨跌。 普通的 SVM 模型中输入变量只有股市本身运行的参数,因此更像是一种技术派做法。我们设计的模型结合了技术派与基本面派的特点,主要是在模型的输入变量中考虑到了经济数据与股市本身的参数。为了便于整理变量,我们将输入变量分为四个大类,分别是市场前期走势、货币环境、经济指标、外围环境等。 模型运行的时间为 2000 年 1 月至 2010 年 7 月,训练时间为 24 个月, 样本外推预测期是从 2002 年 1 月至 2010 年 7 月。

从实证结果来看, SVM 模型确实是一种不错的择时模型。模型在最近的 104 个月当中取得了 64%的判别胜率,并且模拟投资上证指数的策略累计收益率达到 375%。 模型在 06 年之后的表现要大大好于 06年之前, 06 年之后单月判别的胜率都在 67%以上。模型的缺点在于对震荡市和下跌市场的预测能力较差,并且交易信号较为频繁。而修正后的 SVM 模型的交易信号能够显著减少。 而随着经济数据量、指数系列的丰富以及二次择时模型的开发,未来我们的 SVM 模型还有进一步改进的可能。

《机器学习法选股》

输入:因子值
输出:股票的表现
学习目标:输入和输出之间的对应关系

AdaBoost算法

选股模型可以表述为一个二元的分类问题:做多预期表现好的股票组合,做空预期表现差的股票组合
模型的输出为信心指数,指数越高,表明预期表现越好,反之亦然。

基于机器学习的订单簿高频交易策略

•  机器学习是订单簿动态建模的前沿方法
订单簿的动态建模,主要有两种方法,一种是经典的计量经济学方法,另一种是前沿的机器学习方法。机器学习通过对己知数据的学习,找到数据内在的相互依赖关系,从而对未知数据进行预测和判断,最终使得机器具有良好的推广能力。 支持向量机(SVM,Support Vector Machine)是目前较为先进的机器学习方法。
•  可以从订单簿提炼指标库来刻画其特征
订单簿主要包括买一价、卖一价、买一量、卖一量等基础指标, 并可以衍生出深度、斜率、 相对价差等指标, 其他指标包括持仓量、成交量、基差等, 共计17个指标。 还可以引入常见的技术分析指标如RSI、 KDJ、MA、 EMA等。

• IF主力合约订单簿每天存在4000次交易机会

以IF1311合约在10月29日的行情数据为例, Δt=2tick的情况下, ΔP绝对值大于等于0.4的次数大约有4000次,这是潜在的交易机会。
•  模型检验准确率最高达70%
预测未来1tick的价格变化准确率较高,在ΔP≥ 0.4情况下,总体准确率大概70%; 在总体准确率大于60%的情况下,可以转化为交易策略。

•  策略模拟收益
以IF1311合约在10月31日的行情为例, 在考虑手续费0.26/10000、 单边滑点0.2点、每次交易1手情况下, 全天交易次数605次,盈利次数339次,胜率56%,净利润11814.99元。

《深度学习之股指期货日内交易策略》

• 深度学习高频股价预测模型
从市场微观结构的角度来说,股票价格的形成和变化是由买卖双方的交易行为决定的, 因此, 对高频市场行情数据的挖掘有可能获得对未来股票价格走势的有预测能力的模式。本报告通过样本内大量历史数据训练深度学习预测模型,对 1 秒钟高频下的股指期货价格涨跌进行预测。该预测模型的样本外的准确率超过73%,表现不俗。

• 深度学习股指期货交易策略
基于深度学习股价预测模型对股票价格变化的预测,本报告提出了股指期货的日内交易策略。 该交易策略自 2013 年以来累积收益率达 99.6%,年化收益率为 77.6%, 最大回撤为-5.86%。

• 结论
通过股指期货高频价格预测模型的实证研究, 本报告验证了深度学习这一大数据时代的机器学习利器在股票价格预测上的有效性。 并基于预测模型提出了股指期货交易策略,取得了良好的效果。

《深度学习算法掘金 ALPHA 因子》

  金融大数据下的 Alpha 因子挖掘
多因子 Alpha 策略是发掘出驱动个股产生 Alpha 收益的因子,根据有效的 Alpha 因子设计相应的选股策略,筛选投资的股票组合,以寻找超越市场的股票超额收益。 为了获取新的 Alpha 来源, 我们一方面可以对传统因子进行更加深入的挖掘, 例如挖掘因子的非线性特征, 寻找有效的因子组合。 另一方面,我们可以利用更加高效的数据挖掘手段从市场数据中间寻找新的 Alpha 因子。 随着大数据时代的来临, 数据挖掘的方法不断革新改进, 浩如烟海的市场数据为 Alpha 的来源提供了巨大的可能性。
• 深度学习股价预测模型
从市场微观结构的角度来说,股票价格的形成和变化是由买卖双方的交易行为决定的, 因此, 对高频市场行情数据的挖掘有可能获得对未来股票价格走势的有预测能力的模式。本报告通过样本内大量历史数据训练深度学习预测模型,对以周为频率的中证 800 股票价格涨跌进行预测,建立起了可以对股价短期内走势进行预测的机器学习模型。

•  深度学习股票多因子交易策略
基于深度学习股价预测模型对股票价格变化的预测得分,本报告提出了股票交易的 Alpha 策略。 在组合规模为 100 的情况下, 该多因子 Alpha策略自 2011 年以来累积收益率超过 120%, 各年度收益率都超过 15%。

•  结论
通过中证 800 成份股的实证研究, 本报告验证了深度学习这一大数据时代的机器学习利器在股票价格预测上的有效性。 通过深度学习模型对市场数据进行挖掘,获得了可以产生超额收益的因子, 该因子的表现超越了传统的 Alpha 因子。

《量化投资策略之机器学习应用( 1)基于 SVM 模型的期货择时交易策略》

SVM 属于监督学习算法, 对于求解小样本、 非线性、 高维度问题具有优秀的泛化学习能力,而择时交易策略则属于利用 SVM解决二元分类问题。构建 SVM 模型的过程可以简要概括为寻求支持向量与超平面函数间隔的最大化,从而优化求解模型参数。SVM 在求解非线性问题时使用核函数将数据映射到高维空间,以寻求超平面进行分类,同时在低维空间进行内积运算。
SVM 择时策略模型对数据进行归一化和降维处理, 然后选取粒子群算法和遗传算法进行参数优化。将带有涨跌标签的普通量价数据和技术指标作为训练集数据源,将 SVM 模型训练成一个可以预测涨跌的分类器。

回测结果显示 SVM 择时策略模型预测准确率超过 50%,并且对下跌趋势的预判能力较高。模型具有良好的累计授予率与夏普比率,其中技术指标类特征量得出策略模型最大回撤控制在 10%以内。

《Adaboost 算法下的多因子选股》

•  Adaboost 算法
Adaboost 是一种迭代算法,其核心思想是针对同一个训练集训练不同的弱分类器,尤其是对难以正确分类的数据重复进行训练,然后把这些弱分类器集合起来,构成一个更强的强分类器。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来调整每个样本的权值,这样使得难以正确分类的数据得到训练。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
•  选股实证
由 Adaboost 算法得到的强势组合能够跑赢市场,且强势组合,市场指数,弱势组合之间的较为明显的净值差别,算法所构造的组合具有明显的区分度,类似我们也发现所有十档组合之间都有一定程度间隔,说明算法具有有效性。对比 Adaboost 方法的结果,回归方法产生的组合从净值数据上不管是强势组还是弱势组都是优于 Adaboost 算法的。由回归方法与 Adaboost 算法的净值比图来看,虽然两种方法在回测期截止净值相同,但回归方法产生的组合最高净值更高。当然,可以发现的是,回归法的波动明显比 Adaboost 算法大,尤其有市场振荡时期。基于 Adaboost 算法的多因子模型在组合净值的波动率水平上仍有亮点。

•  Adaboost 因子与传统因子
从净值曲线上看,考虑了因子大类后的算法选股组合的区分度更高。强势组合与弱势组合的净值差异明显组合相对 HS300 指数的超额收益净值曲线相对平稳,最大回撤发生在 2014 年12 月,最大回撤为 9%,而在此之前,超额收益的最大回撤为 5%左右。从月超额收益上看,组合的月胜率超过 50%,达到了 56%,整体效果良好。而对比弱势组合的超额收益,多空策略的净值波动更大,主要的回撤同样发生在 2014 年底,但策略的胜率仍保持 50%以上,达到 58%。

利用机器学习实现组合优化

•  用机器学习对股票收益分类
本报告以机器学习中的 SVM(支持向量机)为例,以中证 800 为基准,实现了对给定股票池的收益分类预测。 通过逐步削去法,得到五因子组合构成的“ SVM收益分类器”,输入每年因子截面数据,在超平面上对未来一年的股票收益分类跑赢/跑输进行预测。根据 2009 年至 2015 年的回测结果,平均年胜率为 55%。

•  用机器学习对股票波动分类

用类似的方法,同样用 SVM 作为分类器,以全 A 股票年波动率中位数为基准,实现了对给定股票池的波动分类预测。通过逐步削去法,得到十因子组合构成的“ SVM 波动分类器”,输入每年因子截面数据,在超平面上对未来一年的股票波动高/低进行预测。根据 2009 年至 2015 年的回测结果,平均年胜率超过61%,并且达到了降低投资组合波动率的目的。

•  深究因子组合
机器学习可以帮助我们综合、归纳;可以帮助我们处理非线性因子;但无法代替人推理实证,无法保证模型的可靠性。作为事例,本报告加入单因子分析,给出了进一步构建五因子模型的可能解决办法之一,通过五个因子打分形式,共同构建“成长 40 组合”,在 2009 年至 2015 年间,成长 40 组合年化收益率超过 36%,而同期全 A 等权的年化收益不足 14%。

《SVM 算法选股以及 Adaboost 增强》

•  支持向量机算法
支持向量机的最大特点是改变了传统的经验风险最小化原则,而是针对结构风险最小化原则提出的,因此具有很好的泛化能力。同时,支持向量机在处理非线性问题时,通过将非线性问题转化为高维空间的线性问题,利用核函数替代高维空间中的内积运算,从而巧妙的解决了复杂计算问题,并且有效的克服了维数灾难以及局部极小问题。在不考虑非线性分类的情况下, 12 个月的样本数据滚动回测结果显示出较好的分类效果。强势组合能够显著的跑赢弱势组合。

• Adaboost-SVM 组合算法
从 Adaboost 的角度出发,我们认为利用 Adaboost 对于每个月的数据的 SVM分类算法进行增强,可以有效的提高 SVM 分类的效果。从线性 SVM 分类结果来看,利用 12 层数据的 Adaboost 组合相比单月 SVM 效果显著增强,多空组合收益能够明显的区分开。 但对比前述的传统 SVM 方法,其多空策略的净值收益并没有显著增加,传统的 SVM 模型整体优于 Adaboost算法下的 SVM 分类。

• 非线性分类
在前一篇报告中我们对于非线性分类的处理主要通过对因子的多档概率统计完成,也具有显著的效果。为了使 SVM 模型与之更具有可比性,我们考虑 SVM的非线性模型。将非线性因素考虑进来之后,模型的超额收益显著高于无 SVM 的 Adaboost 算法。多空组合的区分度明显, 5 年的胜率在 58%的水平。 效果的增强,除了证明我们之前的猜想:弱分类器的选择可能增加 Adaboost 算法的效果之外,也从侧面反映了多因子模型中,因子与收益间的非线性关系。从结果上看, Adaboost 的效果仍然不如单独的 SVM 算法效果,理论上考虑,Adaboost 的增强效果是需要建立在弱分类器的基础上的。 SVM 算法本身的显著分类可能对 Adaboost 算法造成影响。因此,对比概率统计的 Adaboost 分类,Adaboost-SVM 具有显著的提高, 但更优的分类方法是非线性的 SVM 分类。

《基于机器学习的牛股精选》

决策树是通过一系列规则对数据进行分类的预测模型。它提供一种在什么条件下会得到什么值的类似规则的方法,相比神经网络、支持向量机等方法,其优点在于它是易于理解的“白箱”模型,可理解性更高。

决策树模型机器学习使得多个技术指标的综合运用成为可能。相比线性模型,决策树算法在处理非线性解释变量时,其表现要优于线性模型。

本文通过机器学习的方法构建了选股策略。以中证500指数为对冲标的,从2011年1月至2015年12月,组合累计超额收益为165%,年化收益可达21%,信息比率2.11,最大回撤9.33%,发生于2015年8月下旬。l组合在各年份的收益率及信息比都比较稳定。基于机器学习策略在算法上和逻辑上与传统的多因子模型的区别,模型在一定程度上提供了较好的互补性,提高了收益的稳定性。

本文来源:admin

上一篇:

下一篇: