一、基线策略概述
什么是基线策略
先问个问题——你做过策略回测吗?
很多人跑完回测,看到收益率曲线漂亮得不行,立马就上线了。结果呢?实盘一跑,曲线直接崩了。为什么会这样?因为你的策略没有一个「锚」。
基线策略,说白了就是那个锚。
我个人的理解很简单:基线策略是一组可重复、可验证、可对比的规则集合。它不一定是最优的,但它必须是稳定的。你拿它当参照物,后续所有策略迭代,都要跟它比一比。
举个例子。我在做电商推荐策略时,第一版上线的是「热门商品兜底」。逻辑简单到令人发指——用户没历史行为?推销量最高的。这个策略的点击率大概在 3% 左右。后来团队做了十几个模型,有协同过滤、有深度学习,每次上线前都要跟这个 3% 的基线比。如果新模型跑不过基线,那就说明模型有问题,或者数据有问题,或者——基线该更新了。
基线策略在业务中的价值
我见过太多团队,一上来就搞复杂模型。结果折腾两个月,上线效果还不如简单的规则策略。为什么?因为没有基线,你根本不知道「好」的标准是什么。
基线策略的价值,我归纳为三点:
- 提供对比基准——新策略好不好?跟基线比。比基线好,说明有进步;比基线差,说明方向可能错了。
- 兜底保障——新策略出问题怎么办?切回基线。我在金融风控项目中就干过这事。新模型上线第一天,误杀率飙升,5 分钟内切回基线,业务零损失。
- 降低沟通成本——你跟业务方说「AUC 提升了 0.02」,对方一脸懵。你说「比现在线上跑的版本提升了 5% 的转化率」,对方立刻懂了。基线就是那个共同语言。
| 价值维度 | 具体表现 | 我踩过的坑 |
|---|---|---|
| 对比基准 | 新策略 vs 基线,量化提升 | 曾经没基线,新模型跑赢旧模型 2%,结果旧模型本身就有 bug |
| 兜底保障 | 快速回滚,止损 | 有一次新策略导致线上超时,没有基线兜底,回滚花了 40 分钟 |
| 沟通对齐 | 统一度量衡 | 业务方说「效果好了」,我问「跟什么比好了?」——从此我坚持每个项目先定基线 |
基线策略的核心要素
基线策略不是随便拍脑袋定个规则就完事了。它有几个硬性要求,少一个都不行。
1. 可重复性
你今天跑的结果,明天还能跑出来吗?下周呢?
我遇到过最离谱的事:一个策略在周一跑出 10% 的转化率,周二同样的代码、同样的数据,跑出来只有 7%。查了半天,发现是上游数据表被重建了,字段类型变了,隐式转换导致部分数据被过滤掉了。
所以基线策略必须满足:输入确定,输出确定。代码版本、数据版本、参数配置,全部要锁定。
2. 可验证性
基线策略的效果,必须能被独立验证。你不能说「我觉得这个策略好」,你得拿出数据。
我个人的习惯是:基线策略上线后,至少跑满一个完整的业务周期(比如一周或一个月),收集足够多的样本,然后做统计检验。置信区间、p 值、效应量——这些指标都要算清楚。
3. 稳定性
基线策略不能今天好、明天差。它得扛得住数据波动、流量波动、甚至外部环境变化。
我记得有一次做广告竞价策略,基线在实验室环境表现完美,上线后第一天效果也不错。结果第三天来了个大促,流量暴涨 10 倍,基线策略直接崩溃——因为它的计算复杂度是 O(n²),流量一高就超时。
从那以后,我定基线策略时一定会加一条:在峰值流量的 2 倍压力下,响应时间不超过 100ms。
4. 可解释性
这一点容易被忽略。基线策略往往是给业务方、给老板看的。你得能说清楚:为什么这个策略好?它做了什么决策?
复杂模型很难解释,但基线策略可以。比如「用户在过去 7 天内点击过某类商品,则推荐同类商品」——这句话业务方一听就懂。而一个 18 层的神经网络,你解释起来就费劲了。
基线策略的核心逻辑框架
下面这张图,是我做基线策略设计时常用的框架。它把上面讲的几个要素串起来了。
你看,这四个要素不是孤立的。可重复性是基础,没有它后面都白搭。可验证性保证你的基线不是「自嗨」。稳定性确保基线在真实环境中扛得住。可解释性让基线能跟业务方对齐。
缺了任何一个,基线策略都会出问题。我见过太多团队,基线策略做得花里胡哨,结果可重复性没做好,每次跑出来的结果都不一样——那这个基线还有什么意义?
什么时候该更新基线?
基线不是一成不变的。业务变了、数据变了、技术栈变了,基线也得跟着变。
我一般遵循这几个原则:
- 业务周期更替——比如电商的大促前后,用户行为模式完全不同,大促期间的基线跟日常基线应该分开。
- 数据分布发生显著变化——你发现基线策略的指标连续下跌,而且不是偶然波动,那就说明数据变了,基线该更新了。
- 新策略稳定跑赢基线超过 2 周——这时候可以考虑把新策略升为新的基线。注意是「稳定跑赢」,不是某一天爆发。
嗯,这一章的内容差不多就这些。记住一句话:没有基线,一切策略迭代都是盲人摸象。后面我们会一步步深入,讲怎么设计、怎么落地、怎么迭代。但不管走到哪一步,基线策略这个锚,你得先立住。