Project 6 题目与完整解答
作者:Yuxiao Ma · 修订日期:2026-10-16。
本文件收录 Project 6 稳定题号 P6-L01–P6-L08 与 P6-T01–P6-T04。P6-L01–P6-L03 对应基础报告原有题目,保留原意;P6-L04–P6-L08 对应 BIL19 的 v2 树/PCA 扩展。题目也出现在 v2 教学指南 和 练习册 学习笔记。答案与题目同属项目 6,便于讲义合并后逐题查阅。
项目题面:先独立作答
P6-L01. 基础 Lasso 的 IC 0.01785759 能直接和 Ridge 的 0.01982995 比较并判定更弱吗?
P6-L02. 压缩后的 NW(4) 是否代表四个交易日的 HAC?
P6-L03. 第 39 章能复用这些 P6 配对结果吗?
P6-L04. P6 的 46 特征、1,512 个交易日和 16 折,能否与第 40 章交互实验的 26 特征、1,260 日、12 折合并成一组模型比较?说明两组设计和五倍 post hoc 的边界。
P6-L05. v1 的六条预测序列与 v2 新增的四条分别是什么?为什么报告称“8 个主比较模型”,又说冻结运行有 10 条预测序列?PCA+Ridge 属于哪一类?
P6-L06. q 与 noise 序列的“独立”指什么?它们沿时间是否 IID?价格三列如何生成?由此为什么不能把完整 46 维写成独立同分布、同方差特征?
P6-L07. 用基础和反号两景的
P6-L08. 冻结配置的 claims_rule 是否规定了“树模型必须在两个情景都达到
P6-T01(标签成熟与训练截面)。 拟合时点为
P6-T02(组置换的代码诊断)。 两个信号日各3只资产,第一日的
# WRONG: one global order mixes signal dates; two independent orders destroy pairs.
q_perm = q_values[global_order]
z_perm = z_values[another_global_order]
P6-T03(全维PCA对照与截断)。 在同一训练中心/尺度下,记设计矩阵为
P6-T04(费用、权重漂移与事件顺序)。 允许分数股,无融资、分红、借券或冲击;初始现金1000,A/B收盘价均100。目标美元权重为
P6-L01:own IC 与共同日期
题目。 基础 Lasso 的 IC 0.01785759 能直接和 Ridge 的 0.01982995 比较并判定更弱吗?
完整解答。 不能。0.01785759 是 Lasso 自身有定义的 630 日均值;0.01982995 是 Ridge 自身全部 1,002 日均值。两者使用的日期集合不同,直接相减不是配对比较。限制到两者共同的 630 日后,Lasso 均值为 0.01785759,Ridge 同期均值为 0.01613330,配对均值差为 +0.00172429。这个差是共同日期上的描述统计;本次展示不提供有效推断 t 值,不能据此宣称优势。IC 未定义的常数预测日期是 NaN,不是数值 0。
P6-L02:压缩 NW(4) 的时间间隔
题目。 压缩后的 NW(4) 是否代表四个交易日的 HAC?
完整解答。 不是。旧算法先删除 IC 未定义的日期,再把剩余有效观察重新编号。假设有效交易日序号原为 0、2、3、5、8,压缩后第 4 阶滞后会连接第一条和第五条有效观察,即交易日 0 和 8,相隔 8 个交易日。它不是按日历交易序列定义的四日滞后。报告保留旧压缩值作为历史诊断,但不把它标作四交易日 HAC,也没有重新计算新 HAC。
P6-L03:不能用 P6 替代第 39 章配对数据
题目。 第 39 章能复用这些 P6 配对结果吗?
完整解答。 不能。P6 与第 39 章是不同实验;第 39 章缺少用于重建其历史共同日期配对量的冻结逐行预测。P6 的行属于另一配置、另一运行身份,不能填补该缺口。重新训练也不能创造“历史实际观测”。正确做法是保留第 39 章配对量无法复算的状态,而不是借用本项目数字。
P6-L04:P6 与第 40 章交互实验
题目。 P6 的 46 特征、1,512 个交易日和 16 折,能否与第 40 章交互实验的 26 特征、1,260 日、12 折合并成一组模型比较?说明两组设计和五倍 post hoc 的边界。
完整解答。 不能。P6 的线性生成实验使用 46 个特征、1,512 个交易日和 16 个外层折。第 40 章的交互项实验使用另一种构造设计,共 26 个特征、1,260 日和 12 折。两者的生成过程、样本与划分都不同;章节 40 的交互结构不能当作 P6 的特征或结果。该章含有登记的主强度和另行五倍 post hoc 敏感性,后者属于章节实验自己的事后分析,不能移植为 P6 的模型结果、协议阈值或推断。只有明确标出各自实验身份,才能在课程中并列讨论方法。
P6-L05:预测序列与主表模型数
题目。 v1 的六条预测序列与 v2 新增的四条分别是什么?为什么报告称“8 个主比较模型”,又说冻结运行有 10 条预测序列?PCA+Ridge 属于哪一类?
完整解答。 v1 产生 zero、train_mean、OLS、Ridge、Lasso 和 Elastic Net 六条序列。v2 加入单树、随机森林、梯度提升(实际估计器是 HistGradientBoostingRegressor,简称 HGB)以及 PCA+Ridge 四条,冻结运行共有 10 条预测序列。历史主比较表和图展示 8 个拟合模型:OLS、Ridge、Lasso、Elastic Net、单树、RF、HGB 和 PCA+Ridge;它们省略 zero 与 train_mean 两个基准序列。zero 与 train_mean 的预测是常数,二者都形成空仓,组合总收益和换手为 0。PCA+Ridge 是先在训练折内标准化并做 PCA,再以 Ridge 拟合的降维线性流水线,不是树模型。
P6-L06:序列独立、时间依赖与价格特征
题目。 q 与 noise 序列的“独立”指什么?它们沿时间是否 IID?价格三列如何生成?由此为什么不能把完整 46 维写成独立同分布、同方差特征?
完整解答。 构造器中的独立性指不同 q 序列彼此独立、不同 noise 序列彼此独立,并按机制产生 q 与 noise 两组冲击。每一条 q 或 noise 序列仍沿时间遵循平稳 AR(1),自回归系数为 0.98、边际方差为 1;相邻时点显然相关,所以这些时间序列不是 IID。收益还包含共同市场冲击、由 q 序列产生的信号项和特异冲击。rev_5、mom_60_5、vol_20 三个价格特征从这条收益/价格路径派生,因而与特征过程及过去收益有构造关系。46 列包含 43 个 AR 特征序列和 3 个价格衍生序列,不是抽取自统一的独立同分布、同方差总体。这个区别影响对 PCA、重要性和“噪声列”的解释。
P6-L07:PCA+Ridge 的多指标结果
题目。 用基础和反号两景的
完整解答。 不能说 PCA+Ridge 全面差于 Ridge。基础情景中,PCA+Ridge 相对训练均值的
P6-L08:claims_rule 与唯一较大的树模型 t 值
题目。 冻结配置的 claims_rule 是否规定了“树模型必须在两个情景都达到
完整解答。 没有。v2 配置的 claims_rule 要求不从构造数据提出经济或 alpha 结论,并保留零与负结果;它没有规定上述联合门槛。不得将这个门槛伪称为冻结协议。六个主树模型比较(3 种树模型 × 2 个情景)中,唯一绝对 t 值超过 2 的是反号情景单树对 Ridge 的
P6-T01:完整解答
信号 label_available_at <= fit_time,最后一日不满足。无其他缺失时保留
P6-T02:完整解答与断言
第一日置换后为
以下标准库断言直接覆盖日期和联合结构,不调用训练或课程实现:
from collections import Counter
original = {"D1": [(1, 2), (2, 4), (3, 6)],
"D2": [(11, 22), (12, 24), (13, 26)]}
orders = {"D1": [2, 0, 1], "D2": [1, 0, 2]} # zero-based
permuted = {d: [rows[i] for i in orders[d]] for d, rows in original.items()}
for d in original:
assert Counter(permuted[d]) == Counter(original[d]) # same-date pairs only
for j in (0, 1):
assert Counter(v[j] for v in permuted[d]) == Counter(v[j] for v in original[d])
assert all(z == 2*q for q, z in permuted[d])
固定预测器完全不读某列时,置换该列的预测与损失逐点不变,重要性精确为0。若从有限样本训练的模型偶然读取了真实零载荷列,估计重要性不保证为0,重复与跨窗分布才说明其不稳定性。组置换保留组内结构,不保证与未置换组之间的关系仍真实,因此也有支持域边界。
P6-T03:完整证明与系数
令
数值例中,
P6-T04:完整账本解答
第一次买5股A、卖空5股B,买卖金额和1000、费用1;现金999、持仓净值0、NAV999。次日先标记,持仓为550与−450,NAV1099,实际风险资产权重约0.500455与−0.409463;它们不再等于原目标且净美元暴露为100/1099。再次以成交前NAV设置目标为正负549.5:卖A 0.5美元、增卖空B 99.5美元,总交易金额100、费用0.1;现金与NAV均1098.9,风险资产净值为0。费用后权重绝对值549.5/1098.9约0.500046。
本题费用由实际交易金额决定,现金逐事件更新,先按当期价格标记持仓才能知道再平衡需要多少。第41章历史固定权重代理把费用记在收益结束行、用权重变化近似换手;它不包含本题完整事件顺序,不能用其历史曲线替代P6事件账本。上述手算没有融资、借券、冲击或容量,只用于验证给定假设下的现金与NAV恒等式。