首页 > 其他分享 >多模态深度强化学习在投资组合优化中的应用

多模态深度强化学习在投资组合优化中的应用

时间:2025-01-09 09:29:47浏览次数:3  
标签:模态 夏普 组合 数据 奖励 SEC 深度 比率 优化

“Multimodal Deep Reinforcement Learning for Portfolio Optimization”

论文地址:https://arxiv.org/pdf/2412.17293

摘要

本文介绍了一种针对S&P100股票交易策略优化的深度强化学习框架,该框架结合了多模态数据,如历史股价、情感分析结果以及新闻主题的嵌入。通过融合SEC文档和新闻标题中的金融情绪信息,丰富了状态空间的表达,并调整了与投资组合表现相关的奖励机制。利用深度强化学习技术,此方法运用包括价格走势、情绪评分和新闻内容嵌入在内的综合状态张量,并采用卷积神经网络(CNN)和循环神经网络(RNN)等模型来提取特征。与传统的投资组合优化方式及前沿策略对比测试显示,本方法在提升投资组合绩效方面具有显著优势。实证研究证明,当整合多种数据来源并使用基于收益的奖励函数时,该算法能够超越常规基准,实现更优的投资决策。

简介

本文介绍了一种用于投资组合管理和优化的强化学习代理,它融合了股票价格信息与替代数据(例如SEC公告和新闻标题)。强化学习适用于实时环境,能够即时反馈和快速响应市场变化,从而提高决策效率。将替代数据编码入状态矩阵中,有助于代理更精准地调整投资组合中的资产权重。该模型基于马尔可夫决策过程构建,允许根据投资者的不同需求定制奖励函数。采用深度强化学习作为核心算法,通过深度神经网络来学习最优的投资策略,其目标是最大化预期的未来回报。文章特别强调了在状态空间表示、奖励函数设计以及深度学习模型训练体系上的优化工作。

01相关工作

论文[1] 通过分析最近的收益和市场指标,运用简单算法来设定投资组合权重,以优化差异化夏普比率,并将其结果与传统的均值-方差优化方法进行了对比。论文[2] 引入了强化学习技术,结合技术分析指标和股票间的协方差矩阵,利用3D卷积和张量分解技术提取特征,并通过深度确定性策略梯度(DDPG)算法训练神经网络,随后进行了回测评估。论文[3] 利用长短期记忆网络(LSTM)预测股价变动,结合新闻内容嵌入和分层注意力网络(HAN)增强状态空间表示,采用确定性策略梯度(DPG)进行模型训练,同时与多种基准投资组合进行比较,旨在处理环境的不确定性和奖励稀疏问题。论文[4] 研究了在强化学习模型中有效整合交易成本的方法,并分享了一个GitHub链接,提供了具体的实现代码。论文[5] 调查了新闻情绪作为指标的应用,使用不同的排序学习算法构建了一套表现优异的自动化交易系统。论文[6] 探索了多智能体强化学习的应用,通过引入惩罚机制减少智能体之间的相关性,从而生成一系列正交且高效的多元化投资组合。

02数据

为了构建和优化交易策略,我们将收集、存储并预处理价格数据及非传统数据。通过WRDS平台的CRSP数据库,我们计划下载2010年至2020年间S&P100指数成分股的基本价格信息,包括收盘价、最高价、最低价以及成交量等。同时,我们也会获取S&P500指数的市值加权与等权重版本的数据,作为性能比较的基准。强化学习代理将依赖这些历史股价数据来反映市场对于公司价值的认知。此外,我们的计划还包括利用新闻标题和SEC文件作为补充信息源,以丰富决策过程并加强投资组合管理策略。

SEC备案数据

