QuantWeft量化经纬
English
本章小节

Project 4 PIT 事件图

一个财报版本从发生到进入信号要经过哪些事件、每个事件的时间字段是什么、哪一步可以用来做什么。图中的日期来自构造宇宙里的一个重述例子(P102,FY2013),数值见 README。

阶段 构造时点 字段与用途
财年末 2013-12-31 period_end;识别报告期,不是可得时间
原始10-K受理 2014-04-17 16:05 UTC available_at;真实来源候选为SEC accepted
原始版本入库 2014-04-18 ingested_at;构造中晚于公开一天
月末信号 2014-04-30 23:59:59 UTC signal_time;此时原始版本可用
下一可交易价格 2014-05第一个可交易时点 trade_time;月度层只有近似
收益/标签区间 2014-05 下一日历月;只作评价
10-K/A重述受理 2014-05-20 重述的available_at
重述入库与信号 2014-05-21入库,2014-05月末起使用 同时核公开/入库后,替代同报告期原始版本

规则

  1. 可得:版本在信号月 tt 可得 ⇔ available_at 与 ingested_at 都严格早于次月第一个时刻(UTC)。2014-04 的信号用原始值;2014-05 起用重述值;2014-03 及之前没有这个财年。
  2. 选取:在可得的版本里,先取 period_end 最新的,再取该 period_end 下 available_at 最新的(旧期间的重述不会顶掉新期间;重述一旦可得就用重述)。同一行的所有数值(含上年比较余额)来自同一版本。
  3. 时间字段的用途:period_end 只回答“这是哪个报告期”,从不当作可得时间;available_at 决定能不能用;ingested_at 防止“数据库后来才补的”被拿来用;signal_time 是计算时点;trade_time 之前的价格不得执行;标签区间在 signal_time 之后,只用于评价。
  4. 行业与宇宙:行业标签用当时已知的版本;宇宙成员用 signal_time 当时是否上市(含后来退市者);退市月收益计入,之后为缺失。
  5. 价格事件:拆股、分红影响总回报与市值;用复权总回报,不用拼接的价格;本层构造数据没有公司行动。
  6. 月度层的近似:信号在月末收盘后算出,应在下一个可交易时点执行;月度收益是“月末到月末”,所以月度标签(下个月收益)等价于“在上一个月末收盘价成交”,与契约“收盘信号在下一可交易时点执行”相差至多一个交易日。日度价格与成交日历是完整 Project 4 的缺项(gap_table.md)。

历史构造反例与对应检查(不是本次新运行)

违反的规则 反例(signal_layer.py) 观察
规则 1、3:把 period_end 当 available_at counterexample_period_end 约 18–20% 的单元格用到了尚未提交的财报;泄漏内容与信号月 2–3 月的下月收益相关(B/M 0.079,t=3.8t=3.8)
规则 2:同一版本、重述 counterexample_restatement 2014-04 用原始、2014-05 用重述;混用得到 ROE 2.33%,同版本是 2.72% 或 2.51%
规则 3:未来数据不进入当期 counterexample_future_perturbation 改掉截止月之后的一切,截止月及之前的信号逐位不变(54 个月,最大差 0)
规则 4:宇宙 as-of counterexample_survivorship 只留幸存者:2019-06 少 13 个名字,等权月均收益略高(0.833% 对 0.818%)
规则 2 与分母规则:非正分母 counterexample_denominators 240 个非正权益单元格,朴素 B/M 为负;规则下为 NaN
预处理只用同日截面 counterexample_full_sample_standardization 全样本标准化与只用过去的版本在 11.2% 的单元格上符号相反

事件图没有覆盖的

公司合并、更名、证券代码变更与 CIK 到证券的映射;盘后公告的次日归属(SEC accepted 在 5:30pm EST 之后算次一营业日提交,见 source_feasibility.md);多份并行 10-K/A;财报以外的数据(分析师预期、新闻)。这些在真实数据阶段要补。

搜索教材

输入关键词开始搜索。