通过使用生成对抗市场模型改进基于强化学习的交易的泛化

news2024/11/19 19:33:35
Improving Generalization in Reinforcement Learning–Based Trading by Using a Generative Adversarial Market Model | IEEE Journals & Magazine | IEEE Xplore
Improving Generalization in Reinforcement Learning–Based Trading by Using a Generative Adversarial Market Model
第一部分。

介绍

投资组合管理是量化交易的一个长期组成部分,其目标是通过在某些金融产品中不断重新分配资金来满足预定义的效用函数。投资组合管理的方法有以下三种类型之一:1) 传统方法(例如动量[1]和反向策略[2]),2) 机器学习方法(例如模式匹配[3]),以及 3)基于强化学习 (RL) 的方法[4]、[5]。随着深度神经网络的蓬勃发展,许多研究人员将深度学习与 RL 相结合,在多个金融领域取得了令人瞩目的成绩,例如外汇交易[6]、投资组合管理[4] , [5] , [7] , [8]和做市[9]。

大多数成功的 RL 研究都使用逼真的物理引擎或动态交互实体来构建训练环境。例如,AlphaZero [10]训练代理人通过自我对弈来玩棋盘游戏。在这里,self-play 意味着代理所面对的环境,即玩家代理对抗的环境,是由神经网络训练的最佳玩家(代理)从所有先前的迭代中生成的。训练代理获得持续的反馈以响应其自身的行为,从而在训练环境和代理之间形成稳健且合理的相互关系。然而,基于 RL 的投资组合管理的研究不太成功。在此类研究中,历史价格数据仍然直接用于构建培训环境[4], [5] , [7] , [8]. 从代理人的角度来看,来自此类培训环境的反馈对代理人的行为没有反应。因此,代理在针对这种无响应的训练环境优化其动作时面临几个问题。首先,从环境中获得的状态与代理的行为无关。代理与这种无响应环境的交互可能违反了马尔可夫决策过程 (MDP) 的定义——其中 MDP 定理明确地将状态转换定义为取决于当前状态和操作的状态转换。由于 MDP 定理是 RL 的基本定理,违反 MDP 的定义会导致基于 RL 的投资组合代理的优化过程不合理。第二,这种反应迟钝意味着环境无法对代理人的行为做出适当的市场反应。换句话说,基于历史价格数据构建的环境无法模拟代理人对市场的影响。因此,使用历史价格数据优化的代理可能会产生较差的泛化:从样本内(训练)数据构建的交易知识无法应用于样本外(测试)。无论模型与训练数据的拟合程度如何,泛化能力差的模型对于解决实际决策问题毫无用处。因此,泛化性可以被认为是构建基于 RL 的投资组合管理模型必须克服的最大障碍。[9]、[11]通过向环境中注入随机化来提高基于 RL 的交易代理的泛化能力。然而,这些研究大多使用历史价格数据来构建环境;随机噪声的注入并不能直接解决上述问题。

我们认为,可以使用两种解决方案来解决上述问题。第一个是将基于 RL 的投资组合代理与真实证券交易所数据进行交互以优化投资组合。第二种是使用另一个 AI 模型为 RL 智能体构建一个真实的虚拟市场进行交互。第一个解决方案基于真实金融市场中交易结果的奖励。然而,由于此解决方案成本高昂,并且需要相对较长的数据收集时间才能使代理收敛,因此无法实际应用于基于 RL 的投资组合优化。第二种方法是我们的​​主要贡献所在。在我们的研究中,提出了一种生成对抗网络 (GAN) 的变体,通过对历史限价订单的分布进行建模来模拟市场订单行为。然后使用生成模型构建合成证券交易所作为代理的训练环境。所提出的学习框架使代理能够获得模拟市场对其交易决策的反应。通过这样做,状态和行动之间的因果关系得到加强。此外,由于允许代理参与状态转换过程,因此模拟证券交易所可以防止代理违反 MDP 的定义;通过确保支撑 RL 框架的基本定理成立,这使得 RL 在投资组合优化中的使用变得合理。通过与模拟证券交易所互动,代理人能够探索更大范围的以前无法预见的市场情况;训练数据集也更加多样化。据我们所知,这是第一项使用生成模型在基于 RL 的投资组合管理模拟中重建金融市场的研究,目的是提高代理的泛化能力。本研究的主要贡献如下:

  • 一种被称为限价订单簿 (LOB)-GAN 的生成模型对历史限价订单下的分布进行建模。LOB-GAN用于模拟市场整体投资者的下单行为。

  • 引入限价订单转换模块,让 LOB-GAN 合成相对订单数量,而不是直接预测订单价格和相应数量。

  • 通过让 LOB-GAN 中的生成器与安全匹配系统合作,构建了一个称为虚拟市场的综合证券交易所。虚拟市场可以根据代理人的交易决策呈现模拟的市场反应。

  • 提出了一种利用虚拟市场的新型基于 RL 的投资组合优化学习框架。该框架通过在动作和过渡状态之间建立更紧密的相互关系,确保永远不会违反 MDP 的定义。

