量化进阶 · 组合与机器学习 · 第 3 期

RL 做交易,多半亏?

reinforcement learning in trading · why it usually fails

PPO 在 Atari 上吊打人类,搬到 A 股上多半亏成狗。不是算法不行,是问题结构变了:奖励稀疏、状态非平稳、过拟合样本、忽略成本。一句话——游戏规则固定,市场规则会变,RL 学的是过去,赚的是未来,这俩对不上。
⏱ 约 12 分钟 🎯 想用 RL 做策略的人 📦 源:sunday-quant-scientist

01反共识:RL 不是"自动赚钱",是"自动过拟合"

"让 agent 自己学怎么交易"听起来很美。问题是它学到的往往不是市场规律,而是训练集的偶然规律。

Atari 的规则 30 年不变,agent 玩 1 亿次还是同一个游戏。市场不是——2015 和 2024 的微观结构完全不同,agent 在 2015-2020 学到的策略,2021 后大概率失效。RL 的高自由度让它在非平稳序列上极容易过拟合,比监督学习还狠。

rt = ΔPnL − c·|trade| − λ·drawdownt

奖励函数是 RL 的灵魂,也是最容易翻车的地方。只奖励 PnL,agent 学会高频刷单吃成本;加交易成本项,agent 学会不交易;加 drawdown 惩罚,agent 学会一亏就跑。每一项都"对",组合起来就矛盾——奖励函数的设计本身就是量化研究,不是 RL 能自动解决的。

游戏规则固定,
市场规则会变。
灏天文库 · 量化进阶·组合与机器学习 P.07

02奖励函数拆解器:拆 PnL 看哪部分是真信号

调三项奖励权重——PnL、交易成本惩罚、回撤惩罚——看 agent 最终 PnL 怎么变、交易频率怎么变。权重不对,agent 学到的是"钻空子"而不是"做交易"。

🧪 奖励函数拆解器
调奖励权重,看 agent 学到的策略倾向与最终 PnL。
1.0
0.2
0.3
累计 PnL 回撤 交易频率
最终 PnL
—
交易频率
—
最大回撤
—

03RL 交易的四个陷阱

陷阱 1 · 奖励稀疏 + 长期反馈

一次持仓 30 天才平仓,奖励只在最后一天给。中间 29 天 agent 不知道做得对不对,credit assignment 极难。监督学习每条样本都有标签,RL 要等回合结束才有奖励——样本效率差一个数量级。

陷阱 2 · 状态非平稳

市场制度(regime)会切换:牛熊、流动性、波动率结构都在变。agent 在一个 regime 学的策略,换 regime 就失效。而 Atari 的状态分布是固定的,这是 RL 在交易上最根本的不匹配。

陷阱 3 · 样本过拟合

RL 自由度极高,policy 网络几百万参数,A股有效训练样本就那么几年。模型容量>>数据信息量,过拟合几乎是必然。PPO 在 Atari 能跑 1 亿次,交易上跑 1 亿次就过拟合 1 亿次。

陷阱 4 · 忽略成本与冲击

回测里交易免费,实盘里成本能吃掉一半收益。agent 学会高频交易,回测漂亮,实盘手续费+滑点直接亏穿。没把成本放进奖励函数的 RL,等于在另一个宇宙训练。

这四个陷阱不是"调调参数能解决"的,是问题结构层面的。所以业界做 RL 交易的人,多半把它用在执行层(怎么拆单减少冲击)而不是策略层(什么时候买卖)——执行层问题结构更接近 RL 擅长的马尔可夫决策过程。

RL 擅长执行,
不擅长择时。
灏天文库 · 量化进阶·组合与机器学习 P.08

04带走这套清单

✅ RL 交易 6 条避坑

  1. 先用监督学习打底:把 RL 当 fine-tune,而不是从零学,样本效率高得多。
  2. 奖励函数要反映真实目标:PnL 减成本减回撤,三项缺一不可。
  3. 分 regime 训练:牛熊分开训,别指望一个 agent 通吃所有市场。
  4. 限制模型容量:小网络+强正则,宁可欠拟合也别过拟合。
  5. 样本外 + walk-forward 必测:训练好不代表能用,滚动验证才诚实。
  6. 优先用在执行层:拆单、做市、冲击最小化,比择时更适合 RL。
回测里免费的交易,
实盘里吃掉一半收益。
灏天文库 · 量化进阶·组合与机器学习 P.09