SEC文件提供了关于公司财务状况和外部风险因素的定期更新,按照标准化格式提交。这些文档能够提供公司未来运营趋势的见解,而这些信息可能尚未完全反映在当前的股价之中。为了量化这些文件中的情感倾向,我们使用Loughran-McDonald情感词典来计算情感分数,并通过指数衰减的方法将这些分数向前推进至未来的日期。我们将从EDGAR数据库中下载S&P100成分股过去30年的10-K年度报告和10-Q季度报告,预计数据量约为115GB。接着,解析器将提取10-K报告中的第7项或7A项以及10-Q报告中的第2项内容,重点关注管理层讨论与分析(MD&A)部分,这部分内容详细论述了市场风险及其管理策略。

  • SEC数据处理和创建张量

为了从SEC文件的HTML文档中提取原始文本,我们首先使用正则表达式来解析并清理10-Q报告中的特定部分,如Item 1A(风险因素)、Item 7或7A(管理层讨论与分析),以及Item 2。然后,我们将构建一个数据框,该数据框将包含公司代码、文件提交日期、所提取的部分名称及其对应的文本内容。

在尝试利用FinBERT进行情感评分时,由于数据集的规模和格式带来的挑战,我们转向了一种调整后的方法来生成情感张量。具体来说,我们采用了Loughran-McDonald情感词典,从中识别出正面、负面和中性词汇,并计算这些词汇的比例以形成情感概率分布。

考虑到SEC文件是按年度或季度发布的,其间存在一定的报告日期间隔,我们应用了指数衰减技术来填补这些时间上的空隙。通过调优γ参数至大约0.8,确保了情感评分能够适当地随时间递减,反映了信息随着时间推移而逐渐失去其相关性的情况。

  • SEC文件数据集统计

数据集涵盖了99个S&P 100指数成分股的超过9000份SEC文件,其中我们使用了大约6100份作为分析子集。由于每年每家公司仅提交4份文件,我们采用了衰减前向填充的方法来处理缺失的日期数据。由于公司进出指数以及新公司的加入,导致各年间文件数量分布不均匀。情感评分的分布呈现出明显的正偏态,这反映出公司倾向于在报告中强调正面的业绩和乐观的未来展望。然而,在金融危机或市场表现不佳的时期,如2013年的一些科技公司,部分公司的情感评分确实出现了下降的趋势。

新闻标题数据

公司特有的新闻报道能够体现投资者情绪的波动,进而影响股票价格。例如,正面的新闻事件,像公司收购,可能会促使股价上升;而负面的消息,比如高层管理人员的变动,则可能导致股价下滑。实时获取的情绪信息对于交易代理来说是宝贵的资源,可以帮助它们超越基准表现。有关数据收集的具体方法和情绪评分的计算方式,请参阅文档的相关章节。

  • 每日财经头条数据集

数据集包含了超过6000只股票的每日金融新闻,这些数据是从Kaggle下载的,覆盖了2009年至2020年的时段。数据集主要由两个文件构成:一个是“raw_analyst_ratings.csv”,包含来自Benzinga的分析师评级信息;另一个是“raw_partner_headlines.csv”,收录了其他小型合作出版商的新闻头条。每个数据条目都记录了新闻标题、文章链接、发布机构、发布时间以及对应的股票代码。我们将这两个文件中的新闻头条整合到一起,创建了一个统一的数据集,专门涵盖了所有S&P 100成分股的新闻头条信息。

  • 新闻数据处理和创建张量

我们运用预训练的FinBERT模型对2010年至2020年期间S&P 100公司相关的新闻标题进行了情感分析,生成了每条新闻标题对应的正面、负面和中性情感的概率。为了将这些多维的情感概率转化为单一的情感嵌入,我们开发了一个新函数,该函数通过计算正负情感概率的比例并结合中性情感概率,然后使用tanh函数进行归一化处理,从而得到一个范围在-1到1之间的情感得分。

针对新闻数据报告日期不规则以及存在数据缺口的问题,我们采用了指数衰减的方法来调整情感分数,其中衰减因子γ经过调优设定为大约0.8。此外,我们创建了一个名为“NewsHeadlines”的自定义数据集类,利用PyTorch框架来管理和处理新闻标题数据,实现了批量预处理和迭代的功能。通过Dataloader对象,我们将数据集分批送入FinBERT模型进行处理,使用softmax激活函数将模型输出的原始logits转换成概率向量,并保存每一批次的输出张量以供后续分析。

  • 新闻数据集统计

