研究方法与审计
这些结果是如何测量的,以及测量本身说明不了什么。
本页的每个数字都在构建时从导出的证据包中读取。没有任何数字被写进页面代码,因此也不会与产生它的那次运行发生偏离。
研究问题
研究问题
给定在某个交易日建仓时点之前已受理的全部 8-K 文件,能否对它们排序,使得之后出现异常大幅、经基准调整后波动的那些排在靠前位置?
这是一个按交易日评分的排序问题,不是收益问题。它问的是哪些文件值得优先关注,可以用公开数据回答,也可以对照实际发生的情况核对。
方法
标签、窗口与验证
- 标签
- 事件窗口内经基准调整后的波动达到至少 2 个标准差。
- 事件窗口
- 自首个可建仓时点起 2 个交易日。
- 估计窗口
- 120 个交易日的市场模型估计,并在事件前 20 个交易日结束。
- 验证方式
- purged_embargoed_walk_forward
反应测量口径:prior close (market-model event study convention); see reaction_capture.csv
时点规则
模型被允许知道什么
- 建仓发生在该文件受理时间戳之后开盘的第一个交易日。收盘后受理的文件在下一个交易日建仓,绝不在当日。
- 滚动特征在建仓前一个交易日结束。包含事件当日的滚动波动率窗口,是一个含有答案的窗口。
- 每个日期上的样本范围是当时已知的范围,而不是今天仍然存在的那批公司。
- 公司自身历史仅限于在决策时点其结果窗口已经结束的那些披露。
泄漏审计
泄漏阶梯
| 阶段 | 事件数 | 平均精度 | ROC AUC | 每日前五占比 | 相对随机的提升 | 不可能成立的建仓 |
|---|---|---|---|---|---|---|
| Naive pipeline | 11,672 | 59.7% | 0.841 | 31.2% | 1.73 | 96% |
| + purged, embargoed CV | 9,727 | 59.0% | 0.838 | 31.2% | 1.71 | 96% |
| + shifted trailing features | 9,727 | 43.9% | 0.782 | 27.4% | 1.50 | 96% |
| + point-in-time universe | 9,727 | 43.9% | 0.782 | 27.4% | 1.50 | 96% |
| + point-in-time entry | 9,721 | 39.7% | 0.764 | 19.8% | 1.70 | 0% |
- Naive pipeline: Shuffled K-fold, today's index, trailing windows that include the event day, entry on the filing date.
- + purged, embargoed CV: Stop training on the future and on labels whose outcome windows reach into the test fold.
- + shifted trailing features: Trailing volatility and turnover must end the session before entry, not include it.
- + point-in-time universe: Screen on index membership as of the event date, restoring the issuers that were later dropped.
- + point-in-time entry: Enter at the first open after the acceptance time. This also changes the measured window; the invariant is that every impossible entry disappears.
指标
排序指标
| 指标 | 数值 | 它测量的是什么 |
|---|---|---|
| 每日 precision@5 | 19.8% | 每个交易日前五名中,事后被证明重要的平均占比。 |
| 随机 precision@5 | 11.6% | 同一指标,但在同一交易日内随机抽取五份文件。 |
| 平均精度 | 39.7% | 全部文件上的精确率-召回率曲线下面积,不是按交易日计算的。 |
| ROC AUC | 0.764 | 随机取一份重要文件,它排在随机一份不重要文件之前的概率。 |
| 基础发生率 | 12.7% | 全部参与评估的文件中,之后出现重大波动的占比。 |
Precision@5 是平均占比,不是命中率。 它是每天前五名中事后被证明重要的平均占比——不是“在其中至少找到一份重要文件”的概率,也不是按天计算的成功率。
区间来自cluster bootstrap over sessions; paired for baselines,在 957 个交易日上抽样 2,000 次。平均精度的 95% 区间:36.5% 至 43.0%。
基线
与不需要模型的规则比较
| 选取规则 | 每日前五占比 |
|---|---|
| 模型排序 | 19.8% |
| 随机选五份 | 11.6% |
| 按最早到达优先 | 9.3% |
| 条目 2.02(经营业绩)优先 | 13.4% |
| 完全预知(上界) | 28.3% |
阅读容量
如果读者一次只看得到更多或更少呢?
| 阅读 k 份 | 交易日 | 随机 | 模型 | 上界 | 提升 | 可实现差距中所占份额 |
|---|---|---|---|---|---|---|
| 1 | 942 | 11.7% | 31.6% | 58.3% | 2.71 | 43% |
| 2 | 920 | 11.7% | 26.5% | 45.9% | 2.26 | 43% |
| 3 | 887 | 11.8% | 23.5% | 37.8% | 1.99 | 45% |
| 5 | 766 | 11.6% | 19.8% | 28.3% | 1.70 | 49% |
| 10 | 365 | 13.6% | 18.7% | 22.7% | 1.38 | 56% |
| 20 | 60 | 16.0% | 18.5% | 19.7% | 1.16 | 68% |
上界远低于 100%:一天里只有一份重要文件时,前五名里不可能有五份重要文件;有些交易日一份都没有。
可交易性
这能拿去交易吗?
收盘后受理、且事后被标为重要的申报,其反应中有 45.7% 已经包含在开盘价里。
| 申报 | 数量 | 已在开盘价中 |
|---|---|---|
| all filings | 11,665 | 6.4% |
| not material | 10,170 | 3.1% |
| material (>= threshold) | 1,495 | 27.7% |
| material, accepted pre | 27 | 25.5% |
| material, accepted open | 381 | 10.4% |
| material, accepted post | 1,086 | 45.7% |
| material, accepted closed | 1 | 3.9% |
把标签改成从开盘起算、而不是从前收盘起算之后,平均精确率是 15.5%。这是一个更难的问题,不是第二个排序器。
模型比较
换一个模型重要吗?
| 家族 | 平均精确率 | ROC AUC | 平均精确率,95% |
|---|---|---|---|
| hist_gbdt | 37.3% | 0.746 | 34.3% – 40.4% |
| logistic | 35.6% | 0.736 | 32.7% – 38.6% |
| random_forest | 39.7% | 0.764 | 36.5% – 43.0% |
| stratified_dummy | 12.9% | 0.506 | 12.0% – 13.8% |
| 家族 | 参照 | 差值 | 差值的 95% 区间 |
|---|---|---|---|
| hist_gbdt | random_forest | -0.024 | -0.038 – -0.009 |
| logistic | random_forest | -0.041 | -0.058 – -0.024 |
| stratified_dummy | random_forest | -0.269 | -0.298 – -0.240 |
区间跨过零,并不能说明一个家族领先。出货的家族由嵌套选择决定,不是由这张表的第一行决定。
校准
分数说的是它实际的意思吗?
导出采用的是 identity。
| 方法 | Brier | 期望校准误差 | 平均精确率 | ROC AUC |
|---|---|---|---|---|
| identity | 0.155 | 0.011 | 37.0% | 0.693 |
| isotonic | 0.157 | 0.027 | 35.7% | 0.675 |
| sigmoid | 0.158 | 0.019 | 35.9% | 0.675 |
Brier 分数和期望校准误差越低越好。排序指标放在旁边,是为了避免一种方法靠把排序抹平来取胜。
波动率
接下来一个月有多颠簸?
| 预测器 | Pinball 损失 | 80% 区间覆盖 | 区间宽度 | 通过校准门槛 |
|---|---|---|---|---|
| random_walk | 0.036 | 79.1% | 0.331 | 是 |
| climatology | 0.030 | 80.3% | 0.270 | 是 |
| har | 0.028 | 77.4% | 0.235 | 是 |
| chronos | 0.030 | 75.5% | 0.237 | 否 |
出货的预测器是 har。它的 80% 区间在平静三分位覆盖 79.6%,在动荡三分位覆盖 75.3%。
只有当两个区间的实际覆盖都接近它们声称的覆盖时,预测器才会出货。更宽的区间可以看起来校准得很好,同时几乎什么都没说。
消融实验
每组特征各贡献了什么
| group | features | pr_auc | roc_auc | brier |
|---|---|---|---|---|
| structured | 51 | 0.37195895820068187 | 0.6960733089385638 | 0.154947204577749 |
| deterministic_text | 55 | 0.370106899238709 | 0.69309281896201 | 0.1553201571519176 |
| transformer_text | 57 | 0.3664431392150513 | 0.69263908703564 | 0.15546405113887993 |
| all | 61 | 0.36495395099528927 | 0.6897501972812635 | 0.155896896978032 |
研究局限
这些结果说明不了什么
- 样本范围是当前上市大盘股的便利样本,没有做幸存者偏差控制,因此无法说明已退市公司的情况。
- 任何环节都没有计入交易成本、价差、滑点或容量假设。排序结果不等于策略结果。
- 标签衡量的是波动幅度,不是方向。本页任何内容都不说明价格曾经或将要往哪个方向走。
- 动态事件目前只为 AAPL、JPM 和 NVDA 发布。其他公司仍有申报文件、已申报财报和价格历史。
- 结果是在所评估交易日内、基于美国 8-K 披露测得的,不应假定可以推广到其他文件类型、其他市场或其他时期。
数据来源
数据来源与版本
- 证据导出时间
- 2026-08-28T02:43:23.788742+00:00
- 结构版本
- 1.1
- events
- 11,716 行 · sha256 fec33e5bdc9a…
- prices
- 1,982,600 行 · sha256 d52cb1f58823…
- membership
- 193 行 · sha256 f25717f8df47…
- note
- — 行 · sha256 …
术语表
方法索引
- Precision@k(前 k 名精确率)
- 排名最高的 k 项中,事后被证明重要的占比。按交易日取平均时称为每日 precision@k。
- 平均精度
- 精确率-召回率曲线下面积:用一个数字概括该排序在所有阈值上区分重要与不重要的能力。
- ROC AUC
- 随机取一份重要文件,它排在随机一份不重要文件之前的概率。0.5 表示与随机无异。
- 基础发生率
- 被预测的事情本身发生的频率。任何精确率数字都必须对照它来理解。
- 向前滚动验证
- 用过去训练、在未来测试,并沿时间反复向前推进——而不是把所有日期打乱后混在一起。
- 清洗与禁用期
- 剔除那些结果窗口与测试期重叠的训练样本,使答案无法通过重叠窗口传递给模型。
- 时点一致
- 只使用决策时刻可知的信息:当时的样本范围、当时已经成交的价格,以及当时已经受理的文件。