档案协议
本页记录信号档案的运行协议。协议自首次提交以来保持稳定,未作修改。
生成
每次市场窗口开始前,模型产出一条或多条信号。每条信号针对特定赛事在特定盘口下的结果进行预测。信号生成时,同步记录该赛事的皇冠赔率。整批信号序列化为 CSV 文件,压缩加密后以 zip 格式提交至本仓库。
信号生成至赛事开赛之间的时间间隔,不少于三十分钟。每个加密文件的 GitHub commit 时间戳,即为这一时序的规范证明。
结算
赛果在比赛结束后录入 track_record.csv。同一次 commit 中,对应 zip 文件的解密密码一并公开,使原始信号可被任何人独立验证。
结构不变量
档案遵循以下三条不变量,任一被违反即视为档案作废。
- 数量对应。track_record.csv 中的每一行都引用
/csv目录下一个真实存在的 zip 文件;/csv目录下的每一个 zip 文件都被 track_record.csv 中至少一行引用。不存在"孤儿"——不会有记录却无文件,也不会有文件却未被记录。 - 赔率可核验。信号生成时刻所记录的皇冠赔率,可在第三方赔率历史数据库中独立核验。
- 无事后删改。信号一经生成并 commit,不会因任何事后信息(包括市场波动、比赛过程、赛果)被从档案中删除或修改。
任何事后修改、删除、增加都会在仓库的提交历史中留下公开痕迹。
验证
验证任一条信号的步骤如下。
- 在
track_record.csv中定位该信号所在行,记录其对应的 zip 文件名与密码。 - 从仓库的
/csv目录下载该 zip 文件。 - 查看该 zip 文件的 commit 时间戳——应早于该场赛事开赛时间。
- 使用密码解压,计算内部 CSV 文件的 SHA256。
- 将其内容与
track_record.csv中对应行比对。
提供在线验证工具:在线验证 ↗,无需安装任何软件,浏览器即可独立完成下载、解密、SHA-256 与 commit 时间戳核验。
统计学考量
本档案是一份单一的公开记录,自项目开始即提交至本仓库,并通过域名注册信息、账号创建时间、commit 时序等外部路径交叉锚定。
若假设本档案是从大量未公开的平行档案中事后挑选出来的,可对"所需平行档案数量"进行定量估计。
设每注以固定单位下注,平均赔率为 o,样本量为 N。在市场有效假设下(攻击者无真实 edge,期望 ROI = 0),有:
单注收益方差:
Var(X) = o − 1
ROI 标准差:
σROI = √( (o − 1) / N )
单一档案 ROI 超过门槛 T 的概率:
P(ROI ≥ T) = 1 − Φ( T / σROI )
攻击者运营 K 个平行档案,至少其中一个达到门槛的概率达 50% 所需的 K:
K ≈ ln(2) / P(ROI ≥ T)
代入典型值 o = 1.95、N = 1000,得 σROI ≈ 3.08%。攻击所需平行档案数量如下表:
| ROI 门槛 | 所需平行档案数量 |
|---|---|
| 5% | 约 13 |
| 10% | 约 1,200 |
| 15% | 约 120 万 |
| 20% | 约 160 亿 |
当 N ≥ 1000、ROI 稳定在 10% 以上时,所需平行档案数量已超出任何个人或组织可能并行运营的规模。每月快照将以档案截至当时的实际平均赔率代入,更新上述估算。
上述估算基于三个前提:单注结果近似独立;攻击者不具备真实 edge;单注收益的分布由中心极限定理近似为正态。在 ROI ≤ 15% 的区间,上述近似在常用误差范围内稳健;ROI ≥ 20% 的估算更依赖于尾概率近似,实际量级可能偏离一个到若干个数量级,但仍远超可行范围。
相关方法论参见 Bonferroni (1936) 多重比较修正、Benjamini-Hochberg (1995) 错误发现率控制,以及金融领域对数据窥探偏差的经典讨论(Sullivan, Timmermann, White 1999;Harvey, Liu, Zhu 2016)。