解读:基于对抗训练的选择性迁移学习用于股票趋势预测

dd80f8533cfb30ff886135b2d72ddb6b.png

写在前面

下面这篇文章的内容主要是来自发表于Connection Scicence 2022的一篇文章《Selective transfer learning with adversarial training for stock movement prediction》。这篇文章提出了一个新的框架(STLAT),它提出了一种选择性迁移学习和对抗性训练的方式来预测股票走势。STLAT应用迁移学习来有效利用基于数据选择器的源域数据,过滤掉无用的源数据并防止负面信息的迁移,对抗性训练被利用来改善模型的泛化性。来自两个美国市场以及一个中国市场的实验结果证实了提出的模型的有效性。

以下内容来自知乎链接:

https://www.zhihu.com/question/319176767/answer/2382983325

作者:Spectator  已获得作者同意转载。

1

摘要

股票走势预测任务可以被可以看作是一个分类任务,通常是根据过去的数据,预测价格在下一个时间步是上涨还是下跌。股票市场是一个复杂且动态的系统,包含大量随机噪声,从而导致准确预测股票走势的困难。尽管股票价格不遵循随机游走过程 ,预测股票的未来趋势已被证明是一个极具挑战性的问题。有许多因素(例如公司新闻、行业表现、投资者情绪和经济因素)可能会影响股价的走势。尽管如此,股票走势预测一直受到许多投资者和研究人员的关注,因为成功的预测可以产生巨额利润。

在股票走势预测任务中,基本面分析和技术分析是两种基本的预测方法。基本面分析试图通过分析相关的经济、金融和其他定性和定量因素来衡量股票的内在价值。技术分析倾向于利用历史市场数据来预测其未来的走势。通常股票走势预测任务被看作是时间序列预测任务。用于时间序列预测的几种方法大致可以分为传统的线性预测方法和非线性预测方法两类。线性预测方法包括自回归(AR)、移动平均(MA)、自回归综合移动平均(ARIMA)等。然而,金融时间序列数据是非线性的,这使得传统的线性预测方法难以准确预测。最近,机器学习和深度学习技术已广泛应用于许多领域。特别是由于具有非线性映射和泛化能力,在金融时间序列预测任务中的应用引起了越来越多人的关注。有大量的工作使用CNN, LSTM 和Transformer等深度学习方法取得了非常好的效果。

2

模型介绍

本文提出了一种使用对抗性训练的新型选择性迁移学习框架(STLAT),以解决模型在股票走势预测领域的泛化能力弱的问题。其中数据选择器用于有效地选择源域数据进行迁移学习。对抗性训练被用来提高模型的泛化能力。额外增加了预训练和微调以改善模型效果。实验结果显示本文的工作在三个数据集(两个美国市场数据集和一个中国市场数据集)都表现优秀。模型的框架图如下所示:

e2ad890a2758befc86cccb23124a5039.png

问题定义

股票走势预测的任务是学习一个预测函数Y = f(X, θ ),其中θ是函数参数,Y∈(-1, 1)表示股票运动走势。具体来说,给定顺序的X=[x1, x2, ..., x_T],其中xi∈RD,D是变量维度,我们感兴趣的是预测未来某一时刻的运动走势,即预测x_T+h的运动,其中h是距当前时间戳的单位时间。在本文实验中h被设定为1,这意味着预测第二天的股票走势。此外。训练样本是通过批处理进入模型的。我们用X_i来表示一个批次数据中的第i个训练样本,预测结果用Y表示。

共享基础模型 (SBM)

如图1(b 和 c)所示,STLAT 框架中的共享基础模型是一个基于注意力的 LSTM 网络。它使用来自源域的数据进行预训练,并使用来自目标域的目标数据进行微调。STLAT框架中的SBM可以替换为任意的自定义模型。本文工作选择了基于注意力的 LSTM 网络作为SBM,其中包含特征表示层、LSTM 层和时间注意力层。

  • 特征表示层 (FRL):特征表示层是一种特征学习技术,将连续的特征映射到潜空间上进行表示。

  • LSTM: 是循环神经网络 (RNN) 架构最具代表性的变体之一。相对于RNN它可以克服梯度消失的问题并更好地捕捉时间序列的长期依赖关系。

  • 时间注意层(TAL):注意力机制的模型可以确定哪些时间步的信息对预测更重要。

预测器:本文使用全连接层作为预测函数来估计股票走势预测。训练样本通过批次级别输入模型,其中批次大小用n表示。如果训练样本[X1,X2,…,Xn]来自源域,用Ys=[Ys1,Ys2,…,Ysn]表示预测结果;如果训练样本来自目标域,用Yt=[Yt1,Yt2,…Ytn]表示预测结果。Yl=[Yl1,Yl2,…Yln]是股票价格运动的标签。预测器使用交叉熵作为损失函数。

