FinRL / First Run

FinRL 首次运行:下载数据、训练、回测三步跑通

装好环境后,用官方 2026 教程的三个脚本跑通首次训练与回测:先下载道指 30 成分股数据并加工技术指标,再训练 5 个 DRL 智能体,最后回测对比均值方差优化(MVO)与道指基线。

数据:Yahoo Finance 道指 30训练:5 DRL 智能体
数据下载技术指标加工
训练5 个 DRL agents
回测对比 MVO/道指
FinRL 首次运行流程示意(基于官方 README 2026 Tutorial);示意非官方图。
Run

三个脚本跑通首次运行

官方 2026 教程提供三个 example 脚本,按顺序执行。

  1. 下载数据与预处理

    python examples/FinRL_StockTrading_2026_1_data.py —— 从 Yahoo Finance 下载道指 30 股票数据,加 MACD/RSI 等技术指标、VIX 与 turbulence index,切分为训练集(2014–2025)与交易集(2026-01-01 至 2026-03-20),存为 train_data.csv 与 trade_data.csv。

  2. 训练 DRL 智能体

    python examples/FinRL_StockTrading_2026_2_train.py —— 用 Stable Baselines 3 训练 5 个智能体(A2C、DDPG、PPO、TD3、SAC),模型存到 trained_models/。

  3. 回测

    python examples/FinRL_StockTrading_2026_3_Backtest.py —— 加载训练好的智能体在交易集上运行,与均值方差优化(MVO)和 DJIA 指数两个基线对比,控制台打印结果并保存 backtest_result.png。

Output

回测输出内容

回测脚本会输出关键指标与图表,帮助你判断不同算法表现。

输出说明
累计收益各智能体在交易集上的累计收益率
对比基线MVO(均值方差优化)与 DJIA 指数
backtest_result.png收益曲线对比图
Baseline

为什么要对比基线

强化学习策略必须和简单基线比才有意义,否则容易把随机波动当优势。

MVO 基线

均值方差优化是经典组合方法,作为被动基线之一。

DJIA 基线

道指指数作为「买入持有」的市场基准。

多算法横向

5 个 DRL 算法互相对比,看哪个在样本外更稳。

Caution

首次运行的注意事项

跑通不等于能赚钱,几个关键点要认清。

研究用途:经典 FinRL 面向教育/研究,回测结果仅代表历史表现,涉及数据、参数、成本与市场环境假设,不构成投资建议或收益保证。
不要直接实盘:任何策略都应先回测、模拟盘验证,再小仓试跑;未经充分验证不得把研究脚本当实盘策略。
FAQ

常见问题

FinRL 训练要多久?

取决于硬件(有无 GPU)、数据量、算法与训练步数。官方示例用道指 30 只股票,训练 5 个智能体在 CPU 上也可跑,但 GPU 会明显更快。

数据下载失败怎么办?

Yahoo Finance 接口可能限流或变动,检查网络、按需重试;必要时换其他数据源(如 Alpaca、WRDS 等)。

训练好的模型存在哪?

默认保存到 trained_models/ 目录,回测脚本从该目录加载。

回测结果好就代表策略有效吗?

不代表。回测存在过拟合风险,需样本外验证、考虑交易成本与滑点,并和基线长期对比。

跑通后,深入算法与数据

首次运行跑通了,下一步理解 5 种 DRL 算法与 14 个数据源的取舍。想快速验证 A 股/行情想法,可看 EasyClaw 量化 Skill 路线。