价格时序预测-LSTM

LSTM原理

LSTM是一种有监督神经网络。在普通的RNN模块里增加一个“短期记忆”模块,使得神经网络能够对基于“很久之前”曾经看到过并重复出现的“时域特征片段”作出预测上的修正。一个简单的应用是利用文本里的相距比较远的“上下文”作更好的文本分析。

LSTM是最新的受到广泛应用的有监督神经网络之一。

LSTM基本使用原理

(以下的表述基于Keras里的LSTM layer)

  • 一个Episode里的收敛性&Overfitting(Underfitting)可以用Valiation Data Set来检查。在fit时,指定一个1/3的validation_split。
  • 网络的表达能力(层数&每层节点数)需要和数据量匹配,否则非常容易出现Overfitting。LSTM的“表达能力”非常出众。同时还要用Dropout来控制LSTM疯狂的表达能力。

Pseudo Trading

回测中需要有个交易规则。我使用的是相邻两个Candle的Close Price,p0, p1,其中p1是预测的未来价格。如果p1>p0,则buy@p0,并且在下一个时刻sell@p1*,其中p1*是真实价格。反之如是。

忽略所有滑点和手续费。

Keras LSTM Layer使用结果

单层LSTM,128个节点,使用MinMaxScaler, Early-exit, Dropout。模型越简单越好。数据为5分钟BTC/USD交易历史数据,提取OHLCV以及ATR等一共9个Features作为LSTM输入,输出为价格。注意,Deep Learning (DL)本身是随机算法,所以即使是in-sample回测,也是有随机性。但是,In-sample的 Agg. Returns明显是too good to be true,不可能是真实交易。

从Out-of-Sample结果看,LSTM训练的模型是有能力beat the market的。在统计套利方面,还是有很强的实用性。LSTM很适合小资金投资者使用,因为成本很低,结果不错。

为LSTM提供数据时,要考虑Feature的选择,比如BTC这样几乎就是没有基本面,完全是动量交易驱动,那么选择的Feature可以很简单,比如ATR,EMA等等常用的指标都很有效。但是,如果交易 APPL或者GOOG,那就需要其他Reference数据,因为这些大公司的股价对基本面数据是有很强的依赖。

同时,数据的时间尺度也要考虑。5分钟的波动有可能无法cover taker手续费,所以可以考虑小时级别的交易,或者等待波动大的时候开启交易。

In-Sample结果

请添加图片描述在这里插入图片描述

Out-of-Sample结果

只展示两个时间段作为示范。其中第一个时间段跑了两次回测,展示出算法的随机性。使用时需要考虑是否要voting algo的“加持”。

请添加图片描述

请添加图片描述
在这里插入图片描述

请添加图片描述在这里插入图片描述

【待续】

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用卷积神经网络-长短期记忆网络(bi-lstm)-注意力机制对股票收盘价进行回归预测是一种基于深度学习的方法。该方法主要通过多层卷积神经网络提取输入数据的特征,并使用双向的长短期记忆网络来学习数据的时序信息,并通过注意力机制来自动选择对预测结果具有重要贡献的部分。 首先,卷积神经网络可以有效提取输入数据的空间特征,这对于股票收盘价预测来说很关键,因为股票市场的价格变化通常具有一定的空间相关性。通过多层卷积网络的前向传播和反向传播过程,模型可以从原始数据中提取出具有预测意义的低维特征表示。 其次,双向的长短期记忆网络可以帮助我们学习到时序信息。在股票市场中,过去一段时间的价格变动通常能够为未来提供一定的指引。LSTM网络在处理时序数据时具有优势,能够自动学习到长期依赖关系。通过双向LSTM网络结构,我们可以同时考虑历史信息和未来信息,更好地捕捉到股票价格的动态变化。 最后,注意力机制被引入用于选择对预测结果贡献最重要的部分。在股票市场中,不同的特征可能对价格预测具有不同的重要性。通过引入注意力机制,我们可以自动学习到不同时间点或特征在预测中的贡献程度,并将更多的关注点放在对预测结果具有更大影响的部分上。 综上所述,使用卷积神经网络-长短期记忆网络(bi-lstm)-注意力机制对股票收盘价进行回归预测是一种较为有效的方法。该方法可以利用卷积网络提取空间特征,LSTM网络学习时序信息,并通过注意力机制选择重要特征,从而提高对股票收盘价的预测准确性。这种方法不仅可以应用于股票市场,还可以扩展到其他时序预测问题中。 ### 回答2: 在对股票收盘价进行回归预测时,可以采用卷积神经网络(Convolutional Neural Network, CNN)结合长短期记忆网络(Bidirectional Long Short-Term Memory, bi-LSTM)和注意力机制的方法。 首先,通过卷积神经网络对股票数据进行特征提取。卷积层可以提取出时间序列数据中的局部模式和趋势,并且具有平移不变性,能够保留数据的空间结构信息。卷积层的输出经过池化操作,进一步减少参数数量,并提取出更加重要的特征。 接下来,通过双向LSTM模型对经过卷积特征提取的序列数据进行处理。LSTM模型可以捕捉到序列数据中的长期依赖关系,并能够记忆之前的状态,相比传统的循环神经网络效果更好。通过双向LSTM,可以同时考虑到当前数据点前后的信息,提升模型对时间序列数据的理解能力。 最后,引入注意力机制来加权模型对各个时间步的关注程度。注意力机制可以根据每个时间步的重要性,给予不同的权重。对于股票收盘价的回归预测,模型可以更加关注重要的时间步,提高预测的准确性。 整个模型的训练过程包括特征提取、双向LSTM和注意力机制的训练。在训练过程中,可以采用均方误差(Mean Squared Error, MSE)作为损失函数,通过梯度下降算法进行参数优化。 最后,在进行股票收盘价的预测时,可以将历史数据输入到模型中,根据模型输出的预测结果进行回归预测。通过不断的迭代优化,可以提高模型对股票收盘价的准确预测能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值