本文的其余部分组织如下:第二部分回顾文献;第三部分陈述假设并定义问题;第四节介绍了提出的市场行为模拟器、虚拟市场的构建以及其他泛化策略;第五节介绍了提出的基于 RL 的投资组合优化框架;第六节介绍了实验结果;第七节总结了论文并讨论了未来的研究方向。

第二部分。

文献综述

本节回顾了三个文献体系:关于在金融中利用 RL、RL 泛化技术和人工市场模拟。

A. 金融强化学习

RL 已广泛应用于金融的多个领域,例如做市和外汇交易,在投资组合管理中尤为重要。在本节中,我们重点回顾有关基于 RL 的投资组合管理的文献。根据经验,投资组合管理可分为三个主要步骤:投资组合选择、加权和再平衡。在组合选择中,重点是选择组合资产;在投资组合加权中,过程决定资本分配;并且,在投资组合再平衡中,决定是否以及何时改变投资组合权重。斯布鲁齐等人。 [12]关注投资组合选择并使用 RL 框架,其中资产池选择代理优化选择策略。王等。 [4]通过使用他们提出的 AlphaStock 方法,桥接了投资组合选择和加权的过程。具体来说,作者在 AlphaStock 中制定了专门的跨资产注意力网络 (CAAN) 机制,以捕捉投资组合资产之间的相互关系。姜等。 [7]专注于投资组合权重,并提出了他们的相同独立评估器集成 (EIIE) 拓扑结构。他们的投资组合选择策略直接以交易量为基础,在他们的学习框架中考虑了交易成本(算法交易策略执行中的一个关键问题)。作者使用他们的 EIIE 拓扑检查了几个时间序列特征提取模型。施等。 [5]在他们的相同独立初始 (EIII) 拓扑集成中扩展了 EIIE 拓扑,该拓扑利用初始网络同时考虑不同规模的价格变动。他们的实验结果表明,EIII 拓扑比原始 EIIE 产生更好的投资组合性能。叶等。 [8]还在其状态增强 RL (SARL) 拓扑中扩展了 EIIE 拓扑,其中将合作引入异构数据集以帮助代理做出更好的预测。唐等。 [13]还强调结合多个来源,其中传统指标和预训练 GAN 的模块各自构成不同的数据流。李等。 [14]应用了一种新颖的 RL 算法,该算法利用堆叠式去噪自动编码器 (SDAE) 构建代理,目的是获得稳健的状态表示。尽管取得了这些进步,基于 RL 的投资组合优化的研究大多使用历史数据来优化代理,这可能导致代理的泛化能力较差。

B. 强化学习中的泛化

RL 中的泛化问题已在各个领域进行了研究。怀特森等人。 [15]将泛化问题分为任务内和任务外变体。在任务内变体中,如果在训练轨迹上优化的代理在同一环境的测试轨迹上表现良好,则泛化能力令人满意。在任务外变体中,当代理在不同于训练环境的环境中表现良好时,泛化能力令人满意。用于解决 RL 泛化问题的方法可分为五类。

  • 正则化方法:应用了多种技术,例如 dropout 和 L2 正则化,以防止代理在有限的状态空间中过度拟合[16]。Igl等人。 [17]提出了选择性噪声注入(SNI),它保留了正则化效果,但减轻了对梯度的副作用,以提高对 RL 的适应性。

  • 对抗训练: Different settings of the perturbation generation strategy are introduced in RL-based trading [9], [11]. The injected noise can 1) help the agent to learn how to furnish a robust representation and 2) diversify the training environment.

  • 数据增强:为了使数据更加多样化,对状态[18]、[19]应用了转换。

  • 迁移学习:通过专注于帮助代理泛化到新任务,它被广泛用于领域适应[20]。Gamrian 和 Goldberg [21]进一步利用 GAN 将视觉观察从目标域映射到源域。

  • 元学习:代理学习元策略,帮助它快速适应其他领域[22]。王等。 [23]也关注让代理快速适应新任务的问题;他们通过扩展循环网络来支持 RL 中的元学习来实现这一点。

