环境层

FinRL-Meta 遵循 OpenAI gym 风格,利用数据层清理后的数据创建市场环境。它提供了数百个具有通用接口的环境。用户可以轻松地基于 FinRL-Meta 环境构建自己的环境,分享结果并比较策略性能。未来我们将为方便起见添加更多环境。

纳入交易约束以模拟市场摩擦

为了更好地模拟真实世界的市场,我们纳入了常见的市场摩擦(例如,交易成本和投资者风险厌恶)和投资组合限制(例如,非负余额)。

  • 灵活的账户设置:用户可以选择是否允许保证金买入或卖空。

  • 交易成本:我们纳入交易成本以反映市场摩擦,例如,每次买卖交易的 0.1%。

  • 市场崩盘风险控制:在 FinRL 中,使用金融动荡指数来控制市场崩盘情况下的风险。然而,计算动荡指数耗时较长。可能需要几分钟,这不适用于模拟交易和实盘交易。我们将金融动荡指数替换为可以立即访问的波动率指数 (VIX)。

通过向量环境实现多进程训练

我们利用 GPU 进行多进程训练,即 Isaac Gym 的向量环境技术,这显著加速了训练过程。在每个 CUDA 核心中,交易代理与市场环境交互,产生 {state, action, reward, next state} 形式的转换。然后,所有转换都存储在回放缓冲区中以更新学习器。通过采用此技术,我们成功实现了数百个市场环境的多进程模拟,从而提高了 DRL 交易代理在大型数据集上的性能。