ElegantRL
AI4Finance 自家的轻量 DRL 算法库,代码优雅、面向研究者。
经典 FinRL 训练脚本默认用 Stable Baselines 3 实现这 5 种算法。
| 算法 | 类型 | 特点 |
|---|---|---|
| A2C | On-policy 演员评论家 | 优势函数减方差,稳定易实现,适合离散/连续动作入门 |
| DDPG | Off-policy 确定性策略 | 连续动作空间,适合高维连续控制,需经验回放 |
| PPO | On-policy 策略梯度 | clip 目标限制更新幅度,训练稳定,工程上最常用 |
| TD3 | Off-policy 确定性策略 | 双 Q 网络 + 延迟更新,缓解 DDPG 过估计 |
| SAC | Off-policy 最大熵 | 熵正则鼓励探索,样本效率高、表现稳健 |
FinRL 的 agents 目录支持三种 DRL 库,可替换使用。
AI4Finance 自家的轻量 DRL 算法库,代码优雅、面向研究者。
PyTorch 版主流 DRL 库,经典 FinRL 教程默认使用,文档完善。
Ray 生态的分布式 DRL 库,适合大规模并行训练。
按动作空间与训练偏好做初筛。
连续动作(如持仓比例/下单量)优先 DDPG/TD3/SAC;离散动作(如买/持/卖)A2C/PPO 也适用。
追求训练稳定用 PPO;样本有限又要探索充分用 SAC。
官方示例默认 5 种都训一遍,选样本外表现最稳的,而不是回测最高的。
强化学习在金融里最容易踩的坑不是代码,而是过拟合与奖励设计。
经典版教程用 Stable Baselines 3 训练 A2C、DDPG、PPO、TD3、SAC 五种;agents 目录还兼容 ElegantRL 与 RLlib。
PPO 训练稳定、实现成熟;SAC 样本效率高、探索充分。没有绝对答案,建议都跑一遍样本外对比。
2020-12 起升级为 PyTorch 版并采用 Stable Baselines3,早期 TensorFlow 1.x 已移除。
不是必须,但训练 5 个 DRL 智能体在 GPU 上会显著更快;CPU 也可跑官方示例。