草庐IT

南洋理工发布量化交易大师TradeMaster,涵盖15种强化学习算法

机器之心 2023-03-28 原文
近日,量化平台大家庭迎来了一位新成员,基于强化学习的开源平台: TradeMaster— 交易大师。

TradeMaster 由南洋理工大学开发,是一个涵盖四大金融市场,六大交易场景,15 种强化学习算法以及一系列可视化评价工具的统一的,端到端的,用户友好的量化交易平台!

平台地址: https://github.com/TradeMaster-NTU/TradeMaster

背景介绍

近年来,人工智能技术在量化交易策略中正在占据越来越重要的地位。由于具有在复杂环境中突出的决策能力,将强化学习技术应用于量化交易中任务存在巨大的潜力。然而金融市场的低信噪比和强化学习算法训练不稳定的特点使得强化学习算法目前还无法大规模部署在真实金融市场中,具体挑战如下:

  1. 开发流程复杂,包含极大的工程量,难以实现
  2. 算法性能高度依赖于测试时的市场状态,风险较高,难以系统评价
  3. 算法的设计,优化,和维护有存在较高的技术门槛,难以大规模部署。
TradeMaster 的发布为这个领域提供了一款软件工具,一个行业基准和一类工业级产品接口以解决上文中的三个挑战。

TradeMaster 对于产学研用深度融合的潜在贡献

TradeMaster 框架

TradeMaster 由六个核心模块组成,包含了用于量化交易强化学习算法的设计,实现,测试,部署的完整流程,下面我们为大家具体介绍:

TradeMaster 平台的框架结构

数据模块:TradeMaster 提供了长周期多模态 (K 线和订单流) 不同粒度 (分钟级到日级) 的金融数据,涵盖四个主要市场:中国,美国股和外汇。

预处理模块:TradeMaster 提供了标准化的金融时序数据预处理的 pipeline,包含 6 个步骤:1. 数据清洗 2. 数据填充 3. 正则化 4. 自动特征发掘 5. 特征嵌入 6. 特征选择

模拟器模块:TradeMaster 提供了一系列的数据驱动的高质量金融市场模拟器,支持 6 个主流量化交易任务:1. 货币交易 2. 资产组合管理 3. 日内交易 4. 订单执行 5. 高频交易 6. 做市

算法模块:TradeMaster 实现了 7 个最新的基于强化学习的交易算法 ( DeepScalper,OPD,DeepTrader,SARL,ETTO,Investor-Imitator,EIIE ) 和 8 个经典强化算法 ( PPO,A2C,Rainbow,SAC,DDPG,DQN,PG,TD3 )。与此同时,TradeMaster 引入了自动化机器学习技术来帮助用户高效的调整训练强化学习算法的超参数。

评价模块:TradeMaster 实现了 17 个评价指标和可视化工具从收益能力,风险控制,多样性,可解释性,鲁棒性,通用型 6 个维度给出系统化的评价。以下是两个例子:

表示收益能力,风险控制,策略多样性的雷达图


金融时序数据可视化

运行流程伪代码

TradeMaster 基于面向对象的编程思想,对不同功能模块进行封装,实现了不同模块之前的功能解偶和封装,具有良好的可扩展性和复用性,具体流程包含如下 6 个步骤

测试结果

以道琼斯 30 指数上的投资组合这一经典任务为例,EIIE 算法在测试集上取得了稳定的正收益和较高的夏普比:


TradeMaster 教程

TradeMaster 提供了一系列针对多个金融市场不同交易任务的强化学习算法教程,通过 Jupyter Notebook 的形式呈现以方便用户快速上手:

详情见:https://github.com/TradeMaster-NTU/TradeMaster/tree/1.0.0/tutorial

有关南洋理工发布量化交易大师TradeMaster,涵盖15种强化学习算法的更多相关文章

  1. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  2. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  3. ruby-on-rails - 获取 ActionController::RoutingError(当尝试使用 AngularJS 将数据发布到 Rails 服务器时,没有路由匹配 [OPTIONS] "/users" - 2

    尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg

  4. iNFTnews | 周杰伦18年前未发布的作品Demo,藏在了区块链技术里 - 2

    当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在

  5. ruby - 如何在 Ruby 中从内存中 HTTP 发布流数据? - 2

    我想上传我在运行时用Ruby生成的数据,就像从block中提供上传数据一样。我找到的所有示例仅展示了如何流式传输必须在请求之前位于磁盘上的文件,但我不想缓冲该文件。除了滚动我自己的套接字连接之外,最好的解决方案是什么?这是一个伪代码示例:post_stream('127.0.0.1','/stream/')do|body|generate_xmldo|segment|body 最佳答案 有效的代码。require'thread'require'net/http'require'base64'require'openssl'class

  6. IDEA 2023.1 正式发布,新特性简介 - 2

     昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA

  7. Unity数据可视化图表插件XCharts3.0发布 - 2

    Unity数据可视化图表插件XCharts3.0发布历时8个多月,业余时间,断断续续,XCharts3.0总算发布了。如果要打个满意度,我给3.0版本来个80分。对于代码框架结构设计的调整改动,基本符合预期,甚是满意。相比之前的1.0和2.0版本,我认为3.0才是一个拿得出手给广大开发者使用的版本。1.0发布的时候,很兴奋,从0.1到1.0,也磨了一年,真的等不及想给大家试用了,还特地写过一篇文章以示庆祝。那个时候,1.0虽然还还不够完善,功能也不够丰富,但它是XCharts的开始,没有1.0,也就没有后面的2.0和3.0。后面的2.0发布,做了很多改进和优化,随着版本迭代,慢慢的发现有不少硬

  8. Python学习15:恺撒密码 B(python123) - 2

    描述恺撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪

  9. ruby-on-rails - 在 El Capitan 上安装 Rails 时出现 -lgmp 错误的库未找到(Mac OS 10.11.1 (15B42)) - 2

    在使用Rubyv2.2.2的ElCapitan(MacOSX10.11.1)上安装Rails时,出现以下错误:ERROR:Errorinstallingnokogiri:ERROR:Failedtobuildgemnativeextension./Users/jon/.rvm/rubies/ruby-2.2.2/bin/ruby-r./siteconf20151117-26799-ux15fd.rbextconf.rb--use-system-librariescheckingiftheCcompileraccepts...***extconf.rbfailed***Couldnotc

  10. ruby-on-rails - 在 Rails 中是否有比 Observers 更直接的方式来执行发布/订阅模式? - 2

    我有一个模型依赖于一个单独的、联合的模型。classMagazine图像是多态的,可以附加到许多对象(页面和文章),而不仅仅是杂志。杂志需要在相关图像发生任何变化时自行更新该杂志还保存了一张自己的截图,可用于宣传:classMagazine现在如果图像发生变化,杂志也需要更新其截图。所以杂志真的需要知道图片什么时候出了问题。所以我们可以天真地直接从封面图片触发屏幕截图更新classImage...但是图片不应该代表杂志做事然而,图片可以用于许多不同的对象,实际上不应该对杂志进行特定的操作,因为这不是图片的责任。该图像也可能附加到页面或文章,并且不需要为它们做各种事情。“正常”的rail

随机推荐