数据集涵盖了84个S&P 100成分股的股票代码,以及70,872条新闻的情感嵌入记录。中位数的股票在整个905个交易日中有相应的新闻报道,但有16只股票缺少情感数据,导致数据覆盖不完整。新闻的情感分数呈现出双峰分布的特点,主要集中在负面或正面,同时包含了一部分中性评分,这表明情感强度足够大,可以对强化学习代理的决策产生影响。我们将基于多篇文献中的方法进行实施和改进,开发一个能够利用多个时间窗口的强化学习系统,最终的架构将与文献[3]和[4]中描述的模型类似。

03方法

马尔可夫决策过程问题公式化

状态 S* 构建为一个 U × H × C 的三维张量,其中包含了历史价格数据;U 代表股票的数量,H 表示历史天数,而 C 则对应不同类型的价格(如收盘价、最高价和最低价)。经过预训练编码器处理的新闻信息 δ 被作为额外的通道添加到 S* 中,从而构成了完整的状态张量 S = (S*, δ)。在状态 S 中,每一行对应一只股票,记录了该股票过去多日的价格变动以及相关的替代数据。将价格数据与新闻嵌入简单地拼接在一起,并不会对学习效果产生不利影响。

奖励函数 R 将采用两种方法进行实验:一种是基于投资组合价值变化的利润奖励,另一种是近似于夏普比率的差异夏普比率奖励。动作空间 A 设计为一个长度为 m + 1 的向量,表示下一个时间段内的投资组合权重分配,这些权重的总和为 1,允许短线交易并设有杠杆限制。

本项目的目标是实现并扩展文献 [3] 中提出的方法,通过调整状态 S 和奖励 R,探索不同的替代数据源、特征提取技术以及奖励函数的组合,旨在优化针对S&P100股票的投资策略表现。

策略比较

为了更清晰地展示最终模型架构的比较,我们将采用以下几种基准金融投资组合选择模型,并使用特定的性能指标进行评估。具体如下:

1. 传统基准策略:

  • 简单等权重投资组合:所有资产赋予相同的权重。
  • 买入并持有策略:购买后长期持有,不进行频繁交易。
  • 历史夏普比率最高资产选择:选择过去表现(以夏普比率为衡量)最优的资产进行投资。

2. 先进基准策略:

  • OLMAR (Online Moving Average Reversion):一种基于在线学习的策略,利用移动平均回归原理调整投资组合。
  • WMAMR (Weighted Moving Average Market Replay):通过加权移动平均来模拟市场变化,动态调整投资组合。

3. 性能评估指标:

  • 累计回报率:衡量投资组合在整个评估期间的总收益。
  • 夏普比率:评估每单位总风险所获得的风险溢价,即超额回报与总风险之比。
  • Sortino比率:类似于夏普比率,但只考虑下行风险,提供对负面波动更为敏感的评估。
  • 最大回撤:测量投资组合在评估期间内从峰值到谷底的最大跌幅,反映潜在的最大损失。

4. 实验设计依据:

实验部分的设计和方法论参考了相关文献提供的框架,确保比较过程的科学性和可比性,以便全面评估最终模型架构的有效性和优势。

特殊配置

在投资组合优化中,强化学习(RL)代理根据现有的信息生成最优的投资组合权重。动作空间 A 包含所有可能的投资组合权重配置,这些权重的总和必须等于1。状态空间 S 涵盖了代理在进行投资决策时可以利用的所有相关信息,例如历史价格数据、策略的表现记录以及新闻情绪指标等。状态转移函数 T 是确定性的,它根据代理选定的权重来更新投资组合,并据此生成下一个状态。奖励函数 R 的设计目的是激励代理产生更优的投资组合权重,其形式可能包括直接的利润或基于差异夏普比率的评估。

