WWW‘24 | 课程学习CL+模仿学习IL用于ETF及商品期货交易

WWW'24 | 课程学习CL+模仿学习IL用于ETF及商品期货交易

原创 QuantML QuantML 2024-05-04 13:47

论文地址:[2311.13326] Curriculum Learning and Imitation Learning for Model-free Control on Financial Time-series (arxiv.org)

本文探讨了在金融时间序列数据上应用课程学习(Curriculum Learning, CL)和模仿学习(Imitation Learning, IL)的方法,特别是在模型无关控制任务上。

摘要(Abstract)

  • 背景:尽管课程学习和模仿学习在机器人领域得到了广泛应用,但在处理高度随机的金融时间序列数据控制任务上的研究却很少。

  • 方法:文章通过数据增强实现了课程学习的基础思想,并通过从预言者(oracle)中提取策略来实现模仿学习。

  • 发现:研究发现课程学习是提高复杂时间序列控制任务性能的一个新方向。尽管在基线调整中给予了基线优势,但随机种子外样本实证研究和消融研究对课程学习非常有利。另一方面,模仿学习应谨慎使用。

引言(Introduction)

  • 挑战:优化投资组合和交易市场一直是一个挑战,尤其是在批评人类管理者随意管理资金的文献背景下。

  • 数据限制:与物理系统不同,金融控制领域的训练数据是固定的,并且只能在时间维度上进行抽样。

相关工作(Related Works)

  • 课程学习:在深度学习和强化学习系统中,课程学习通过先让网络接触简单数据,然后逐步接触更复杂的数据来训练。

  • 模仿学习:在机器人控制学习领域,模仿学习通过模仿专家或预言者的行为来训练学生(待训练的代理)。

金融控制的强化学习(RL for Financial Control)

  • 进展:自2020年以来,强化学习在金融控制方面取得了显著进展,利用大型数据集和神经网络改进金融决策,而不依赖于模型假设。

信号与噪声的初步讨论(Preliminary: Signal and Noise)

  • 噪声与信号:所有与公共金融市场交互的顺序控制任务都受到高随机性和随之而来的高噪声-信号比的影响。

方法(Method)

  • 投资组合控制作为马尔可夫决策过程:将一系列金融控制任务,如交易、投资组合优化和最优执行等,视为通过离散动作集与市场互动的马尔可夫决策过程(MDP)。

  • 模仿学习:模仿学习是一种学习策略,其中一个智能体(称为学生)通过观察另一个智能体(称为老师或专家)的行为来学习。在单学习者设置中,模仿学习通过模仿预言者的行为来训练学生代理,使其学习符合环境约束的最优策略,模仿学习的具体训练过程为:

      • 专家模型训练:

        • 首先,训练一个专家模型(Oracle),它可以访问未来的数据,从而能够确定最优的决策路径

      • 策略提取:

        • 从专家模型中提取出最优策略,这些策略是确定性的,并且遵循环境的约束。

      • 学生模型训练:

        • 学生模型(Agent)通过模仿学习来复制专家的行为。学生模型被训练以最小化其行为与专家策略之间的差异。

      • 直接策略蒸馏(Direct Policy Distillation, DPD):

        • 学生模型通过直接模仿专家的策略来进行训练,而不是通过与环境的交互来学习。

      • 训练过程:

        • 使用强化学习算法(例如PPO, TRPO, A2C)来训练学生模型,同时使用专家策略作为训练信号。

      • 标签空间的确定性:

        • 模仿学习过程中,标签空间(即行动空间)是确定性的,因为专家的决策是基于完整信息集的。

  • 课程学习:课程学习是一种逐步训练学习系统的方法,它将学习过程分解为一系列逐渐增加难度的任务。通过在训练期间平滑噪声时间序列数据来实现课程学习。文章假设轻微的数据平滑将减少噪声的影响,而对信号的影响较小,课程学习的训练果果成为:

      • 数据增强:

        • 通过对原始金融时间序列数据应用数据增强技术,如指数移动平均(EMA)或舍入(rounding),来平滑数据。

      • 分阶段训练:

        • 训练过程被分为多个阶段,每个阶段都使用不同程度平滑的数据。开始时使用高度平滑的数据,然后逐步减少平滑程度。

      • 逆向平滑(Inverse-Smoothing, IS):

        • 从高度平滑的数据开始训练,逐步过渡到较少平滑或未平滑的数据。

      • 调整的逆向平滑(Tuned Inverse-Smoothing, TIS):

        • 在验证集上调整平滑程度的超参数,以找到最佳的平滑级别。

      • 训练算法:

        • 使用强化学习算法来训练模型,同时应用课程学习策略。

      • 状态表示:

        • 利用历史数据点生成状态表示,可能包括使用滑动窗口或递归网络(如LSTM)来捕捉时间依赖性。

      • 超参数调整:

        • 对于课程学习中的每个阶段,调整超参数以优化模型性能。

      • 训练和验证:

        • 在训练集上训练模型,并在验证集上评估其性能,以确定是否需要调整平滑程度或模型参数。

