一、基线策略概述

什么是基线策略

先问个问题——你做过策略回测吗?

很多人跑完回测,看到收益率曲线漂亮得不行,立马就上线了。结果呢?实盘一跑,曲线直接崩了。为什么会这样?因为你的策略没有一个「锚」。

基线策略,说白了就是那个锚。

我个人的理解很简单:基线策略是一组可重复、可验证、可对比的规则集合。它不一定是最优的,但它必须是稳定的。你拿它当参照物,后续所有策略迭代,都要跟它比一比。

举个例子。我在做电商推荐策略时,第一版上线的是「热门商品兜底」。逻辑简单到令人发指——用户没历史行为?推销量最高的。这个策略的点击率大概在 3% 左右。后来团队做了十几个模型,有协同过滤、有深度学习,每次上线前都要跟这个 3% 的基线比。如果新模型跑不过基线,那就说明模型有问题,或者数据有问题,或者——基线该更新了。

核心定义:基线策略 = 当前已知最优的、可稳定复现的决策规则集合。它不是终点,而是起点。

基线策略在业务中的价值

我见过太多团队,一上来就搞复杂模型。结果折腾两个月,上线效果还不如简单的规则策略。为什么?因为没有基线,你根本不知道「好」的标准是什么。

基线策略的价值,我归纳为三点:

  1. 提供对比基准——新策略好不好?跟基线比。比基线好,说明有进步;比基线差,说明方向可能错了。
  2. 兜底保障——新策略出问题怎么办?切回基线。我在金融风控项目中就干过这事。新模型上线第一天,误杀率飙升,5 分钟内切回基线,业务零损失。
  3. 降低沟通成本——你跟业务方说「AUC 提升了 0.02」,对方一脸懵。你说「比现在线上跑的版本提升了 5% 的转化率」,对方立刻懂了。基线就是那个共同语言。
价值维度 具体表现 我踩过的坑
对比基准 新策略 vs 基线,量化提升 曾经没基线,新模型跑赢旧模型 2%,结果旧模型本身就有 bug
兜底保障 快速回滚,止损 有一次新策略导致线上超时,没有基线兜底,回滚花了 40 分钟
沟通对齐 统一度量衡 业务方说「效果好了」,我问「跟什么比好了?」——从此我坚持每个项目先定基线

基线策略的核心要素

基线策略不是随便拍脑袋定个规则就完事了。它有几个硬性要求,少一个都不行。

1. 可重复性

你今天跑的结果,明天还能跑出来吗?下周呢?

我遇到过最离谱的事:一个策略在周一跑出 10% 的转化率,周二同样的代码、同样的数据,跑出来只有 7%。查了半天,发现是上游数据表被重建了,字段类型变了,隐式转换导致部分数据被过滤掉了。

所以基线策略必须满足:输入确定,输出确定。代码版本、数据版本、参数配置,全部要锁定。

2. 可验证性

基线策略的效果,必须能被独立验证。你不能说「我觉得这个策略好」,你得拿出数据。

我个人的习惯是:基线策略上线后,至少跑满一个完整的业务周期(比如一周或一个月),收集足够多的样本,然后做统计检验。置信区间、p 值、效应量——这些指标都要算清楚。

小技巧:基线策略的验证数据集,建议单独留一份,不要跟训练集、测试集混在一起。我曾经因为数据泄露,基线指标虚高了 15%,后面所有策略迭代都基于一个错误的标准,浪费了两个月。

3. 稳定性

基线策略不能今天好、明天差。它得扛得住数据波动、流量波动、甚至外部环境变化。

我记得有一次做广告竞价策略,基线在实验室环境表现完美,上线后第一天效果也不错。结果第三天来了个大促,流量暴涨 10 倍,基线策略直接崩溃——因为它的计算复杂度是 O(n²),流量一高就超时。

从那以后,我定基线策略时一定会加一条:在峰值流量的 2 倍压力下,响应时间不超过 100ms。

4. 可解释性

这一点容易被忽略。基线策略往往是给业务方、给老板看的。你得能说清楚:为什么这个策略好?它做了什么决策?

复杂模型很难解释,但基线策略可以。比如「用户在过去 7 天内点击过某类商品,则推荐同类商品」——这句话业务方一听就懂。而一个 18 层的神经网络,你解释起来就费劲了。

注意:可解释性不等于简单。基线策略可以包含复杂的逻辑,但它的决策路径必须是可追溯的。我曾经用过一个带 50 个特征的线性模型做基线,每个特征的权重都能单独解释,业务方接受度很高。

基线策略的核心逻辑框架

下面这张图,是我做基线策略设计时常用的框架。它把上面讲的几个要素串起来了。

基线策略核心逻辑框架 基线策略核心逻辑框架 基线策略 可重复性 可验证性 稳定性 可解释性 关键要求 • 代码版本锁定 • 数据版本固定 • 参数配置可复现 关键要求 • 独立验证集 • 统计检验 • 置信区间计算 关键要求 • 抗数据波动 • 抗流量波动 • 压力测试通过 关键要求 • 决策路径可追溯 • 业务方易懂 • 权重/规则可解释 输出:稳定、可信、可对比的参照系

你看,这四个要素不是孤立的。可重复性是基础,没有它后面都白搭。可验证性保证你的基线不是「自嗨」。稳定性确保基线在真实环境中扛得住。可解释性让基线能跟业务方对齐。

缺了任何一个,基线策略都会出问题。我见过太多团队,基线策略做得花里胡哨,结果可重复性没做好,每次跑出来的结果都不一样——那这个基线还有什么意义?

什么时候该更新基线?

基线不是一成不变的。业务变了、数据变了、技术栈变了,基线也得跟着变。

我一般遵循这几个原则:

  • 业务周期更替——比如电商的大促前后,用户行为模式完全不同,大促期间的基线跟日常基线应该分开。
  • 数据分布发生显著变化——你发现基线策略的指标连续下跌,而且不是偶然波动,那就说明数据变了,基线该更新了。
  • 新策略稳定跑赢基线超过 2 周——这时候可以考虑把新策略升为新的基线。注意是「稳定跑赢」,不是某一天爆发。
我的经验:基线策略最好每季度 review 一次。如果业务变化快,可以缩短到每月。但不要频繁更换基线——你想想看,基线本身是用来做对比的,你三天两头换,那对比的基准就乱了。

嗯,这一章的内容差不多就这些。记住一句话:没有基线,一切策略迭代都是盲人摸象。后面我们会一步步深入,讲怎么设计、怎么落地、怎么迭代。但不管走到哪一步,基线策略这个锚,你得先立住。