差动夏普比

Differential Sharpe Ratio(差异夏普比率)是用来评估强化学习代理的一种方法,它基于传统的夏普比率概念进行调整。传统夏普比率定义为预期超额收益与投资波动性的比率,主要用于评估和比较不同投资策略的表现。

然而,对于需要在每个时间步骤获得即时奖励的强化学习代理来说,传统的夏普比率只能在投资周期结束时计算,因此并不适用。为了适应这一需求,差异夏普比率通过估算总夏普比率的变化来提供一个解决方案。它利用每个时间点 t 的收益 R_t 来更新收益期望值和方差的估计。更新公式为:

具体来说,A_t 和 B_t 分别代表收益的一阶矩(均值)和二阶矩(方差)的估计值。差异夏普比率 S_t 可以近似表示为 A_t 除以 (B_t - A_t^2),这里忽略了无风险利率的影响。

通过应用泰勒展开,我们可以得到 S_t 的更新公式,该公式展示了差异夏普比率作为一个比例导数的特性。这意味着,差异夏普比率能够动态地反映每一时刻的投资表现变化,从而为强化学习代理提供了即时的反馈机制,帮助其优化投资组合权重。

交易成本

随着数字科技的飞速发展,一个由数据驱动、智能互联的世界正在形成。我们诚挚地邀请您参加此次科创峰会,共同探讨数字科技如何塑造我们的未来。

在考虑交易成本的情况下,投资组合的价值和收益计算需要进行相应的调整。为此,我们引入了有效的投资组合权重 wt′wt′以及交易成本因子 μtμt。

交易成本对投资组合的最终价值有直接影响,因此需要通过迭代计算来确定 μt 的固定点。卖出资产时的交易成本由佣金率 cs 决定,而买入资产时的交易成本则由佣金率 cp 决定。为了确保资金流动的平衡,我们需要建立一个方程来求解 μt,该方程综合考虑了卖出和买入资产时产生的交易成本。这一过程使得我们可以准确地评估交易成本对投资组合的影响,并据此调整投资策略。

EIIE政策

本文介绍了一种名为“相同独立评估者的集成”(EIIE)的框架,用于评估资产的投资策略。该框架通过一个单一的评估函数来生成每个资产的潜在增长分数,并使用Softmax函数将这些分数转换为投资组合权重。框架中定义了两个核心函数:特征提取函数 fα 和权重更新函数gβ,其中 gβ 采用了多层感知机(MLP)结构进行实现。特征提取函数 fα 可以基于卷积神经网络(CNN)或递归神经网络(如RNN或LSTM),并且能够处理多通道的数据输入。

实验结果显示,该框架在加密货币市场上的表现超越了所有基准策略。此外,EIIE框架的一个显著优点是其易于整合额外的数据源,例如新闻情感分析结果,这进一步增强了模型的适应性和性能。

04实证结果

实验考察了多种替代数据的使用、不同的奖励函数以及策略类型的组合。训练阶段覆盖了从2010年初到2017年底的时间段,而测试阶段则设定在2018年初至2019年底。选择这十年的数据是因为它们提供了各个数据源的最大交集。所有策略在整个训练和测试期间都接受了评估,测试时以1美元为起点计算投资组合的价值变化。交易成本被固定为1%。本节仅呈现了比较结果的汇总表格,因为这种方式更便于解读和理解。

基准投资组合

基准策略涵盖了Naive Equal(简单等权重)、Equal Buy-and-Hold(等权重买入并持有)、Best Historical Sharpe(历史最佳夏普比率)、OLMAR、WMAMR以及S&P500指数。在盈利能力方面,大多数基准策略未能超越S&P500指数。Equal Buy-and-Hold策略在净利润、夏普比率和索提诺比率上表现出色,优于其他策略。相比之下,OLMAR和WMAMR这两种策略的表现均落后于市场平均水平。Best Historical Sharpe策略则表现欠佳,不仅波动性较高,其夏普比率也明显低于S&P500指数。值得注意的是,在2018年底至2019年初的市场下跌期间,所有策略都经历了相似程度的最大回撤。