数据(Data)

  • 数据集:选择两个代表性的金融时间序列数据集来测试提出的方法,基于交易量选择金融变量:

    • 宏观ETFs环境(Macro ETFs):

      • 这个数据集包含了跨资产类别的投资组合,涉及不同的金融工具,如商品、货币、固定收益和利率等。

      • 数据集包含了一系列的ETFs(交易所交易基金)和其他金融变量,用以模拟跨资产类别的问题。

    • 商品期货环境(Commodity Futures):

      • 这个数据集专注于单一资产类别,即商品期货。

      • 数据集包含了多种商品期货合约,如小麦、玉米、铜、银、黄金、铂金、原油和取暖油等。

优化约束(Optimization Constraints)

  • 约束:为了提高研究的鲁棒性,对每个数据集应用了硬约束,模仿现实世界的投资组合优化问题。

实证研究(Empirical Study)

  • 实验:使用多层感知器(MLP)基础的实验,比较了提出的方法与启发式和强化学习基线的性能。

消融研究(Ablation Study)

  • 分析:对模仿学习方法和课程学习方法进行了额外的消融研究,以更好地理解结果。

结果分析与讨论(Analysis and Discussion Results)

  • 结果:课程学习方法在所有测试环境中均显示出优越的性能,而模仿学习方法的性能显著下降。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大聪明原理

原创 | 刘教链 不知不觉之间,BTC(比特币)快速完成了一个V形反转:从5月2日低开56.8k连涨3天,重回64k一线,已超过4月30日开盘价63k。反转的原因,在5.3教链内参《美就业数据爆冷门,BTC急…

Claude聊天机器人推出全新iOS客户端及团队专属计划

Anthropic 正在使其 Claude AI 更易于在移动设备上访问。该公司发布了适用于 iOS 的 Claude 移动应用程序,任何用户都可以免费下载。与聊天机器人的移动网络版本类似,该应用程序跨设备同步用户与 Claude 的对话,允许他们从计算机跳转到应用程序(反之亦然),而不会丢失聊天…

【信息收集-基于字典爆破敏感目录--御剑/dirsearch

两个工具都是内置字典来对于目录进行爆破的,这是信息收集的一部分,若能在列举出的目录中找到有价值的信息能为后续渗透做准备。 御剑比较简便 dirsearch需要集成python3.x环境,但是可选的命令更多。两者爆破的结果不一定相同,可以…

Linux课程机房虚拟机

Linux课程机房虚拟机 机房虚拟机(默认不能联网的): 百度网盘:https://pan.baidu.com/s/1WqSvqB3Y7b_D4690CDBlJA?pwdaugc 123网盘:https://www.123pan.com/s/tQ0UVv-LiolA.html提取码:F4xm ‍ 联网使用说明&…

CC工具箱1.2.8更新_免费_90+工具

​CC工具箱1.2.8更新【2024.5.5】 使用环境要求:ArcGIS Pro 3.0 一、下载链接 工具安装文件及使用文档: https://pan.baidu.com/s/1OJmO6IPtMfX_vob3bMtvEg?pwduh5r 二、使用方法 1、在下载链接中下载安装文件【CC工具箱1.2.8.esriAddinX】&#xf…

回归测试的几种方法

回归测试,是对修复Bug后的软件进行验证,确保所有缺陷得到修复,并且没有引入新的Bug。 如果确保缺陷得到修复,那么只需要执行发现缺陷的测试用例,但这样不能排除引入新的Bug;而如果把所有测试用例都执行一遍…

fatal: fetch-pack: invalid index-pack output

解决方案:git clone --depth1 要克隆的git地址 下载最近一次提交的代码 其他分支的内容都不下载 这样整体下载体量就变小了 执行命令:git clone --depth 1 https://gitlab.scm321.com/ufx/xxxx.git

