内容简介:摘要:本文将为大家构建一个AI驱动的LSTM Networks是递归神经网络(RNNs)的一种,该算法由Sepp Hochreiter和Jurgen Schmidhuber在Neural Computation上首次公布。后经过人们的不断改进,LSTM的内部结构逐渐变得完善起来(图1、图2)。在处理和预测时间序列相关的数据时会比一般的RNNs表现的更好。目前,LSTM Networks已经被广泛应用在机器人控制、文本识别及预测、语音识别、蛋白质同源检测等领域。
摘要:本文将为大家构建一个AI驱动的 量化投资 策略样例,策略用LSTM算法进行择时,StockRanker算法进行选股,并用可视化的方式实现,文末附上策略源码,感兴趣的朋友可以直接前往 BigQuant人工智能量化投资 平台进行实现。
一、LSTM算法简介
LSTM Networks是递归神经网络(RNNs)的一种,该算法由Sepp Hochreiter和Jurgen Schmidhuber在Neural Computation上首次公布。后经过人们的不断改进,LSTM的内部结构逐渐变得完善起来(图1、图2)。在处理和预测时间序列相关的数据时会比一般的RNNs表现的更好。目前,LSTM Networks已经被广泛应用在机器人控制、文本识别及预测、语音识别、蛋白质同源检测等领域。
图1LSTM层结构
图2典型LSTM层结构
这里 ht 代表神经元的输出,而 C t 代表神经元的状态。系统的运行分为以下步骤:
A.计算需要被细胞丢弃的信息:
B.计算需要添加到细胞中的信息:
C.更新细胞状态:
D.计算输出信息:
LSTM模型构建:作为循环层的一种神经网络结构,只使用LSTM并不能构建出一个完整的模型,LSTM还需要与其他神经网络层(如Dense层、卷积层等)配合使用。此外,还可以构建多层LSTM层来增加模型的复杂性,学习描述更高层次的时域特征(如图3)。
图3LSTM的组合运用
二、LSTM在股票预测中的应用
经济学家靠ARMA 模型预测的时间序列模型。该模型对小数据集效果很好,可容纳时间序列的记忆效应,如持久性、均值回归、季节性等。在深入学习中,长短期记忆(Long short-term memory,LSTM)可类比于ARIMA长期短期记忆模型。LSTM 对RNN 进行了结构上的修改,来避免长期依赖问题。LSTM在股票预测中通常分为两类应用:一是直接将LSTM输出结果作为做单信号在个股上进行回测,二是将LSTM的预测结果作为一种择时信号,再配合其他选股模型(如BigQuant平台的StockRanker)进行回测。社区中已经在LSTM Networks应用于股票市场探究一文中提到LSTM更适用于处理个股/指数,将LSTM作为择时模型与其他选股模型配合使用效果较好。
三、策略流程
本文策略在 BigQuant平台 AI可视化模板的基础上建立,使用stockranker作为选股器,针对沪深300指数采用LSTM构建择时模型作为仓位风控控制,流程图见图4。
关于LSTM模型中涉及的参数含义可以参考《 [量化学堂-机器学习]基于LSTM的股票价格预测模型 》一文中的描述。
- 开始时间:2017-07-01
- 结束时间:2018-04-30
- 选股策略:stockranker
- 优质股数量:10只
- 换仓周期:每日
- 止盈止损:使用沪深300指数LSTM的涨跌预测值进行仓位控制
LSTM的模型参数:
- 每段input预测数据的长度seq_len: 5日数据
- 输入特征:[‘close’,‘open’,‘high’,‘low’,‘amount’,‘volume’]
- 预测集长度:10*seq_len
- 神经网络结构: 1层LSTM层+3层Dense层
- 模型训练:优化器adam,损失函数mse
- 模型输出: 涨跌预测值(正数为持仓信号,负数为空仓信号)
图4策略流程图
四、回测结果
回测时间是2017年7月以来,总收益接近30%,超过沪深300基准指数近27.5%。从图5可以看出,在2017年12月以及2018年2月中旬在大盘指数下跌期间,策略的净值回撤明显小于沪深300基准指数,这说明LSTM算法的仓位管理起到了作用。 策略源代码在附录,欢迎大家克隆研究。
图5模型预测结果
五、参考文献
1.《 LSTM Networks应用于股票市场探究 》
2.《 LSTM Networks应用于股票市场之Functional Model 》
3.《 LSTM Networks应用于股票市场之Sequential Model 》
4.《 [量化学堂-机器学习]基于LSTM的股票价格预测模型 》
5.《2018/03/08 中信建投证券:零基础 python 代码策略模型实战:——大数据人工智能研究之七 》
六、附录
策略完整代码: 《 可视化策略—LSTM大盘择时+Stockranker选股 》
本文由BigQuant 人工智能 量化投资平台 原创推出,版权归BigQuant所有,转载请注明出处。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 量化选股-因子检验和多因子模型的构建
- 遇见大数据可视化:来做一个数据可视化报表
- 遇见大数据可视化: 未来已来,变革中的数据可视化
- Python 数据可视化 2018:数据可视化库为什么这么多?
- 数据可视化设计(1)情感化设计指导可视化设计理念
- 基于WebGL架构的ThingJS可视化平台—城市地下管线3D可视化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Getting Started with C++ Audio Programming for Game Development
David Gouveia
Written specifically to help C++ developers add audio to their games from scratch, this book gives a clear introduction to the concepts and practical application of audio programming using the FMOD li......一起来看看 《Getting Started with C++ Audio Programming for Game Development》 这本书的介绍吧!