1. 股票市场环境

考虑到自动化股票交易任务的随机性和交互性,金融任务被建模为马尔可夫决策过程(MDP)问题。FinRL-Meta首先对市场数据进行预处理,然后构建股票市场环境。环境观察股票价格和多个特征的变化,代理采取行动并从环境中接收奖励,最后代理相应地调整其策略。通过与环境的交互,智能代理将得出一个交易策略,以最大化长期累积奖励(也称为Q值)。

我们的交易环境基于OpenAI Gym,使用真实市场数据进行时间驱动的市场模拟。FinRL库致力于提供由多个股票交易所数据集构建的交易环境。

在教程和示例部分,我们将通过强化学习环境的组件详细说明MDP的制定。

DRL在金融领域的应用与其他领域(如下棋和纸牌游戏)不同;后者本质上具有明确的环境规则。各种金融市场需要不同的DRL算法来获得最合适的自动化交易代理。意识到设置训练环境是一项耗时费力的工作,FinRL提供了基于代表性上市公司的市场环境,包括NASDAQ-100、DJIA、S&P 500、SSE 50、CSI 300和HSI,以及用户自定义环境。因此,该库使用户从繁琐且耗时的数据预处理工作中解放出来。我们知道用户可能希望在自己的数据集上训练交易代理。FinRL库为用户导入的数据提供了便捷的支持,并允许用户调整时间步长的粒度。我们指定了数据的格式。根据我们的数据格式说明,用户只需预处理他们的数据集。

../../_images/finrl_meta_dataops.png

我们在数据层遵循DataOps范式。

  • 我们为金融数据工程在RL中建立了一个标准流程,确保来自不同来源的不同格式数据可以整合到一个统一的框架中。

  • 我们使用数据处理器自动化这个流程,它可以访问数据、清理数据,并从各种数据源中高效地提取特征。我们的数据层为模型部署提供了灵活性。

  • 我们采用了一个训练-测试-交易流程。DRL代理首先从训练环境中学习,然后在验证环境中进行验证以进一步调整。接着,验证过的代理在历史数据集中进行测试。最后,测试过的代理将被部署在模拟交易或实盘交易市场中。首先,这个流程解决了信息泄露问题,因为在调整代理时交易数据从未泄露。其次,统一的流程允许公平比较不同的算法和策略。

../../_images/timeline.png

为了在金融领域进行数据处理和构建DRL环境,AI4Finance维护了另一个项目:FinRL-Meta