1. 课程导入与样本外验证定位
板块轮动策略的研发,最容易出现的一个误区是:把回测曲线当成了策略能力的证明。事实上,一条漂亮的净值曲线只说明策略在已经看过的历史数据上拟合得不错,它无法回答一个更关键的问题——当市场进入一段策略从未见过的行情时,这套轮动规则还能不能站得住。样本外验证,正是为回答这个问题而存在的环节。
本课程围绕一个真实策略验证任务展开:给定一套基于行业动量与相对强弱的板块轮动规则,在严格隔离的数据区间上检验它的稳健性,并据此判断它是否值得进入实盘观察池。第 1 节先不急着写代码,而是把三件事讲清楚:样本外验证到底要验证什么、它在整个研发流程中处于什么位置、以及它与样本内回测的本质差别在哪里。
一、样本外验证的核心目标
样本外验证(Out-of-Sample Validation,简称 OOS)指的是:在策略参数、规则、筛选逻辑全部冻结之后,用一段未参与任何设计决策的数据去运行策略,观察其表现是否与样本内一致。它的目标不是"再跑一遍回测看看收益",而是完成三项判断:
- 过拟合检验:样本内的超额收益有多少来自真实规律,有多少来自对历史噪声的拟合。若样本外收益大幅衰减甚至转负,说明规则很可能在拟合噪声。
- 稳健性检验:策略在不同市场状态(单边上涨、震荡、快速下跌)下的表现是否可接受,最大回撤、胜率、换手是否出现样本内未暴露的极端值。
- 可部署性判断:结合交易成本、容量与信号滞后,判断策略在真实约束下是否仍有正期望,从而决定"进入观察池 / 继续修改 / 放弃"。
需要强调的是,样本外验证不能用来调参。一旦你根据样本外结果回头修改规则,这段数据就"污染"了,它不再是样本外,而变成了第二轮样本内。这是整个流程中最容易被违反、也最致命的纪律。
二、在策略研发流程中的位置
把板块轮动策略的研发拆开看,通常经历这样一条链路:提出轮动逻辑(例如"强者恒强"的动量假设)→ 构造因子与打分规则 → 样本内回测与参数选择 → 样本外验证 → 模拟盘/小资金实盘 → 持续监控与迭代。样本外验证处在"研发"与"实盘"之间的闸门位置,它的输出直接决定策略能否进入下一阶段。
下面这张图展示了这条研发链路,以及样本内外数据的分割关系。图中把时间轴切成三段:样本内区间用于设计与调参,样本外区间只用于一次性检验,两者之间留出一段隔离带以避免信号计算窗口跨越边界造成信息泄漏。
三、与样本内回测的本质区别
很多初学者把样本外验证理解为"换一段数据再回测一次",这个理解只对了一半。两者的差别不在于操作形式,而在于决策权限和信息隔离。
样本内回测中,研究者可以反复观察结果、调整参数、增删因子,直到曲线满意为止。这个过程本质上是研究者与数据之间的"对话",每一次调整都在向数据索取信息,因此样本内表现天然带有乐观偏差。样本外验证则要求研究者放弃这种对话权:规则一旦冻结,就只能运行一次、观察一次、下结论一次。它模拟的是真实投资中"未来不可预知、决策不可反悔"的处境。
由此带来几个实操上的具体差异。第一,评价指标的重心不同:样本内看收益与夏普,样本外更应关注衰减幅度——样本外年化收益相对样本内下降多少、最大回撤是否超出样本内区间、换手率是否异常抬升。第二,对交易成本的敏感度不同:样本外必须计入更保守的滑点与手续费假设,因为样本内的高换手策略在成本放大后往往迅速失效。第三,结论的表述不同:样本内可以说"策略表现良好",样本外只能给出"通过 / 有条件通过 / 不通过"的判定,并附上失效条件。
四、本课程的整体路线图
接下来的内容将沿着一条可执行的任务链推进,而不是停留在概念层面。整体安排大致分为四个阶段:
- 数据与规则准备:明确板块(行业指数)样本池、复权方式、调仓频率与打分规则,把策略写成可冻结的规则集,并划分样本内、隔离带、样本外三段区间。
- 样本内基线建立:在样本内区间完成参数选择,记录基准指标(年化收益、最大回撤、夏普、换手率、胜率),作为后续衰减比较的参照。
- 样本外一次性运行:冻结规则,在样本外区间运行,计入保守成本假设,输出与样本内同口径的指标,并计算衰减幅度。
- 结果判读与决策:依据预设的通过标准给出判定,识别策略的失效市场状态,形成是否进入观察池的结论与后续监控要点。
需要提醒的是,这条路线图里的每一步都可能有反复——例如样本外不通过时,需要回到规则层面重新设计,然后重新划分数据再验证。反复本身不是问题,问题是不要在同一个样本外区间上反复试错,否则验证就失去了意义。理解了这一点,才算真正理解了样本外验证的定位:它不是研发流程末尾的一道形式化手续,而是保护你不被自己回测曲线欺骗的那道闸门。