阶段9Kaggle 金融赛●●●●●

本地验证构建:Kaggle版的"防自欺协议"

我的掌握程度:
q-836精讲

先掌握这个答案

标准构造四步:①时序切分:训练/验证按时间墙(q-707)——绝不随机;②指标复刻:本地评分函数与官方逐位一致(含所有舍入与裁剪细节——差一点就误导方向);③多次留出:滚动留出3-5段(单段验证=单次抽样,运气成分大);④Group对齐:若官方按时间分组测试(如按天给分),本地验证也按天聚合计分(样本级与天级的排名可能不同)。三常见错误:①随机KFold(q-708三宗罪);②本地指标口径差(少个abs、多个clip——分数系统性偏差);③验证集参与特征工程(全样本统计量泄漏,q-506③)。CV-LB监控:每日记录本地CV与Public的相对变化——相关(同涨同跌)=指南针可信;背离=本地有问题(先修验证再改模型,q-838)。

先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。

从理解到使用

按标签区间检查泄漏

以实际预测目标设计时间切分,检查每条标签观察区间是否跨过验证边界。标准化、填充、特征选择和调参仅在训练内拟合;只按日期切开仍可能因标签重叠产生泄漏。

核对来源:scikit-learn:时间序列交叉验证 ↗

平台标准以当期官方规则为准

资格、评分、提交次数、算子和收益门槛都可能调整。保存规则快照与实验台账,避免围绕公开榜反复调参;平台成绩不能直接替代样本外研究证据或实际收益。

本阶段实战方法 · 用实验记录把竞赛变成研究成果

参加BRAIN或金融预测比赛时,把平台成绩和可迁移的研究能力分别评价。

  1. 先阅读当前赛题数据、时间戳、评分、提交限制与使用条款;门槛以平台当期规则为准。
  2. 每次只改变一个假设,记录数据版本、公式、参数、seed、本地验证、提交分数和尝试次数。
  3. 固定验证后总结失败案例、成本敏感性和复现步骤,产出别人能核查的项目报告。

使用边界

  • Public榜不是最终测试集,反复围绕它调参会产生选择偏差。
  • 平台Alpha达标不代表可直接实盘,也不等于通过招聘或获得稳定收入。
背景 · 从一个困惑说起
q-600(阶段6)写了回测的防自欺协议;Kaggle版同构——但多一个特殊约束:测试集是隐藏的,你的「样本外」全靠本地构造。本地验证的质量=你整场比赛的指南针;指南针歪了,三周努力全部偏航。
由此产生的问题
金融赛本地验证的标准构造(时序切分+指标复刻+多次留出)?CV与Public榜的相关性怎么监控与解读?验证构造的三个常见错误?
核心概念
标准构造四步:①时序切分:训练/验证按时间墙(q-707)——绝不随机;②指标复刻:本地评分函数与官方逐位一致(含所有舍入与裁剪细节——差一点就误导方向);③多次留出:滚动留出3-5段(单段验证=单次抽样,运气成分大);④Group对齐:若官方按时间分组测试(如按天给分),本地验证也按天聚合计分(样本级与天级的排名可能不同)。三常见错误:①随机KFold(q-708三宗罪);②本地指标口径差(少个abs、多个clip——分数系统性偏差);③验证集参与特征工程(全样本统计量泄漏,q-506③)。CV-LB监控:每日记录本地CV与Public的相对变化——相关(同涨同跌)=指南针可信;背离=本地有问题(先修验证再改模型,q-838)。
为什么需要它
①比赛就是研究:机构研究没有隐藏测试集,但有「未来的市场」——本地验证的训练就是为实盘造指南针;②时间的复利:开局花一天建验证,节省三周「跟着榜跑」的弯路——老手的优势一半来自这里;③纪律迁移:这套构造搬回个人项目=阶段6协议的执行细则,两个世界一门手艺。
实际应用场景
开工模板:valid.py(时序切分+官方指标复刻)+每日一条CV-LB记录;提交选择永远信CV不信LB(q-838铁律的落地件)。
与之前知识的联系
q-600(协议)的竞赛版;q-707/708/710(切分三法规)的应用;q-838/839(P/L与shake-up)的防御工事本体。
⚠ 常见误解
  • 有Public榜反馈就不需要本地验证:Public是20%样本的一次抽样——把它当验证集=对公开榜过拟合(shake-up的种子);
  • 本地CV分数够高就行:绝对值无意义(与LB有系统性偏移),重要的是「与LB的变化相关」——指南针只管方向
  • 验证代码随手写:指标复刻差一个细节(clip/round)就可能让你优化错误方向——逐位对齐是硬要求(拿官方example对拍)

🤖 AI导师

导师会先检查你的前置知识(指标口径、Purged CV),再用案例、公式和代码帮助理解。此功能需要先启用服务。