Deep Direct Reinforcement Learning for Financial Signal Representation and Trading

本文介绍了一篇关于使用深度强化学习(DRL)构建金融信号表示及交易系统的开创性论文。该研究利用深度学习与强化学习的结合,实现了首个真实交易系统的自主学习与优化,并通过实验证明了其有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇论文对我个人的意义挺大的,毕竟是入坑智能交易看的第一篇论文,这篇论文前前后后看了也不下十多遍,抛去其技术性的方面,整篇论文的排版、写作方式以及实验的对比都有很大的借鉴意义。原文在百度学术和google学术都可以找到。

题目:

《Deep Direct Reinforcement Learning for Financial Signal Representation and Trading》

发表于《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS 》期刊的一篇SCI一区的论文。

时间:

2016/1


简介:

随着人工智能技术的发展,用训练好的计算机已经可以打败世界第一的围棋大师了,那能不能通过训练好的模型来打败有经验的交易员呢,这也是该parper想要做的目的。当时DL深度学习刚刚兴起,该paper就抓住了这个机会,通过构建这样的模型DL+RL->DRL来实现交易系统的构建,因而在论文中有一句:“ to the best of our knowledge, this is the first paper to implement DL in designing a real trading system for financial signal representation and self-taught reinforcement trading”。


应用技术:

这篇paper并没有提出什么新颖的算法和什么独特的技术,通篇也并没有什么数学推导和大堆的公式,但是应用的技术特别的多,无论是机器学习、强化学习还是深度学习、模糊学习都有涉及,是一篇应用性的paper。

从模型的训练方向上有这几种方法

参数初始化:

AutoEncoder和Kmeans

特征学习和去噪:

Fuzzy Learning

Deep Learning

决策执行:

Deep RNN


论文结构:

1、Introduction(综述论文,主要从决策执行RL和特征学习DL进行阐述)

2、Related works(介绍RL和DL相关知识)

3、Direct Deep Reinforcement Learning(正题部分,模型的构建顺序)

4、DRNN Learning(模型的初始化,训练方式)

5、Experimental Verifications(多种方法对比)


模型结构:


论文中介绍的模型是一步步循序渐进的方式构建的,最终的模型如上。

就是通过输入的价格转换为向量,然后根据输入通过tanh函数进行求动作{-1, 0, 1},这里的动作也只是个近似的计算tanh在(-1,  1)的范围中:


然后根据价格差和动作计算t时间的收益:


最终目的就是让收益最大:



训练的过程是:

概括就是:

1、先将输入的价格数据输入模型,用来初始化Fuzzy层和Deep层的参数。

2、通过BPTT方法展开网络,再通过BP算法进行对展开的网络进行梯度下降来更新RNN和DNN中的参数。


实验对比:

训练和测试数据用的是商品期货(SU、AG)和股指期货(沪深300指数),红色是训练数据,后面的是测试数据。


实验对比了很多常用的方法,包括一些DNNs和一些RLs方法,最后的衡量时用了SR和TP指标。



最后对手续费进行了探讨,结果是本文中的方法可以在手续费较高的情况下任然可以获利。


总结:

1、创新之处来自与RL与DL的结合,文中提到是首篇paper。

2、实验充分,从多个角度(模型主体、交易费用等)进行了对比实验。

3、应用的技术多,将很多其他领域(如Fuzzy Learning)的技术应用于模型中。


个人拙见,仅供参考。ヾ(o◕∀◕)ノヾ



### 关于深度强化学习中的状态-动作表示学习 在深度强化学习(DRL)领域,状态-动作表示学习是一个核心主题。该过程旨在使代理能够有效地从环境中提取有用特征并构建有意义的状态和动作表征。 #### 表示学习的重要性 有效的状态-动作表示对于提高策略性能至关重要。当代理能够在高维输入空间中识别出重要的模式时,可以更高效地探索环境,并更快收敛至最优解。这种能力尤其体现在视觉输入的任务上,例如游戏或机器人导航,在这些场景下原始像素数据通常作为观测的一部分[^1]。 #### 方法论概述 为了实现高质量的状态-动作表示,研究者们提出了多种方法: - **自监督预训练**:利用未标记的数据预先训练模型以捕捉潜在结构,之后再针对特定任务微调参数。 - **对比学习**:通过最大化正样本对之间的一致性和最小化负样本间的相似度来增强区分不同情境的能力。 - **基于预测的方法**:鼓励网络学会对未来事件做出准确预报,从而间接促进良好内部表达的发展。 ```python import torch.nn as nn class StateActionRepresentation(nn.Module): def __init__(self, input_dim, hidden_dims, output_dim): super(StateActionRepresentation, self).__init__() layers = [] dims = [input_dim] + hidden_dims for i in range(len(dims)-1): layers.append(nn.Linear(dims[i], dims[i+1])) layers.append(nn.ReLU()) layers.append(nn.Linear(hidden_dims[-1], output_dim)) self.model = nn.Sequential(*layers) def forward(self, x): return self.model(x) ``` 此代码片段展示了一个简单的神经网络架构用于创建状态-动作表示的例子。实际应用中可能会更加复杂,涉及卷积层或其他类型的模块取决于具体的应用需求。 #### 结合速率失真理论优化表示质量 考虑到有限的信息传递能力和存储资源,速率失真理论为理解如何平衡信息量与决策准确性提供了框架。这有助于设计更好的算法来获得既紧凑又具有表现力的状态-动作编码方案[^2]。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值