跳到正文

研究方法与审计

这些结果是如何测量的,以及测量本身说明不了什么。

本页的每个数字都在构建时从导出的证据包中读取。没有任何数字被写进页面代码,因此也不会与产生它的那次运行发生偏离。

研究问题

研究问题

给定在某个交易日建仓时点之前已受理的全部 8-K 文件,能否对它们排序,使得之后出现异常大幅、经基准调整后波动的那些排在靠前位置?

这是一个按交易日评分的排序问题,不是收益问题。它问的是哪些文件值得优先关注,可以用公开数据回答,也可以对照实际发生的情况核对。

方法

标签、窗口与验证

标签
事件窗口内经基准调整后的波动达到至少 2 个标准差。
事件窗口
自首个可建仓时点起 2 个交易日。
估计窗口
120 个交易日的市场模型估计,并在事件前 20 个交易日结束。
验证方式
purged_embargoed_walk_forward

反应测量口径:prior close (market-model event study convention); see reaction_capture.csv

时点规则

模型被允许知道什么

  • 建仓发生在该文件受理时间戳之后开盘的第一个交易日。收盘后受理的文件在下一个交易日建仓,绝不在当日。
  • 滚动特征在建仓前一个交易日结束。包含事件当日的滚动波动率窗口,是一个含有答案的窗口。
  • 每个日期上的样本范围是当时已知的范围,而不是今天仍然存在的那批公司。
  • 公司自身历史仅限于在决策时点其结果窗口已经结束的那些披露。

泄漏审计

泄漏阶梯

每一行去掉一种“事后才知道”的信息,并重跑整个评估。第一行是一个看起来很强、实际并不成立的流水线;最后一行则产生本站发布的全部数字。
每一阶段去掉一种事后信息,并做端到端重测。
阶段事件数平均精度ROC AUC每日前五占比相对随机的提升不可能成立的建仓
Naive pipeline11,67259.7%0.84131.2%1.7396%
+ purged, embargoed CV9,72759.0%0.83831.2%1.7196%
+ shifted trailing features9,72743.9%0.78227.4%1.5096%
+ point-in-time universe9,72743.9%0.78227.4%1.5096%
+ point-in-time entry9,72139.7%0.76419.8%1.700%
  • 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@519.8%每个交易日前五名中,事后被证明重要的平均占比。
随机 precision@511.6%同一指标,但在同一交易日内随机抽取五份文件。
平均精度39.7%全部文件上的精确率-召回率曲线下面积,不是按交易日计算的。
ROC AUC0.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 的交易日,不进入该 k 的统计。
在 k 处的精确率,对照当天打乱的队列和当天最好的排序。
阅读 k 份交易日随机模型上界提升可实现差距中所占份额
194211.7%31.6%58.3%2.7143%
292011.7%26.5%45.9%2.2643%
388711.8%23.5%37.8%1.9945%
576611.6%19.8%28.3%1.7049%
1036513.6%18.7%22.7%1.3856%
206016.0%18.5%19.7%1.1668%

上界远低于 100%:一天里只有一份重要文件时,前五名里不可能有五份重要文件;有些交易日一份都没有。

可交易性

这能拿去交易吗?

每份申报的异常波动里,有多少在下一开盘价里已经实现。这是对还剩下多少可行动空间的测量,不是交易规则。

收盘后受理、且事后被标为重要的申报,其反应中有 45.7% 已经包含在开盘价里。

异常波动在下一开盘价中已经实现的中位数份额。
申报数量已在开盘价中
all filings11,6656.4%
not material10,1703.1%
material (>= threshold)1,49527.7%
material, accepted pre2725.5%
material, accepted open38110.4%
material, accepted post1,08645.7%
material, accepted closed13.9%

把标签改成从开盘起算、而不是从前收盘起算之后,平均精确率是 15.5%。这是一个更难的问题,不是第二个排序器。

模型比较

换一个模型重要吗?

每个模型家族用同一批申报评分。差值表是相对已出货家族的配对比较,不是另一次实验。
各模型家族的样本外得分。
家族平均精确率ROC AUC平均精确率,95%
hist_gbdt37.3%0.74634.3% – 40.4%
logistic35.6%0.73632.7% – 38.6%
random_forest39.7%0.76436.5% – 43.0%
stratified_dummy12.9%0.50612.0% – 13.8%
相对参照家族的配对差值。负的差值表示落后于参照。
家族参照差值差值的 95% 区间
hist_gbdtrandom_forest-0.024-0.038 – -0.009
logisticrandom_forest-0.041-0.058 – -0.024
stratified_dummyrandom_forest-0.269-0.298 – -0.240

区间跨过零,并不能说明一个家族领先。出货的家族由嵌套选择决定,不是由这张表的第一行决定。

校准

分数说的是它实际的意思吗?

三种校准方法在同一批留出的折上评分。出货的方法是导出文件写明的那一种,不是看起来最好的那一行。

导出采用的是 identity。

各校准方法的 Brier 分数、期望校准误差和排序指标。
方法Brier期望校准误差平均精确率ROC AUC
identity0.1550.01137.0%0.693
isotonic0.1570.02735.7%0.675
sigmoid0.1580.01935.9%0.675

Brier 分数和期望校准误差越低越好。排序指标放在旁边,是为了避免一种方法靠把排序抹平来取胜。

波动率

接下来一个月有多颠簸?

未来 20 个交易日的波动率区间。它不是申报排序的输入,也不说明价格往哪边走。
Pinball 损失,以及声称的区间实际覆盖了多少结果。
预测器Pinball 损失80% 区间覆盖区间宽度通过校准门槛
random_walk0.03679.1%0.331是
climatology0.03080.3%0.270是
har0.02877.4%0.235是
chronos0.03075.5%0.237否

出货的预测器是 har。它的 80% 区间在平静三分位覆盖 79.6%,在动荡三分位覆盖 75.3%。

只有当两个区间的实际覆盖都接近它们声称的覆盖时,预测器才会出货。更宽的区间可以看起来校准得很好,同时几乎什么都没说。

消融实验

每组特征各贡献了什么

每一行去掉一组特征并重新评分。没有带来变化的分组,就如实报告为没有变化。
特征分组消融实验,端到端重新评分。
groupfeaturespr_aucroc_aucbrier
structured510.371958958200681870.69607330893856380.154947204577749
deterministic_text550.3701068992387090.693092818962010.1553201571519176
transformer_text570.36644313921505130.692639087035640.15546405113887993
all610.364953950995289270.68975019728126350.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 表示与随机无异。
基础发生率
被预测的事情本身发生的频率。任何精确率数字都必须对照它来理解。
向前滚动验证
用过去训练、在未来测试,并沿时间反复向前推进——而不是把所有日期打乱后混在一起。
清洗与禁用期
剔除那些结果窗口与测试期重叠的训练样本,使答案无法通过重叠窗口传递给模型。
时点一致
只使用决策时刻可知的信息:当时的样本范围、当时已经成交的价格,以及当时已经受理的文件。