问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

DeepAlpha短周期因子研究系列之:LSTM在量化选股中的应用

创作时间:
作者:
@小白创作中心

DeepAlpha短周期因子研究系列之:LSTM在量化选股中的应用

引用
1
来源
1.
https://bigquant.com/wiki/doc/veOCuOwpkS

DeepAlpha系列模型中,研究者发现DNN全连接神经网络模型可以从基础的量价数据中有效提取出有效的选股能力。同时,股票的量价数据属于金融时序数据,对应的,在深度学习模型中LSTM具有较强的时序预测能力,因此研究者将LSTM模型应用于量化选股模型,并分析和验证其效果。

一、引言

DeepAlpha系列模型中,研究者发现DNN全连接神经网络模型可以从基础的量价数据中有效提取出有效的选股能力。同时,股票的量价数据属于金融时序数据,对应的,在深度学习模型中LSTM具有较强的时序预测能力,因此研究者将LSTM模型应用于量化选股模型,并分析和验证其效果。

二、LSTM长短期记忆神经网络

2.1 RNN循环神经网络

循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络,相比一般的神经网络来说,RNN将状态在自身网络中循环传递,因此可以接受更广泛的时间序列数据。

基础的RNN结构如下图所示:

RNN的公式为:

2.2 LSTM长短期记忆神经网络

长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。

LSTM的结构如下图所示:

总结而言,LSTM内部主要有三个阶段:

  1. 忘记阶段。这个阶段主要是对上一个节点传进来的输入进行选择性忘记。简单来说就是会 “忘记不重要的,记住重要的”。通过忘记门进行判断。

  2. 选择记忆阶段。这个阶段将对输入有选择性地进行“记忆”。哪些重要则着重记录下来,哪些不重要,则少记一些。通过输入门控制。

  3. 输出阶段。将上面两步得到的结果相加,即可得到传输给下一个状态的h_t。这个阶段将决定哪些将会被当成当前状态的输出。主要是通过输出门控制。

2.3 LSTM短周期因子量化选股模型

DeepAlpha LSTM模型主要由:输入层,LSTM层,Dropout层和Dense层组成,模型结构如下图所示。

模型各层的核心参数为:

  • LSTM层
  • units: 64
  • activation: tanh
  • recurrent_activation: sigmoid
  • Dropout层
  • rate: 0.5
  • Dense层
  • units: 128
  • activation: relu

三、实验

基于BigQuant人工智能量化投资平台(https://bigquant.com/),对LSTM在量化选股中的应用进行了研究。

3.1 实验方法

为了保证研究的客观性,研究者采用《DeepAlpha短周期因子系列研究之一:DNN在量化选股中的应用》中同样的方法,利用基础量价因子预测股票未来5日的收益率。

3.2 数据准备

3.2.1 数据

选择2015年1月1日到2021年12月31日A股全市场的日线股票数据作为训练数据,股票未来5日的收益率为训练的Label。

3.2.2 因子

研究者使用了开盘价、最高价、最低价、收盘价、换手率、当日收益率、成交量这7个基础数据,在量价行情基础数据中构建了98个因子。如下表所示:

表达式
含义
说明
mean
时序平均
共生成7个衍生因子,例如mean(close_0, 5)
ts_max
时序求最大
共生成7个衍生因子,例如ts_max(close_0, 5)
ts_min
时序求最小
共生成7个衍生因子,例如ts_min(close_0, 5)
std
时序标准差
共生成7个衍生因子,例如std(close_0, 5)
ts_rank
时序排序
共生成7个衍生因子,例如ts_rank(close_0, 5)
decay_linear
时序加权平均
共生成7个衍生因子,例如decay_linear(close_0, 5)
correlation
时序相关性
生成21个个衍生因子,例如correlation(close_0, volume_0, 5)
向前偏移
7*5=35个,例如close_4
衍生因子数
共计98个 (7*6+21+35)
3.2.3 数据预处理

(1)Label预处理

短周期选股策略的目标是预测股票未来5日的收益率,并选择预测出收益率较高的股票进行买入。

  • 极值处理:用1%和99%分位的值做clip
  • 标准化处理:ZScoreNorm截面标准化

(2)因子预处理

  • 标准化处理:ZScoreNorm截面标准化
  • 缺失数据处理:fillna
  • 极值处理:特征值剪裁{-3, 3}
  • 序列窗口滚动:向前取5日的特征

3.3 模型训练

(1)基准模型选择

神经网络需要确定模型的一些超参数,用2011年1月1日到2013年12月31日的数据对LSTM的units参数进行超参数寻优,并将该参数用于后期的滚动训练中。

研究者分别测试了LSTM的units参数[64, 128, 256],从验证集的效果来看,units为256的效果最好,回测结果如下图所示:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号