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)

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

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

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

相关文章

W801学习笔记十七:古诗学习应用——上

硬件驱动以及软件架构大体上已经完成,尚存一些遗漏之处,后续会寻找合适的时机进行补充。自此章起,将正式迈入软件应用阶段,尤其是游戏开发领域。 关于第一个应用,此前已有一些构想: 其一,随机…

【跟我学RISC-V】(二)RISC-V的基础知识学习与汇编练习

写在前面: 这篇文章是跟我学RISC-V的第二期,是第一期的延续,第一期主要是带大家了解一下什么是RISC-V,是比较大体、宽泛的概念。这一期主要是讲一些基础知识,然后进行RISC-V汇编语言与c语言的编程。在第一期里我们搭建了好几个环…

FBA头程空运发货流程详解|携手天图通逊,开启高效跨境物流之旅

在众多头程发货方式中,空运以其速度快、时效高的特点,成为许多卖家特别是急需快速补货或应对市场变化的友好选择,那FBA头程空运的发货流程是怎样的呢? 1、发货准备 在开始空运之前,首先需要进行发货准备。这包括将货物送达指定的…

【C++并发编程】(三)互斥锁:std::mutex

文章目录 互斥锁数据竞争C互斥锁lock() 和 unlock()std::lock_guard 互斥锁 数据竞争 在并发编程中,数据竞争是指多个线程同时对共享数据进行读写操作,并且至少有一个线程进行写操作,从而导致未定义的行为或结果。 下面给出一个例子&#x…

DETR类型检测网络实验2---优化测试

补全reference_point Anchor-DETR提出用预定义的参考点生成query_pos; DBA-DETR提出预定义参考信息由(x,y)增至(x,y,w,h) 那么在3D检测任务中是否可以把预定义参考信息补全为(x,y,z,l,w,h,sint,cost),而query_pos都是使用xy两个维度(因为是bev网络). (这种方法在Sparse-DETR中…

轻松应对数据恢复挑战:雷神笔记本,不同情况不同策略

在数字化时代,数据无疑是我们生活中不可或缺的一部分。无论是重要的工作文件、珍贵的家庭照片,还是回忆满满的视频,一旦丢失,都可能给我们的生活带来诸多不便。雷神笔记本作为市场上备受欢迎的电脑品牌,用户在使用过程…

计算机网络实验二:交换机的基本配置与操作

实验二:交换机的基本配置与操作 一、实验要求 (1)掌握windows网络参数的设置(TCP/IP协议的设置); (2)掌握交换机命令行各种操作模式的区别,以及模式之间的切换; (3)掌握交换机的全局的基本配置; (4)掌握交换机端口的常用配置参数; (5)查看交换机系统和…

Adobe-Premiere-CEP 扩展 入门-视频剪辑-去气口插件-Silence Remover

短视频,这两年比较火,不要再问为什么用Premiere,非常难用,为什么不用某影,某些国内软件非常接地气简单,又例如某音资深的视频短编辑就很好用了。。。 Premiere二次开发调试难,不如自己搞个cons…

perl:用 MIDI::Simple 生成midi文件,用 pygame 播放 mid文件

在 csdn.net 下载 strawberry-perl-5.32.1.1-64bit.zip 解压安装在 D:\Strawberry\ 运行 cpan install MIDI::Simple D:\Strawberry\c\bin\gmake.exe test -- OK Running make install for CONKLIN/MIDI-Perl-0.84.tar.gz Installing D:\Strawberry\perl\site\lib\MIDI.pm I…

libcity 笔记:支持的数据集

1 支持的数据集(model) 1.1 traffic_state_pred HA历史平均值,将历史流量建模为季节性过程,然后使用前几个季节的加权平均值作为预测值。VAR向量自回归SVR支持向量回归ARIMAAutoEncoderSeq2Seq采用基于门控循环单元的编码器-解码…

kubebuilder(6)webhook

operator中的webhook也是很重要的一块功能。也是相对比较独立的模块,所以放在后面讲。 webhook是一个callback,注册到k8s的api-server上。当某个特定的时间发生时,api server就会查询注册的webhook,并根据一些逻辑确认转发消息给…

【ARM Cortex-M3指南】3:Cortex-M3基础

文章目录 三、Cortex-M3基础3.1 寄存器3.1.1 通用目的寄存器 R0~R73.1.2 通用目的寄存器 R8~R123.1.3 栈指针 R133.1.4 链接寄存器 R143.1.5 程序计数器 R15 3.2 特殊寄存器3.2.1 程序状态寄存器3.2.2 PRIMASK、FAULTMASK和BASEPRI寄存器3.2.3 控制寄存器 3.3 操作模式3.4 异常…

KNN算法详解

KNN分类算法 K最近邻(K-Nearest Neighbors,KNN)算法是一种简单且直观的监督学习算法,用于分类和回归问题。在KNN分类中,通过将新数据点的特征与训练数据中的所有点进行比较,确定其最近邻居,并将…

经典后台管理UI控制台

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>西门星空乐园管理后台</title><script src"../vue_js/vue.js"></script><style>body {margin: 0;padding: 0;width…

MRI学习笔记-spm独立样本t检验

SPM操作&#xff1a; 9-SPM-fmri任务态 二阶分析&#xff1a; 双样本t检验 - 知乎 (zhihu.com) 批处理脚本&#xff1a; clc; clear; nmodel 3; numsub 27; rootdir D:\LLYdata\motor_inhibition_data2\motor_inhibition_fmri;%数据最上层路径 ffxname data_05_1st_leve…

使用FPGA实现串-并型乘法器

介绍 其实我们知道&#xff0c;用FPGA实现乘法器并不是一件很简单的事&#xff0c;而且在FPGA中也有乘法器的IP核可以直接调用&#xff0c;我这里完全就是为了熟悉一些FPGA的语法然后写了这样一个电路。 串-并型乘法器模块 从字面上看&#xff0c;串-并乘法器就是其中一个乘数…

Java面试问题及答案

Java面试问题及答案 以下是几个Java面试中可能会问到的问题及其答案。 1. 解释Java中的多态性是什么&#xff0c;以及它是如何工作的&#xff1f; 问题&#xff1a; 在Java中&#xff0c;多态性是指允许不同类的对象对同一消息做出响应的能力&#xff0c;即同一个接口可以被…

FastApi个人笔记

FastApi笔记 学习FastApi建议直接看官方文档:官方文档 文章目录 FastApi笔记一、环境准备1.1 安装Fast Api 二、第一个Restful API2.1 创建第一个代码框架async作用[(引自CSDN)](https://blog.csdn.net/The_Time_Runner/article/details/105646363): 2.2 运行第一个代码2.3 Swa…

Nodejs process.nextTick() 使用详解

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

OpenCV 为轮廓创建边界框和圆(62)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:OpenCV检测凸包(61) 下一篇 :OpenCV如何为等值线创建边界旋转框和椭圆(62) ​ 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 cv::boundingRect使用 OpenCV 函数 cv::mi…