RL投资组合:历史价格数据

实验中采用了CNN EIIE、RNN EIIE以及标准的MLP神经网络,输入数据为过去几周的股票价格张量。我们测试了两种奖励函数:差异夏普比率奖励和利润奖励。结果显示,使用差异夏普比率奖励的策略表现一般,显著落后于S&P指数,这表明该奖励机制较难优化,而CNN模型的表现优于RNN和MLP模型。

在采用利润奖励的情况下,CNN和RNN模型都展现出了合理的性能,其中CNN略胜一筹,甚至略微超过了S&P指数;相比之下,MLP模型的表现明显恶化。这一结果暗示了利润奖励更容易被模型学习,并且小型EIIE模型更加稳健,而MLP模型则出现了过拟合现象。统计分析和图表结果进一步确认了这些趋势。

RL投资组合:价格+ SEC数据

通过增加SEC情绪评分通道,模型的性能得到了提升。尽管使用差异夏普比率奖励的整体表现强劲,但仍未超越S&P指数。差异夏普比率奖励的优化难度较大,这在一定程度上限制了模型的最佳表现,不过也减少了过拟合的风险。在这一设置下,CNN和RNN EIIE策略展现出了优异的表现,而MLP策略则表现不佳,可能是由于其复杂性导致了过拟合。实验结果显示,当使用差异夏普比率奖励时,CNN和RNN策略成为了强有力的竞争对手。

RL投资组合:价格+ SEC +新闻数据

新闻数据相较于SEC数据缺乏规律性,其不一致性对模型的表现产生了负面影响。然而,当结合价格数据、SEC情绪评分和新闻情感数据时,模型的结果得到了显著提升。使用差异夏普比率奖励的模型表现相对不佳,尽管CNN和RNN模型优于MLP,但整体表现仍属平平。相比之下,采用利润奖励时,模型的表现有了显著改善,特别是CNN EIIE模型表现最为出色。与此同时,MLP模型在训练过程中出现了严重的过拟合问题。

对比

采用利润奖励的SEC+News CNN EIIE策略在净利润、夏普比率和索提诺比率方面表现最优。而使用相同奖励机制的SEC+News RNN策略则展现了最低的最大回撤。所有经过训练的策略,无论是CNN还是RNN,其表现均超过了OLMAR和WMAMR这两个基准策略。

05总结

利润奖励函数和差异夏普比率在学习复杂度上有所不同,前者通常能带来更优的投资组合表现。在使用利润奖励的情况下,CNN EIIE和RNN EIIE模型表现出色,而MLP政策网络则出现了显著的过拟合现象。当整合新闻数据时,模型学习差异夏普比率奖励的能力有所下降,这主要是由于新闻数据的稀疏性和不一致性增加了学习难度。相反,加入SEC文件数据后,两种奖励函数的表现都得到了显著提升,因为SEC数据的规律性有助于模型学习。

当同时结合新闻和SEC数据时,尽管不规则性对较难的差异夏普比率奖励影响较大,但总体表现仍能得到进一步提升,显示了综合数据集的潜力。除了改进数据质量外,还可以通过测试不同的特征提取器和应用正则化技术来提高模型收益。此外,探索不同的情感嵌入函数可能会提供更准确或更适合强化学习代理使用的表示方法。这种方法不仅增强了模型的学习能力,还可能为优化投资策略提供更多可能性。

标签:模态,夏普,组合,数据,奖励,SEC,深度,比率,优化
From: https://blog.csdn.net/AI16947/article/details/145000040

