“Optimizing Portfolio with Two-Sided Transactions and Lending: A Reinforcement Learning Framework”
论文地址:https://arxiv.org/pdf/2408.05382
摘要
本研究提出了一种基于强化学习的投资组合管理模型,适用于高风险环境,通过双向交易和借贷来利用市场机会。该模型采用了新的环境公式和基于利润和损失的奖励函数,提高了强化学习代理在下行风险管理和资本优化方面的能力。使用Soft Actor-Critic代理和卷积神经网络进行实现,成功管理了一个由12种加密资产组成的投资组合,并在Binance永续期货市场上进行了测试。在两个16个月的市场波动不同的时期内,该模型表现出色,特别是在高波动性情况下,实现了更高的回报风险比和稳健的盈利能力。这些结果证实了该模型在利用市场动态和管理加密货币市场等波动环境中的风险方面的有效性。
简介
传统的机器学习模型往往依赖于价格趋势的预测,而强化学习模型则能够将预测和权重管理融合为一个统一的过程,从而优化投资组合的表现。本文提出了一种基于收益和损失的奖励函数的环境形式,并采用了Soft Actor-Critic代理和卷积神经网络与多头注意力机制的架构,以提高模型的风险管理和资本优化能力。本文还介绍了在Binance永续期货市场上使用多样化的12种加密资产组成的投资组合作为强化学习环境的实现方法,并对测试结果进行了分析。
相关工作
投资组合管理问题的数学建模方法,包括单期投资组合优化模型和多期投资组合优化模型。单期模型采用静态方法,在投资期开始时优化投资组合权重,但常被批评过于依赖历史数据和过于简化假设。多期模型允许周期性重新评估和调整投资组合权重,采用动态规划、随机规划和随机动态规划等方法寻找最优投资组合权重。其中,基于强化学习的投资组合管理模型应用广泛,包括代理、环境、动作、状态和奖励函数等五个关键元素,以优化权重优化为重点。代理通常采用神经网络实现策略,学习算法包括Q-learning、DQN、DDQN、DPG、DDPG和A2C等。最近的研究还关注了注意力机制和定制化学习算法。
本文综述了强化学习在投资组合管理中的应用。研究者们通过设计环境和奖励函数来优化投资组合权重,其中离散和连续的权重确定方法各有优缺点。数据预处理和技术指标的应用可以提高模型性能。奖励函数通常包括投资组合回报率、夏普比率和利润等。然而,现有研究忽略了负权重和借贷的影响,需要重新设计环境和奖励函数来更好地管理风险和资本。
方法
强化学习
强化学习可以用元组(S, A, R a , P a , γ)来描述,其中S表示状态表示集合,A表示代理可用的行动集合,R a 表示由于行动a而转移到新状态后立即获得的奖励,P a 表示状态转移概率,γ表示折扣因子,代理的目标是找到最优策略,将状态映射到行动以最大化累积折扣奖励。图1展示了基于强化学习的投资组合管理模型的组成部分。
数据预处理
在应用神经网络前需要对资产价格进行预处理,将价格数据规范化并转换为张量。张量的维度为M×4×N,其中M表示投资组合资产数量,4表示特征数量(开盘价、最高价、最低价和收盘价),N表示每个特征的历史数据长度。张量包含了M个价格向量,每个向量包含了四个维度,分别是开盘价、最高价、最低价和收盘价,这些维度被规范化以反映相对价格变化,并引入了额外的缩放噪声以使代理更具市场噪声的韧性。
RL Agent
使用SAC代理,包括actor和critic两个网络,actor确定最佳的权重再平衡策略,critic评估环境奖励以最大化长期折现奖励和熵。在深度神经网络架构中,通过CNN层和MHA层进行特征提取和注意力机制,提高代理效率。设计架构使用全连接层,LeakyReLU激活函数和独特的学习率因子。
RL Environment
RL环境主要执行两个关键任务:计算与每个动作相关的奖励,并通过定义的策略将代理转移到下一个状态。在每个状态下,代理使用权重向量重新平衡投资组合权重。根据权重向量计算可用的重新平衡资本,计算贷款产生的利息,计算调整后的资产价值,计算下一个状态的投资组合价值,计算与代理动作相关的奖励。奖励函数旨在更新代理策略以最大化重新平衡利润,同时控制损失。同时,为了防止代理对投资组合权重进行过多修改,交易成本也被纳入奖励函数中。
一般假设
这些研究中通常有两个核心假设:完全流动性和市场中性。此外,在我们的情境中,虽然贷款通常需要抵押品,但我们假设这是不必要的。
基准模型
我们使用回报作为奖励函数,使用相同的代理和环境对我们的模型进行基准测试。此外,由于环境中的贷款机会,也不允许使用基于风险回报的奖励函数。
此外,我们从传统的SPPO模型中选择了三个基准。SPPO模型可以通过在环境的每个状态中应用权重再平衡来与我们的模型进行比较。
Return-based RL
RL基于投资组合管理模型中的收益函数
是受欢迎的,因为简单、适应性强,且与最大化投资组合价值的主要目标一致。
均值-方差(MV)
MV模型是一种计算框架,用于根据风险评估预期回报来选择投资组合权重。该模型使用方程10计算投资组合风险(方差),并使用二次规划推导出有效前沿。方程中包含了资产权重、标准差和相关系数等参数。
平均绝对偏差(MAD)
MAD是一种风险度量,用于投资组合管理,它量化了个别资产回报与投资组合平均回报之间的平均绝对偏差,捕捉了回报分散性,提供了一个不受极端值影响的鲁棒风险度量。
CVaR是一种风险度量,评估特定置信水平之外的潜在损失,量化了超出置信水平的预期损失,强调了极端损失的严重性,有助于在投资组合管理模型中做出明智的决策来减轻潜在的下行风险。
实证研究
搭建环境和Agent
在模型实施阶段,选择了来自币安永续期货市场的12种加密资产组成多样化投资组合,基于它们的流动性和数据可用性。使用USDT作为基础资产,能够提供和接收贷款。分析涵盖了两个不同的时期:从2021年5月1日到2022年9月1日的高波动时期(Port A),以及从2022年6月1日到2023年10月1日的低波动时期(Port B)。每个时期持续16个月,分为12个月(2178步)用于训练和4个月(732步)用于测试,每4小时重新平衡一次。此外,加密货币的小时历史价格数据来自www.cryptodatadownload.com。
利用来自币安交易所的真实信息,确定了实现满意结果的最佳参数值。环境设计为每4小时重新平衡投资组合权重,增强了利润成本比。更短的间隔会导致增加交易成本而没有产生可观的额外利润,这是不可取的。
另外,对过去48小时(即N=49)的历史数据进行分析,增强了代理对市场状况的理解。利用48小时之外的数据会导致过度强调过去的市场行为。此外,奖励函数中的惩罚参数设定为25,旨在控制下行风险,表明代理对损失的敏感性是利润的25倍。SAC代理的最佳超参数也在表3中列出,经过微调以加快训练过程的收敛。
测试结果
测试结果表明,本模型在管理风险和获得高回报方面表现出色,优于其他基准模型。该模型能够动态平衡投资组合权重,适应市场波动,优化资产配置,从而实现更高的利润。与此同时,该模型在高波动性市场中表现出色,能够有效地管理下行风险。与其他基准模型相比,该模型的收益分布呈现右偏态,能够更好地管理风险。
总结
本研究提出了一种基于强化学习的投资组合管理模型,适用于高风险环境,通过利用双向交易和借贷来克服传统强化学习框架的局限性。该模型在加密货币市场中的测试结果表明,其管理多样化的12种加密货币资产组合的能力优于基于回报的强化学习、MV、MAD和CVaR模型,尤其在Sortino和Kalmar比率方面表现出色。
此外,该模型在高波动期间表现出色,具有有效管理风险和利用市场波动获得更高利润的能力。该模型的两个主要发现是:一是巧妙地将双向交易和借贷纳入权重优化中,以利用所有可能的市场机会;二是超越SPPO模型的预设假设,允许动态投资组合再平衡,捕捉多种资产风险的非线性效应,提高盈利能力。因此,该模型为寻求在各种市场条件下实现利润和获得更高回报风险比的投资者提供了一个有前途的、最先进的框架。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。