在这项研究中,我们关注代理的任务内泛化能力,代理的目标是学习一种通用交易策略,在测试和培训期间产生可比的投资组合绩效。这个目标类似于[9]、[11]中的目标。然而,与金融领域的 RL 研究类似,提高金融领域泛化能力的研究一直基于基于历史价格的训练环境。因此,文献中仍未解决上述使用历史数据的问题。

C. 人工市场模拟

长期以来,研究人员一直试图模拟投资者的行为。开创性的研究集中在有效市场假说 (EMH) [24]的潜力上,该假说认为人们总是有足够的理性来做出最佳决策。然而,其他研究人员发现,人们确实会做出不合理的决定,例如在羊群效应下[25]。因此提出了行为经济学来模拟这种非理性。最近的研究集中在行为预测上。根据 Lovric等人的说法。 [26],投资决策可以建模为投资者与环境相互作用的结果。研究还提出了几个影响投资过程的相互依赖的变量,例如时间偏好、风险态度和性格。此外,在 Shantha等人 提出的框架中。[27],投资者从他们的交易经验中学习(个体学习)或通过模仿他人(社会学习)。

人工市场模拟使研究人员能够构建无法在历史数据中捕获的情况。因此,此类模拟被广泛用于分析金融中的各种问题,例如卖空规定[28]、交易税[29]和订单匹配系统的速度[30]。基于代理的模拟结合了多个代理来再现真实市场中的程式化事实,是人工市场模拟中最常见的技术。模拟过程包括几个部分。首先,定义了相关主体的智力水平、效用函数和学习能力[31]。二、资产价格确定[32]. 三是申报人工市场建设涉及的交易资产种类和数量[33]。第四,确定与智能体智能水平高度相关的学习过程[34],[35]。第五,最后,对模拟市场进行校准和验证。具体来说,校准是选择使模拟市场表现最接近真实市场的参数,而验证则涉及模拟市场的表现是否与真实市场一样。除了使用基于代理的模型构建模拟市场外,Li等人。 [36]提出 Stock-GAN 以高保真度生成限价订单数据,以支持连续交易系统中的市场设计和分析。在这项研究中,我们利用生成模型来构建金融市场。我们不仅重构了一个具有现实定价机制的金融市场,还将模拟市场与RL交易代理相结合。通过将市场模拟与基于 RL 的投资组合优化框架相结合,我们克服了上述使用历史价格数据进行代理优化的缺点。

第三部分。

预赛

本节陈述假设,讨论本研究的局限性,并阐述在投资组合管理中应用 RL 的问题。

A. 假设

我们提出了一个生成模型来模拟市场对代理人行为的反应。因此必须做出以下假设:

  • 由于模拟金融市场负责对代理人的行为产生合理的反应,因此假定代理人有能力影响市场上其他投资者的行为。

  • 投资者的订货行为充分反映了外生变量对金融市场的影响。因此,我们在综合合理的市场反应时,只对市场排序行为进行建模。

除了这些假设之外,这项研究还有另一个局限性。由于我们仍然缺乏系统的方法来验证生成的限价订单的真实性,因此在模拟金融市场中评估投资组合绩效可能会使代理人面临不切实际估计的风险。因此,我们使用历史价格数据来评估泛化能力。

B. 问题定义

投资组合管理是一个决策过程,其中资金不断地重新分配到不同的资产。投资组合策略制定的过程可以表述为 MDP。MDP 表示为一个元组<小号,一个,磷, , ,p0, c> , 在哪里小号 是状态空间,A 行动空间,P 状态转移函数,R 奖励函数,p0 初始状态的概率分布,以及C∈ [ 0 , 1 ) 奖励折扣系数。在投资组合管理的情况下,代理旨在找到最优策略π(一个|s ) , 其中动作一个∈一个 关于状态是最优的小号∈小号 . 在这个最优策略中,期望回报最大化:

π*=参数最大E [∑t = 0∞γ吨R (秒吨,A吨) ] ,(1)
查看源代码