相关文章

  • 二、模型训练与优化(1):构建并训练模型
    目录1.安装Anaconda(推荐)步骤:2.创建并激活虚拟环境步骤:3.安装必要的库步骤:4.编写训练脚本步骤:5.运行训练脚本步骤:总结:在完成了准备工作的基础上,接下来进行模型训练与优化。以MNIST手写数字识别为例,使用TensorFlow和Keras构建、训练并优化一个简单的......
  • 二、模型训练与优化(2):模型训练结果分析
    目录1.训练过程中的指标2.测试集上的指标3.理解损失(loss)与准确率(accuracy)3.1损失(Loss)3.2准确率(Accuracy)4.如何分析训练曲线4.1训练准确率vs.验证准确率4.2训练损失vs.验证损失5.常见问题与应对方法5.1过拟合(Overfitting)5.2欠拟合(Underfitting)5.3学......
  • 服务器远程连接卡顿的排查与优化
    服务器远程连接卡顿可能由多种因素引起,包括网络带宽、服务器负载、防火墙设置、跨网段访问等。以下是详细的排查步骤和优化建议:确认网络环境:检查本地网络连接是否稳定,确保没有丢包或延迟过高的情况。使用ping命令测试从本地到服务器的延迟,观察是否有明显的延迟波动。如果使......
  • 动手学深度学习-卷积神经网络-1从全连接层到卷积
    目录不变性 多层感知机的限制平移不变性局部性  卷积“沃尔多在哪里”回顾 通道小结 我们之前讨论的多层感知机十分适合处理表格数据,其中行对应样本,列对应特征。对于表格数据,我们寻找的模式可能涉及特征之间的交互,但是我们不能预先假设任何与特征交互相关的......
  • 深度学习基础框架通用模板 (Pytorch Template) - cifar10 图片分类为例,深度学习模板
    文章目录项目简介运行结果展示文件和目录结构说明功能模块详解1.数据相关2.模型相关3.工具函数4.可视化5.训练和日志6.主程序使用方法1.克隆项目2.创建并激活Python3.9虚拟环境3.安装依赖4.安装Jupyter及相关依赖2.数据准备3.开始训练4.可视化结果快......
  • 基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法
    1.程序功能描述基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法,对比两个算法的仿真时间,收敛曲线,以及路径规划的结果,最短路径长度。2.测试软件版本以及运行结果展示MATLAB2022A版本运行 3.核心程序whilet>=Temp1%温度降温判决t......
  • 深度学习目标检测中_构建一个基于YOLOv8的道路裂缝检测系统来处理道路裂缝数据集 4类
    道路裂缝数据集数据集共21041张道路图像,涉及3000+道路损坏实例,数据集包含四种损伤类别的注释:纵向裂缝D00、横向裂缝D10、鳄鱼裂缝D20和坑洞D40;已标注yolo格式、voc格式,可直接用于训练;标签类别及标签个数:D00(6592)、D10(4446)、D20(8381)、D40(5627)构建一个基于YOLOv8的道......
  • 深度学习目标检测使用YOLOv8来训练航拍遥感飞机数据集 yolo
    航拍遥感飞机数据集Yolo格式标注深度学习目标检测使用YOLOv8来训练航拍遥感飞机数据集。以下是详细的步骤和代码示例,包括环境部署、模型训练、指标可视化展示以及PyQt5界面设计。文章代码仅供参考:数据集结构假设你的数据集已经准备好,并且是以YOLO格式存储的。以下......
  • 【Tomcat】Tomcat 优化
    前言Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP程序的首选。相信大家对于Tomcat已经是非常熟悉了,本篇将介绍tomcat的常见优化。那么为什么要对tomcat进行优化呢。因为Tomcat默认参数是为开发环境制定,而......
  • 利用 vLLM 手撸一个多模态RAG系统
    利用vLLM实现多模态RAG系统本文将深入探讨如何使用vLLM构建多模态信息检索与生成(MultimodalRAG)系统,以实现对包含文本、图像和表格的文档的有效处理和智能问答。如果您想了解更多关于自然语言处理或其他技术领域的信息,请关注我们的公众号柏企科技圈。一、多模态R......