1. 风险控制概述:为什么机器学习策略需要风控?传统风控 vs ML风控的差异
大家好,我是你们的老朋友。今天咱们聊聊一个很实在的话题——风控。
做量化交易这些年,我见过太多人一上来就盯着收益率。模型回测漂亮,年化50%,夏普3.0,心里美滋滋。结果一上实盘,三天亏掉半年利润。为什么会这样?说白了,就是风控没跟上。
我个人习惯,做任何一个策略之前,先想清楚一个问题:这个策略在什么情况下会死?想明白了,再谈赚钱的事。
1.1 为什么机器学习策略需要风控?
你想想看,传统量化策略用的是线性回归、均值回归这些模型。逻辑清晰,参数少,行为可解释。但机器学习策略不一样——
- 模型复杂度高:动辄几百个特征,深层神经网络,你根本不知道它在学什么
- 过拟合风险大:我在项目中遇到过,一个LSTM模型回测漂亮得不像话,结果实盘直接崩了。后来发现,它学到的其实是数据里的噪声
- 分布外失效:市场环境一变,模型就懵了。2020年3月那次熔断,多少ML策略直接爆仓?
- 黑箱问题:你没法解释模型为什么做这个交易决策。监管问起来,你怎么说?
核心观点:机器学习策略不是不需要风控,而是需要更精细、更动态的风控。传统风控管不了ML模型的"野路子"。
1.2 传统风控 vs ML风控的差异
咱们直接上对比。我整理了一张表,把核心差异列出来——
| 维度 | 传统风控 | ML风控 |
|---|---|---|
| 风险来源 | 市场风险、信用风险、流动性风险 | 模型风险、过拟合风险、分布外风险 |
| 监控方式 | 固定阈值、VaR、压力测试 | 动态阈值、模型置信度、特征漂移检测 |
| 响应速度 | 日频或周频 | 实时或分钟级 |
| 可解释性 | 高(规则明确) | 低(需要SHAP、LIME等工具辅助) |
| 回测要求 | 简单回测即可 | 需要对抗验证、交叉验证、压力测试 |
| 容错能力 | 较低(规则硬约束) | 较高(概率化输出) |
嗯,这里要注意。传统风控不是不好,而是它解决不了ML特有的问题。举个例子——
传统风控的做法:设置最大回撤15%,到了就清仓。简单粗暴,但有效。
ML风控的做法:监控模型输出的概率分布是否发生漂移。如果模型突然对某个信号信心爆棚,但历史数据里从未出现过这种情况,那就得小心了。我曾经就因为没做这个检测,让一个模型在极端行情下满仓做多,结果...嗯,不提了。
1.3 ML风控的核心框架
我习惯把ML风控分成三个层次。下面这张图,是我自己总结的——
这三层是层层递进的关系。数据层出问题,模型层再牛也没用。模型层出问题,交易层再谨慎也白搭。我建议你从数据层开始搭,一层一层往上建。
1.4 避坑指南
我曾经踩过的坑:
- 回测时用了未来数据,模型表现好得离谱。后来发现是特征工程里不小心用了未来信息。嗯,这个坑很多人都会踩。
- 模型在训练集上表现完美,但验证集上一塌糊涂。当时我以为是数据问题,折腾了两周才发现是过拟合。从那以后,我每做一个模型必做对抗验证。
- 实盘时模型突然失效,但回测里完全没体现。后来加了分布外检测,才把这个问题控制住。
我的建议:
- 别一上来就搞复杂模型。先用线性模型跑通风控流程,再逐步升级
- 每个模型都要有"死亡条件"——什么情况下自动下线
- 风控日志一定要留全。出问题的时候,这些日志就是你的救命稻草
1.5 小结
机器学习策略的风控,说白了就是三件事:管好数据、管好模型、管好交易。传统风控解决不了ML特有的问题,所以我们必须自己搭一套体系。
我个人习惯,每做一个新策略,先花30%的时间搭风控框架。很多人觉得浪费时间,但真出了事,你会发现这30%的时间花得值。
好了,这一章就聊到这儿。记住一句话:没有风控的策略,就像没有刹车的跑车——跑得快,死得也快。