在哪里秒0~p0,A吨∼ π( ··· _秒吨)和_ _ _秒吨+ 1~ P( ··· _秒吨,A吨) . 基于 RL 的投资组合管理框架主要包含环境和代理。从 MDP 到学习框架的映射描述如下。

1)环境

环境的设计包括以下要素: (1) 状态秒吨∈小号 ,其中包含代理的交易状态或环境提供的价格序列的周期;(2) 状态转移P( ··· _秒吨,A吨) ,呈现下一个状态秒吨+ 1 给定先前的状态和动作;(3) 奖励函数R (秒吨,A吨) ,这是定义代理的投资组合绩效的效用函数,并作为代理最大化的目标函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/451102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASEMI代理ADG736BRMZ-REEL7原装ADI车规级ADG736BRMZ-REEL7

编辑&#xff1a;ll ASEMI代理ADG736BRMZ-REEL7原装ADI车规级ADG736BRMZ-REEL7 型号&#xff1a;ADG736BRMZ-REEL7 品牌&#xff1a;ADI /亚德诺 封装&#xff1a;MSOP-10 批号&#xff1a;2023 安装类型&#xff1a;表面贴装型 引脚数量&#xff1a;10 类型&#xff1…

c/c++:指针p+p-p*p/,数组a+1,指针减指针,指针实现strlen函数,指针的比较运算,指针数组,多级指针

c&#xff1a; 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;此时学会c的话&#xff0c; 我所知道的周边的会c的同学&#xff0c;可手握10多个offer&#xff0c;随心所欲&#xff0c;而找啥算法岗的&#xff0c;基本gg 提…

IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot

目录 为什么编译驱动程序之前要先编译内核&#xff1f; 驱动程序要用到内核文件&#xff1a; 编译内核 编译安装内核模块 编译内核模块 安装内核模块到 Ubuntu 某个目录下备用 安装内核和模块到开发板上 Bootloader 介绍 编译 u-boot 镜像 为什么编译驱动程序之前要先编…

4.4 使用分组聚合进行组内计算

4.4 使用分组聚合进行组内计算 4.4.1 使用groupby方法拆分数据groupby方法的参数及其说明&#xff1a;groupby对象常用的描述性统计方法如下&#xff1a; 4.4.2 使用agg方法聚合数据agg函数和aggregate函数的参数说明1、使用agg求出当前数据对应的统计量2、使用agg分别求字段的…

X509证书中的Subject Public Key Info

