【最新研究】基于风险中性的深度学习选股策略

从2018年6月4日起,公众号每发布一篇文章,就为大家分享一张Octodex的创意图。

# 002

今天我们为大家带来最新的研报内容,来自广发证券金工团队《风险中性的深度学习选股策略》。下面让我们来一起学习吧!

风险中性的机器学习选股模型

模型训练通过训练样本,确定模型结构,优化模型参数。

预测输出 Y 的维度:3。

输入特征 X 的维度:156(128个因子+28个行业) 通过网格搜索获取最优的模型结构。

选取模型结构为: 156(输入层)-512-200-200-200-128-3(输出层) 即一共包含5个隐层。

隐层节点数依次为:512(隐层1)、 200(隐层2)、 200(隐层3)、 200(隐层4)、 128(隐层5)。

提高深层神经网络选股性能的主要方法:

1、采用relu等激活函数。 2、将优化目标函数MSE改成交叉熵。 3、Batch normalization技术。 4、Dropout技术。

采用Keras作为机器学习平台:

1、可以选择Tensorflow、CNTK、Theano(目前已经停止更新)作为后端。 2、目前已经支持多GPU。 3、显卡选择:Nvidia GTX Titan XP, GTX 1080Ti, GTX Titan, GTX 1080, GTX1070, GTX 1060。

机器学习多因子选股模型:从股票特征中提取信息,对股票未来的收益进行预 测,选出能够产生超额收益的股票组合。

多因子选股模型:

挑选出未来一期能够产,生超额收益的股票。

↓↓↓

风险中性的多因子选股模型:

挑选出未来一期,在剥离风险因子影响后,能够产生的超额收益的股票。

如何实现上述目标? 针对具体的应用场景,构建适当的机器学习预测模型。

普通的样本标注方法

训练时,根据未来一期的股票涨跌幅来给样本贴“标签”:上涨、下跌、平盘同一时刻,按照涨跌幅进行排序,确定样本的输出标签。

行业中性的样本标注:寻找不同行业内能够跑出超额收益的股票

训练时,根据未来一期的股票涨跌幅来给样本贴“标签”:上涨、下跌、平盘 同一时刻,按照涨跌幅进行排序,确定样本的输出标签。

市值中性的样本标注:寻找不同市值区间内能够跑出超额收益的股票

训练时,根据未来一期的股票涨跌幅来给样本贴“标签”:上涨、下跌、平盘 同一时刻,按照涨跌幅进行排序,确定样本的输出标签。

风险中性的样本标注:更一般的方法

未来一期股票收益率对风险因子做线性回归,获得残差,按残差进行样本标注

策略与实证分析

策略流程

数据预处理

因子标准化:

1、异常值、缺失值处理 2、极值压边界处理 3、沿时间方向的因子标准化 4、沿截面的因子标准化 5、按照机器学习模型来调整因子分布

风险中性的深度学习选股模型的IC

IC的平均值为0.082,标准差为0.108。

深度学习因子与流通市值的相关性:IC序列的相关性

经过行业和市值中性化之后,深度学习因子更少受到市值因子的影响。

深度学习因子与流通市值的相关性:截面相关性

经过行业和市值中性化之后,深度学习因子更少受到流通市值因子的影响。

回测参数设置

  • 调仓周期:10个交易日
  • 股票池:中证500成份股,剔除ST股票,剔除交易日停牌和涨停、跌停的股票
  • 超配组合:调仓时分10档,等权买入深度学习模型打分最高的一档
  • 对冲基准:中证500指数
  • 原始因子数据:估值因子、规模因子、反转因子、流动性因子、波动性因子、技术 指标,共计128个因子,以及28个行业0-1变量
  • 风险因子:行业、流通市值
  • 深度学习模型训练:每半年滚动更新模型,采用最近4年的样本作为训练集
  • 策略回测:2011年1月-2018年4月30日
  • 交易成本:千分之三

普通的深度学习选股策略

2011年以来,年化收益率19.71%,最大回撤 -5.35%,胜率为 69.5%,信息比2.47。

风险中性的深度学习选股策略 2011年以来,年化收益率21.95%,最大回撤 -5.03%,胜率为 74.6%,信息比2.92。

风险中性深度学习选股策略 年化收益率21.95%,最大回撤 -5.03%,胜率为 74.6%,信息比2.92

普通深度学习选股策略 年化收益率19.71%,最大回撤 -5.35%,胜率为 69.5%,信息比2.47

机器学习策略表现的同质性:不同策略的表现有一定的相关性

用普通深度学习模型的IC对风险中性深度学习模型的IC进行回归,R方为0.84。 说明两种策略的表现有较强的相关性。

机器学习策略每期组合的同质性:选取的组合有较大的差异

当组合规模N为50时,两种深度学习选股策略平均每期选到的股票有41.9%重合。(参考:两次独立的随机选股中,平均有10%重合。)

当组合规模N为100时,两种深度学习选股策略平均每期选到的股票有53.3%重合。(参考:两次独立的随机选股中,平均有20%重合。)

总结

  • 将风险因子中性化处理后,可以构建新的深度学习选股模型,该模型受风险 因子的影响较小。
  • 2011年以来,中证500内选股对冲策略年化收益率21.95%,最大回撤 - 5.03%,胜率为 74.6%,信息比2.92。
  • 即使是采用同样的特征和模型结构,风险因子中性化之后,训练的策略也会 有较大的差别,可以通过此方法丰富深度学习选股策略的多样性。

本文旨在对所研究问题的主要关注点进行分析,因此对市场及相 关交易做了一些合理假设,但这样会导致建立的模型以及基于模型所得 出的结论并不能完全准确地刻画现实环境。而且由于分析时采用的相关 数据都是过去的时间序列,因此可能会与未来真实的情况出现偏差。本 文内容并不是适合所有的投资者,客户在制定投资策略时,必须结合自 身的环境和投资理念。

原文发布于微信公众号 - 量化投资与机器学习(ZXL_LHTZ_JQXX)

原文发表时间:2018-06-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

Table-values parameter(TVP)系列之二: 利用DataTable将其作为参数传给SP

一,回顾         上一部分讲述了“在T-SQL中创建和使用TVP”,通过T-SQL建立如下的对象:         1)Tables ...

2069
来自专栏谈补锅

记录C#常用的代码片段

using Newtonsoft.Json; using Newtonsoft.Json.Linq;

922
来自专栏跟着阿笨一起玩NET

C# 通过HttpWebRequest在后台对WebService进行调用

http://www.cnblogs.com/macroxu-1982/archive/2009/12/23/1630415.html

2772
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

23610
来自专栏C# 编程

C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用

//注意:请使用VS2010打开以下的源代码。 //源代码地址:http://pan.baidu.com/s/1j9WVR using System; usi...

2460
来自专栏跟着阿笨一起玩NET

winform treeView 数据绑定

932
来自专栏lgp20151222

Java获取当日的起始时间,结束时间,现在时间,是否在时间段中。

1152
来自专栏互联网开发者交流社区

WinForm之窗体应用程序

1853
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

20410
来自专栏玩转JavaEE

RestTemplate的逆袭之路,从发送请求到负载均衡

上篇文章我们详细的介绍了RestTemplate发送请求的问题,熟悉Spring的小伙伴可能会发现:RestTemplate不就是Spring提供的一个发送请求...

1.1K4

扫码关注云+社区