对抗训练:对抗性训练通过在输入中添加细微的扰动来提高模型稳健性,在图像分类和文本分类任务上都取得了成功。通常的方法是直接对输入扰动以学习鲁棒模型。但是在时序任务中,这样做会破坏时序输入的顺序关系,从而导致输入不可控。本文工作通过对SBM输出的潜在表示e^d进行扰动以达到对抗训练的效果。

1b5e6c2e13acdf087caf9980a0899462.png

其中,

a1a48045884e6d49da00e9fc6009a4c2.png

5f680d507dd28013aa2e5c14cd3b8764.png

对抗训练的损失函数是KL散度

6bc19def4a5f492bf3a0a9e6874c1e44.png

数据选择器:在对源域进行预测任务和对抗性任务后,作者认为并不是所有的源训练样本都对提高目标股票的预测性能有好处。因此,本文提出一个数据选择器来选择有益的训练样本。数据选择器是位于SBM模块之后的一个全连接层。数据选择器任务的输出是一个掩码向量ms = [ms_1, ms_2, ... , ms_n]包含0或1,代表是否从源批次中选择训练样本。图1(b)显示了数据选择模块如何影响源预测器和对抗性训练。形式上,如果一个训练样本Xs_i被选中以更新模型SBM,则ms_i的输出是1。如果一个训练样本被选中,相应样本损失将被添加到总的损失中。否则,相应的损失将被删除。

239abc0335966ae054eebde0d8e000ce.png

预训练

对于一个目标股票:(i)来自源股票的源批次数据被送入源预测器、对抗性训练任务和数据选择器任务,得到预测结果Y_s , Y_adv和m_s。(ii) 使用用公式(7)中的loss更新SBM模块。(iii) 相同的源批次数据和目标股票的目标批次数据被送入源预测器模块、对抗性训练模块、数据选择器模块和目标预测器模块,得到另一个预测结果Y_s,Y_adv, m_s和Y_t。(iv) 最后,计算总目标函数,并更新预训练模型的所有参数,计算方法如下。

2c112f616e2027f629db91a83cd1f3a6.png

微调

微调是直接使用SBM中的参数,这些参数是在预训练过程后已经初始化的。在预训练的过程中被初始化,如图1中的红色箭头所示。同时,我们在SBM的上面建立一个全连接层作为目标模型来预测目标股票的趋势。训练过程是使Y_t和Y_l之间的交叉熵损失最小化。本文对模型的所有参数进行了微调。整个算法的步骤如下,需要每支股票迭代训练,每次训练分为Pre-training和Fine-tuning两个阶段:

e7128667153bcb9d5d4526c8ca936e96.png

3

实验验证

提出的方法跟baseline模型在预测准确率方面的对比结果如下面所示:

a911abf8ff522a1b0b876e418289f18a.png

a8924dbcd70721e7cf7d18369a53314b.png

另外,作者还讨论了对抗训练中的扰动参数以及时间步长对模型表现的影响:

b2d5dd8e1381a4ae6335034a8866f4e2.png

d5a89caaa5fdcb9381d1b6ec536f3f97.png

4

总结

本文提出了一个新的框架(STLAT),它通过选择性迁移学习和对抗训练来预测股票走势。STLAT应用迁移学习来有效利用基于数据选择器的源域数据,过滤掉无用的源数据并防止负面迁移。对抗性训练也被利用来改善模型的泛化性。SBM模块可以考虑使用Transformer进行替换,既可以处理时序信息又具有attention模块;数据选择器的输入是SBM模块的输出进行预测,包含的信息有限,可以考虑增加一些额外信息以提升效果,例如:两支股票之间的趋势相关性。

往期推荐阅读

IJCAI 2022 | 量化交易相关论文(附论文链接)

WWW 2022 | 量化交易相关论文(附论文链接)

KDD 2022 | 量化交易相关论文(附论文链接)

解读:通过挖掘概念间共享信息,实现股票趋势预测的图模型框架

解读:机器学习预测收益模型应该采取哪种度量指标

解读:基于订单流、技术分析与神经网络的期货短期走势预测模型

【python量化】将Transformer模型用于股票价格预测

【python量化】搭建一个CNN-LSTM模型用于股票价格预测

【python量化】用python搭建一个股票舆情分析系统

【python量化】将Informer用于股价预测

【python量化】将DeepAR用于股票价格多步概率预测

a517c3eb558b63cfdcdbba62ac5f242e.png

《人工智能量化实验室》知识星球

2d54d46cdf74e5a82617962a208a52b2.png

加入人工智能量化实验室知识星球,您可以获得:(1)定期推送最新人工智能量化应用相关的研究成果,包括高水平期刊论文以及券商优质金融工程研究报告,便于您随时随地了解最新前沿知识;(2)公众号历史文章Python项目完整源码;(3)优质Python、机器学习、量化交易相关电子书PDF;(4)优质量化交易资料、项目代码分享;(5)跟星友一起交流,结交志同道合朋友。(6)向博主发起提问,答疑解惑。

ba032b176dfbadac65950e77bec3e1d3.png

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值