Project 6 数据字典(A8-A 构造基础面板)
范围与状态:本字典描述冻结的 A8-A 基础配置及其构造面板。它用于检查时间契约、管线和教学机制,不是市场证据。真实数据实证仍为 blocked,许可和字段要求见 data_manifest.json。完整 Project 6 尚未完成或 verified;A8-B 树模型扩展有单独的配置、报告和接受入口。
主键、频率与样本
- 频率:日频。冻结构造配置使用从 2015-01-02 开始的 1,512 个工作日索引;它不代表任何真实交易所日历。
- 面板主键:
(signal_time, asset)。每个signal_time的全部资产在划分中作为一个整体。 - 资产:构造样本为
A00至A39,共 40 个资产;没有上市、退市、拆股或分红。真实数据需另行处理公司行为(第 29、30 章),不能把复权价当成交价。 - 冻结配置:
configs/p06_base_v1.json,SHA-256:62f49e1cab11b6992a9c391180df5d6827f9c5c12bf34f94acde5134ee4c39f7。此配置只读;新设定必须另建版本。
时间字段与标签
| 字段 | 定义 | 构造面板中的取值 | 约束 |
|---|---|---|---|
event_time |
原始数据事件时点 | 价格为当日收盘 | — |
available_at |
研究者在系统中可读取该值的时点 | 价格派生特征与构造的 q_*/noise_* 均规定在当日收盘可得 |
日期层级上不晚于 signal_time;精确时点须不晚于信号截点 tau_k |
signal_time |
计算特征并形成预测的日期 | D[k] 收盘后 |
— |
决策时刻 tau_k |
精确信号截点 | 当日收盘价定稿后(例如交易所当地时间 16:00 收盘、16:10 截点) | 截点之后才可得的数据只能用于下一信号日 |
trade_time |
按预测调仓的成交时点 | 下一交易日 D[k+1] 收盘;execution_lag = 1 |
晚于 signal_time |
label_start |
标签收益起点 | trade_time = D[k+1] 收盘 |
— |
label_end |
标签收益终点 | D[k+6] 收盘;h = 5 |
— |
label_available_at |
标签可用于训练的时点 | label_end 收盘 |
训练行须满足 label_available_at <= fit_time |
fit_time |
外层折的拟合时点 | 该折首个测试 signal_time |
只用此时已成熟的标签 |
标签是 y = close[label_end] / close[label_start] - 1,以小数表示,收益区间为 (label_start, label_end],包含 5 个收盘到收盘区间。它从下一交易日收盘开始,到再过 5 个交易日的收盘结束。标签要到终点收盘后才成熟。组合账本另按每日收盘标记 NAV;不能把这项 5 日标签当作组合逐日持有收益。
46 个基础特征
基础配置的特征数为 46:3 个有非零构造收益载荷的慢变特征、40 个零载荷噪声特征、3 个价格特征。构造特征 q_1 至 q_3 和 noise_01 至 noise_40 均为单位方差 AR(1) 序列,char_rho = 0.98。构造日简单收益对 q_1/q_2/q_3 的载荷依次为每单位 0.03%、0.015%、0.0075%;noise_* 的载荷为零。预设的 regime_flip_at_75pct 情景在 75% 日期处把这些真实载荷反号。以上均为构造设定。
| 特征 | 定义或构造来源 | 单位 | 可用时点 | 缺失规则 |
|---|---|---|---|---|
rev_5 |
-(close[t] / close[t-5] - 1) |
小数 | 当日收盘 | 前 5 日为 NaN |
mom_60_5 |
close[t-5] / close[t-60] - 1,跳过最近 5 日 |
小数 | 当日收盘 | 前 60 日为 NaN |
vol_20 |
最近 20 个日简单收益的样本标准差(ddof=1) |
小数/日 | 当日收盘 | 前 20 日为 NaN |
q_1、q_2、q_3 |
构造的慢变特征 AR(1),真实载荷非零 | 单位方差特征单位 | 当日收盘 | 无 |
noise_01…noise_40 |
构造的慢变噪声特征 AR(1),载荷为零 | 单位方差特征单位 | 当日收盘 | 无 |
所有构造特征均按配置在当日收盘可得;具体真实数据项目仍须分别核对事件时点、系统可用时点和信号截点,不能仅凭日期标签证明无前视。
缺失值、验证与指标
共享模块 quant_course.ml_pipeline 的规则:训练行的任一特征或标签为 NaN 时整行丢弃并计数;测试行的特征为 NaN 时不产生预测、目标权重设为 0 并计数;无穷值报错。所有同日资产留在同一侧,训练行须满足标签已成熟时点不晚于 fit_time。预处理和超参数选择仅使用训练数据及内层验证,外层测试只作一次评价;禁止随机打乱 K 折。
预测指标(例如相对零预测和训练均值的样本外 R^2、逐日 Spearman IC)与组合指标分开报告。若某日预测为常数,横截面 IC 未定义;未定义值保留为缺失,绝不填成 0。第 3.4 节配对 IC 只在两模型共同有效日期上计算描述性均值差。
组合规则与成本
predictions_to_target_weights对每个预测截面去均值,再按绝对权重和归一化,使sum(abs(w)) = 1且sum(w) = 0。这是美元中性,不等于 beta 中性;若少于两个有限预测或截面离散度为零,则保持空仓。- 每 5 个信号日调仓一次。信号形成于
D[k]收盘,run_backtest(lag=1)在下一交易日D[k+1]收盘执行。 - 配置的单边比例费用为 0、0.001 和 0.002(即 0、10、20 个基点),初始现金为 1,000,000。组合 NAV 按逐日收盘价格记账;费用按交易名义金额计算。
- 仅计入上述比例费用。借券费、融资利差、市场冲击、容量和保证金成本未建模;按第 29 章约定,卖空所得全额计入现金。
历史状态与边界
A8-A 基础实现和构造教学验证限定范围接受,A8-R1 展示修订也已限定范围接受;A8-B 树模型扩展有独立的限定接受入口。构造结果说明的是冻结模拟设定下的模型行为,不说明真实市场可预测性、收益或 alpha。真实数据实证仍 blocked,完整 Project 6 尚未 verified。