基于DNN模型的智能选股策略
1、DNN原理介绍
1.1 神经元
1.2 DNN
1.3 反向传播
2、实例:DNN模型选股
2.1 策略步骤和模型参数
2.2 回测结果
1. DNN原理介绍
1.1 神经元
神经网络的每个单元结构如下:
![](/assets/blank.gif)
图1.神经元结构
其对应公式如下:
hW,b(x)=f(WTx)=f(∑i=13wixi+b)h_{W,b}(x)=f(W^Tx)=f(\sum_{i=1}^3w_ix_i+b)hW,b(x)=f(WTx)=f(i=1∑3wixi+b)
这相当于进行了两步:
- 先计算各项输入的加权和:∑=w1x1+w2x2+w3x3+b\sum=w_1x_1+w_2x_2+w_3x_3+b∑=w1x1+w2x2+w3x3+b
- 然后使用激活函数,将和作为输入计算得到输出结果:a=f(∑)a=f(\sum)a=f(∑), f即为激活函数.
神经网络中常用到的激活函数如下表所示:
![](/assets/blank.gif)
表1.激活函数特点对比表1.激活函数特点对比表1.激活函数特点对比
上述激活函数的函数图形如下图所示:
![](/assets/blank.gif)
图2. 激活函数图像
1.2 DNN
DNN是一个包含输入层,输出层和多个隐藏层的神经网络结构,每一层又包含多个1.1中所述的神经元。其基本结构如下图所示:
![](/assets/blank.gif)
图3.DNN网络结构图3. DNN网络结构图3.DNN网络结构
如上图所示,黄色方块标记的为输入层,最后的y为输出层,中间各种颜色的圆形层为其隐藏层,DNN中的层与层之间是属于完全连接的结构,即任意层的神经元与它相邻层的所有神经元都是相互连接的。(这是DNN与CNN的主要区别,DNN是全连接的而CNN的局部连接的,如果对CNN感兴趣,可以前往平台的另一篇专题研究:【专题研究】基于一维CNN模型的智能选股策略)
1.3 反向传播
反向传播算法在 【专题研究】基于一维CNN模型的智能选股策略 中也有介绍,一句话简单概括就是: 前向传递输入信号直至输出产生误差,反向传播误差信息更新权重矩阵。
DNN往往含有多个隐藏层,这里我们看一个带隐藏层的神经网络示意图:
![](/assets/blank.gif)
图4. 反向传播示意图
其中小女孩代表隐藏层节点,小黄帽代表输出层节点,小女孩左侧接受输入信号,经过隐层节点产生输出结果,小蓝猫代表了误差,指导参数往更优的方向调整。由于小蓝猫可以直接将误差反馈给小黄帽,所以与小黄帽直接相连的左侧参数矩阵可以直接通过误差进行参数优化(实纵线);而与小女孩直接相连的左侧参数矩阵由于不能得到小蓝猫的直接反馈而不能直接被优化(虚棕线)。但由于反向传播算法使得小蓝猫的反馈可以被传递到小女孩那进而产生间接误差,所以与小女孩直接相连的左侧权重矩阵可以通过间接误差得到权重更新,迭代几轮,误差会降低到最小。
反向传播主要由梯度下降+链式求导法则来实现,具体数学公式可以参考:机器学习:一步步教你理解反向传播方法。
2. 实例:DNN模型选股
2.1 策略步骤和模型参数
![](/assets/blank.gif)
图5. DNN选股策略步骤
如图所示,DNN模型选股实例中包含下列步骤:
数据获取:A股所有股票,2010-2015年数据用作训练,2016-2019年数据用作测试
特征提取:选择了7个因子进行计算作为特征
数据标注:计算未来5日的收益作为标注
数据处理:进行缺失值处理;去掉特征异常的股票,比如某个特征值高于99.5%或低于0.5%的;标准化处理,去除特征量纲/数量级差异的影响。
窗口滚动:窗口大小为1
建立模型:建立一个简单的两个全连接层两个dropout层的DNN网络
训练和测试:分别用训练集数据和测试集数据对模型进行训练和测试。
模型评价:进行策略回测并根据回测结果对模型进行评价。
DNN模型参数如下:
输入层:选用了7个因子,窗口大小为1,因此输入层形状为一维,大小为7
全连接层:共有3个全连接层。前两个为隐藏层,输出空间维度分别为256和128,这个数字可以根据需要进行改动,数字越大,模型越复杂。根据表1,这里选择relu激活函数。权重使用glorot_uniform初始化方法,偏置向量使用Zeros初始化方法。最后一个全连接层为输出层,因此选择linear激活函数,输出维度为1,其他设置不变。
dropout层:dropout将在训练过程中每次更新参数时,按一定概率(即rate参数)随机断开输入神经元,用于防止过拟合。这里rate参数设为0.1。
训练次数率 :epochs值为5,共训练5轮,以mse作为评估指标
2.2 回测结果
模型回测结果如下所示:
图7.回测结果图7.回测结果图7.回测结果
从图中可以看到,相比于基准收益,DNN模型有着非常突出的表现。所以,我们认为将DNN深度神经网络应用于资本市场因子选股是很有前景的。在本次的策略中,我们提取了7个因子,构建了两层的DNN模型,因子的选择提取,模型的深度和具体的模型参数都还有很大的调整空间,欢迎大家继续尝试探索。
2.3 克隆策略
csdn无法克隆策略,若有需要请前往社区克隆。
基于DNN模型的智能选股策略相关推荐
- Python量化交易05——基于多因子选择和选股策略(随机森林,LGBM)
参考书目:深入浅出Python量化交易实战 在机器学习里面的X叫做特征变量,在统计学里面叫做协变量也叫自变量,在量化投资里面则叫做因子,所谓多因子就是有很多的特征变量. 本次带来的就是多因子模型,并且 ...
- 网格向量必须包含特征点。_【专题研究】基于SVM支持向量机模型的选股策略
研究过集成学习中的随机森林和XGBoost后,本文将介绍一种更传统的机器学习方法:SVM支持向量机.SVM由于其较高的准确度,并且能够解决非线性分类问题,曾一度成为非常流行的机器学习算法.本文分别介绍 ...
- 天欧黄汉知:基于模型的智能驾驶性能开发和测试方法
除了道路测试,软件模拟也很重要. 车云按:2017年6月21日-22日,由中国安全产业协会.TIAA车载信息服务产业应用联盟与车云网共同主办的2017年中国安全产业峰会暨首届交通安全产业论坛在北京召开 ...
- bigru参数计算_[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法...
原标题:[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法 智能变电站操作票校验是保障站内操作准确无误的重要环节,当前基于经验的人工校验方法主观性强,校验效率较低 ...
- 【Project Report】基于 QP 的优化选股策略
一.概述 基于AI的量化投资领域特别是针对A股市场的AI技术已经成为了当下的热点话题,本文将基于big quant平台,了解并掌握量化投资的一些基本操作方法,并通过一些QP优化策略实现选股. 二.基于 ...
- 多因子系列(二):基于机器学习选股策略(附源码)
在第一篇中,我们实现了一个简单单因子的策略模型,但是在实际中,我们是远远不会满足于一个因子甚至几个因子的. 市场上目前挖掘出来的因子成千上万个,如何有效筛选出比较好的几个因子构建一个选股模型呢? 手动 ...
- [量化学院]价值选股策略——基于机器学习算法
文献回顾 回顾价值策略 价值策略通俗地讲就是买入便宜股票,卖出昂贵股票,思想非常简单和直观.但是实际操作上这非常困难,因为我们没办法直接观察股票的真实价值.投资者可以从不同的视角采用不同的指标来估计股 ...
- 证券投资深度学习_基于风险中性的深度学习选股策略
今天我们为大家带来最新的研报内容,来自广发证券金工团队的<风险中性的深度学习选股策略>.下面让我们来一起学习吧!https://mp.weixin.qq.com/s?__biz=MzAxN ...
- 多因子选股模型python_量化交易——因子选股、多因子选股策略
一.因子选股策略 1.因子 因子:选择股票的某种标准.因子是能够预测股票收益的变量. (1)基本面因子 基本面因子描述了一个公司的财务状况,最常见的基本面因子是由利润表,资产负债表以及现金流量表中的数 ...
最新文章
- ASP.NET MVC 视图
- 移动端适配的几种解决办法
- 无代理备份和应用程序感知
- 从 Pod 到案例,给小白的 Kubernetes 技术课
- 查看CDH平台各个组件的版本
- 查看Linux root disk,linux查看硬盘4K对齐方法
- Dev-c++下载地址
- UE4打包并加载Pak-Windows/iOS/Android不同平台Editor/Runtime不同运行模式兼容
- c语言资产管理系统设计报告,(C)固定资产管理系统论文
- 怎么用计算机解锁手机密码华为,华为手机忘记解锁密码如何解锁?两招轻松搞定...
- Android 截屏实现、屏幕截图、MediaProjection、ImageReader
- 给有从事软件研发想法的在校大学生的一丝建议
- 用java编程100道问题//10弟弟的作业,口算训练
- 与“十“俱进 阿里数据库运维10年演进之路
- 数据分析岗位面试准备请看这篇!
- unity中的C#编程-零基础(Unity2017)
- 几招就可轻松搞定证件照处理,还不快来码住!
- Git commit 撤销提交与查看提交的内容
- NB-IoT天线同轴电缆RG316、RG174、RG178
- PMP考试时间在什么时候?