Public/Private榜单:一场防刷榜的制度设计课
先掌握这个答案
机制:测试集被切成两块——Public(比赛期间可见,用于实时排名)与Private(终局才见,决定最终名次)。典型切分20%/80%或50%/50%。shake-up必然性:Public榜是「同一模型的另一次抽样」——名次本身有抽样误差(Public前10名的真实差距常小于噪声);对Public过拟合的模型(反复针对榜调参)在Private必然回落。三条铁律:①本地CV优先:一切决策看本地时序CV,Public榜只当「参考性抽检」;两者矛盾时信本地(除非证明本地有泄漏);②提交次数预算制:把提交当稀缺资源(每日限额),每用于「验证一个假设」而非「碰运气」;③终局策略:最后几天冻结模型,只做稳健化(ensemble/去极值),不引入新变体。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
先固定IC的实验口径
明确股票池、信号可得时点、预测持有期、相关方法及权重。IC阈值不能跨研究直接套用;重叠标签导致序列相关,ICIR或t值不能无条件按独立样本解释。最终还要检验成本、换手与容量。
本阶段实战方法 · 用实验记录把竞赛变成研究成果
参加BRAIN或金融预测比赛时,把平台成绩和可迁移的研究能力分别评价。
- 先阅读当前赛题数据、时间戳、评分、提交限制与使用条款;门槛以平台当期规则为准。
- 每次只改变一个假设,记录数据版本、公式、参数、seed、本地验证、提交分数和尝试次数。
- 固定验证后总结失败案例、成本敏感性和复现步骤,产出别人能核查的项目报告。
使用边界
- Public榜不是最终测试集,反复围绕它调参会产生选择偏差。
- 平台Alpha达标不代表可直接实盘,也不等于通过招聘或获得稳定收入。
- Public排名高=方案好:它是20%样本上的一次抽样;最终名次以Private为准——比赛的第一课就是别信实时榜
- shake-up是运气无法防:幅度可以管理:稳健模型(ensemble、少过拟合Public)的shake幅度通常小于激进模型
- 提交额度用满是赚:每次提交都在消耗「独立性」——频繁看榜调参=对Public训练,Private必跌
🛠 本题实践任务
跑通shake-up模拟,然后回答:①为什么Private噪声更小?(样本更大)②如果你是A队,赛中哪个信号本可提醒你正在过拟合Public?(CV与Public趋势背离)。把两条答案写进竞赛笔记。
💡 提示(先自己想5分钟再看)
把n_public改小看洗牌加剧——Public样本越小,榜越不可信(有的赛Public只占10%)。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
🤖 AI导师
导师会先检查你的前置知识(评价指标、本地验证概念),再用案例、公式和代码帮助理解。此功能需要先启用服务。