FinRL是一个开源框架,为从业人员提供一套统一框架进行流水线式的DRL交易策略开发,同时也可以帮助初学者快速上手。其设计之初秉承三大原则:
- 完整性:FinRL库应尽量涵盖DRL框架的组成部分,这是一个基本要求。
- 易于上手:我们的目标是为初学者提供一个友好的库。带有详细且易于上手的教程将帮助用户探索我们FinRL库的功能。
- 可复现:我们的库应保证可再现性,以确保其透明性,并使用户对其所做的工作充满信心。
基于以上的原则,我们设计了三层结构体系:股票市场环境层、Agents层和股票交易应用程序层。
Agents层以勘探开发方式与环境层交互,并决策是重复先前的工作还是采取新的行动以期获得更大的回报。下层为上层提供API,使下层对上层透明。
这样的设计有如下优点:
- 模块化:每个层包括几个模块,每个模块定义一个单独的功能。用户可以从任何层中选择某些模块来执行其股票交易任务。此外,可以更新现有模块。
- 简单、适用和可扩展性:FinRL库专为自动化股票交易而设计,将DRL算法模块化,使FinRL库易于使用。FinRL设计了三个交易任务,作为可以轻松复制的用例。每层都包含保留的接口,这些接口允许用户开发新模块。
- 更好的市场环境建模:我们构建了一个交易模拟器,该交易模拟器可以复现真实的股票市场并提供回测支持,其中包含重要的市场摩擦,例如交易成本,市场流动性和投资者的风险规避程度。所有这些都是影响净收益的关键因素。
想深入了解的朋友,欢迎查阅我们的代码和详细文档:https://github.com/AI4Finance-LLC/FinRL-Library