SubjectPublicKeyInfo在TBSCertificate的第七项: 对于ECC id-ecPublicKey OBJECT IDENTIFIER :: { iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) 1 } id-ecPublicKey 是必须的 ECParameters :: CHOICE {namedCurve OBJECT IDENTIFIER -- implicitCurve NULL -…

java day10

第10章 创建Swing界面 10.1 Swing的特性10.1.1 标准对话框1. 确认对话框2. 输入对话框3.消息对话框4. 选项对话框 10.1.2 使用对话框10.1.3 滑块10.1.4 滚动窗格10.1.5 工具栏10.1.6 进度条10.1.7 菜单10.1.8 选项卡式窗格 10.1 Swing的特性 10.1.1 标准对话框 JOptionPane类…

HTML5 <rt> 标签、HTML5 <ruby> 标签

HTML5 <rt> 标签 实例 HTML5 <rt>标签用于表示为<ruby>标签中的注释内容。 一个 ruby 注释&#xff1a; <ruby> 漢 <rt> ㄏㄢˋ </rt> </ruby> 尝试一下 浏览器支持 IE 9、Firefox、Opera、Chrome 和 Safari 支持 <rt> 标…

增广拍卖——二跳页下的拍卖机制探索

1. 引言 本文提出的方案已被WSDM 2023接收&#xff0c;论文&#xff1a;Boosting Advertising Space: Designing Ad Auctions for Augment Advertising&#xff0c; 下载&#xff1a;https://dl.acm.org/doi/abs/10.1145/3539597.3570381 信息流产品为了保障用户体验通常会严格…

关于python爬虫解析的问题

在进行Python爬虫解析时&#xff0c;需要注意以下事项&#xff1a; 1、良好的网站使用协议&#xff1a;需要遵守网站的robots.txt文件&#xff0c;以确保你的爬虫程序不会将网站拦截下来。 2、编码问题&#xff1a;需要正确设置HTTP头和解析器的编码&#xff0c;以确保爬虫程…

低代码开发重要工具:jvs-logic(逻辑引擎)可视化设计要素

逻辑引擎可视化的交互 可视化的服务编排是逻辑引擎的核心功能&#xff0c;逻辑引擎的界面可视化设计是为了方便用户使用和操作逻辑引擎而设计的。一个好的界面设计能够提高用户的工作效率和使用体验&#xff0c;同时也能增加软件的可靠性和可维护性。 以下是逻辑引擎界面可视化…

python数据分析综合案列--星巴克门店数据分析及可视化

本实训针对一组关于全球星巴克门店的统计数据&#xff0c;分析了在不同国家和地区以及中国不同城市的星巴克门店数量。 获取数据&#xff0c;数据放在directory.csv 这个案例主要分为以下几个部分&#xff1a; 数据清洗和预处理&#xff1a;使用 Pandas 进行数据清洗和预处理&…

windows下安装emscripten

Qt系列文章目录 文章目录 Qt系列文章目录前言一、Emscripten SDK介绍二、Emscripten SDK安装Get the emsdk repoEnter that directory 前言 由于Web端需要处理大量图像&#xff0c;大量图片的分辨率8k*8k&#xff0c;使用Canvas API&#xff08;画布&#xff09;是在HTML5中新…

(二)app自动化脚本录制回放

上一篇&#xff1a;(一)app自动化测试环境搭建&#xff08;maciosairtest &#xff09;_airtest环境搭建_要开朗的spookypop的博客-CSDN博客 注&#xff1a;后续都是用IOS设备来介绍自动化测试&#xff0c;安卓就不赘述了。 接上一篇&#xff0c;搭建好自动化测试环境后&#…

如何去阅读Java源码,我总结了18条心法

大家好&#xff0c;我是Martin。 这篇文章我准备来聊一聊如何去阅读开源项目的源码。 在聊如何去阅读源码之前&#xff0c;先来简单说一下为什么要去阅读源码&#xff0c;大致可分为以下几点原因&#xff1a; 最直接的原因&#xff0c;就是面试需要&#xff0c;面试喜欢问源码…

Docker实战笔记4-安装jenkins

转载请标明出处&#xff1a;http://blog.csdn.net/zhaoyanjun6/article/details/130318679 本文出自【赵彦军的博客】 文章目录 拉取 jenkins 镜像排查问题验证结果总结 拉取 jenkins 镜像 在官方镜像仓库查询 jenkins 镜像 https://hub.docker.com/r/jenkins/jenkins 拉取镜…

linux 安装php8.1 ZipArchive和libzip最新版扩展安装

1、概述 安装前咱们先看下我本地环境 [rootelk php8]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.9 (Maipo) [rootelk php8]# [rootelk php8]# ./bin/php -v PHP 8.1.18 (cli) (built: Apr 17 2023 13:15:17) (NTS) Copyright (c) The PHP Group Z…

onnx手动操作

使用onnx.helper可以进行onnx的制造组装操作&#xff1a; 对象描述ValueInfoProto 对象张量名、张量的基本数据类型、张量形状算子节点信息 NodeProto算子名称(可选)、算子类型、输入和输出列表(列表元素为数值元素)GraphProto对象用张量节点和算子节点组成的计算图对象ModelP…

命令模式解读

问题引进 看一个具体的需求 1) 我们买了一套智能家电&#xff0c;有照明灯、风扇、冰箱、洗衣机&#xff0c;我们只要在手机上安装 app 就可以控制对这些家电工作。 2) 这些智能家电来自不同的厂家&#xff0c;我们不想针对每一种家电都安装一个 App&#xff0c;分别控制&…

HTTP相关知识

HTTP HTTP 是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础&#xff0c;是一种 client-server 协议&#xff0c;也就是说&#xff0c;请求通常是由像浏览器这样的接受方发起的。一个完整的 Web 文档通常是由不同的子文档拼接而成…

苹果通讯录怎么备份?手机通讯录备份的方法看这里!

案例&#xff1a;手机通讯录怎么备份&#xff1f; 【友友们&#xff0c;想问下苹果手机的通讯录怎么样才能进行备份&#xff1f;可以解答我的疑惑吗&#xff1f;感谢&#xff01;】 在日常使用手机过程中&#xff0c;我们经常会遇到误删通讯录的情况。因此&#xff0c;备份通讯…