交叉导轨维护和保养的方法!

交叉导轨系统作为一种常见的机械传动装置,广泛应用于各种精密机械设备中。为了确保交叉导轨系统的正常运行和延长其使用寿命,定期维护和保养是至关重要的。 1、清洁:定期清理交叉导轨表面的灰尘、油污等杂质,保持其清洁。在清理过…

【LinuxC语言】setitimer与getitimer函数

文章目录 前言一、setitimer() 函数二、getitimer() 函数三、示例代码总结 前言 在Linux系统下,编写程序时经常需要使用定时器来实现一些定时任务、超时处理等功能。setitimer() 和 getitimer() 函数是两个用于操作定时器的重要函数。它们可以帮助我们设置定时器的…

5月1日江苏某厂冷却塔清洗工作汇报-智渍洁

日期:5月1日 施工人员:张能超,张伟,刘平,曾巧 地点:江苏**** 事项:空冷器清洗 今日工作:设备安装完成,泡了三台 5月1日江苏某厂冷却塔清洗工作汇报 - 重庆智渍洁环保科技…

二进制,八进制,十六进制转十进制 c++

紧接着十进制转二进制,八进制,十六进制-CSDN博客这篇文章 输入一个二进制,八进制的数,怎样能转化为十进制呢? 原理如下: K进制转十进制 按权相加法展开成一个多项式,每项是该位的数码与相应…

【kettle006】kettle访问华为openGauss高斯数据库并处理数据至execl文件(已更新)

1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下华为openGauss高斯数据库相关知识体系 3.欢迎批评指正,跪谢…

2024年汉字小达人活动还有5个月开赛:来做18道历年选择题备考吧

距离2024年第11届汉字小达人比赛还有四个多月的时间,如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。②把历年真题刷刷熟,这对了解汉字小达…

任何人都可做的兼职副业,一单29.9元,利润70%的怀旧游戏项目

偶然发现一个博主正在直播玩一款经典的俄罗斯方块游戏机。这款游戏机年代久远,勾起了我对学生时代的无尽回忆。 那时,看到同学们玩这款游戏,我总是心生羡慕。为了能拥有一台自己的游戏机,我曾节衣缩食,悄悄攒钱购买。…

C++类定义时成员变量初始化

在C11中允许在类定义时对成员变量初始化。 class A { public:A() { }void show(){cout << "m_a " << m_a << endl;cout << "m_b " << m_b << endl;} private:int m_a 10;//类定义时初始化int m_b; //没有初始化…

CP,FT,WAT有什么区别?

‍ 知 识星球&#xff08;星球名&#xff1a; 芯片制造与封测社区&#xff0c;星球号&#xff1a; 63559049&#xff09;里的学员问&#xff1a; CP,FT,WAT都是与 芯片的测试有关&#xff0c;他们有什么区别呢&#xff1f; 如何区‍分&#xff1f; ‍ ‍ CP,FT,WAT分别…

MySQL LRU算法(冷热数据分离)

背景 MySQL中使用的InnoDB存储引擎采用了一种特别的最近最少使用&#xff08;LRU, Least Recently Used&#xff09;算法来管理其Buffer Pool中的页&#xff08;包括数据页和索引页&#xff09;。Buffer Pool是InnoDB用来缓存数据&#xff0c;以减少磁盘I/O操作的内存区域。正…

python数据分析中数据可视化简单入门

1.折线图表 首先引入相关包pyecharts&#xff0c;如果没下载可以先下载 pip install pyecharts from pyecharts.charts import Lineline Line() # 添加x轴 line.add_xaxis([呱了个呱,羊村,牟多,蜂地,喵帕斯]) # 添加y轴 line.add_yaxis("GDP",[50,30,40,34,63,22])…

Jrebel 最新的 2023.4 、 2024.1 激活方法

Idea Jrebel 插件安装 在线激活 &#xff08;推荐&#xff09; 访问&#xff1a; https://www.jpy.wang/page/jrebel.html 在jrebel激活的时候填写相应的地址

逻辑漏洞:修改Response状态值导致的逻辑漏洞

目录 1、什么是respone状态值&#xff1f; 2、利用原理 3、PHPYUN人才招聘系统靶场演示 今天还是继续学习逻辑漏洞相关的知识&#xff0c;今天的主题是“修改Response状态值导致的逻辑漏洞”&#xff0c;今天的内容还是参考别的大佬总结好的&#xff0c;我只是在这里进行学习…