QuantWeft量化经纬
English
本章小节

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. 用基础和反号两景的 R2R^2(相对训练均值)、IC 与 10/20 bp Sharpe,判断 PCA+Ridge 是否全面差于 Ridge。说明为何这些结论可以同时成立。

P6-L08. 冻结配置的 claims_rule 是否规定了“树模型必须在两个情景都达到 ΔIC\Delta IC NW t≥2 且 20 bp Sharpe 同时超过 Ridge 与 Elastic Net”的联合门槛?可以怎样描述唯一绝对 t 值超过 2 的主比较?

P6-T01(标签成熟与训练截面)。 拟合时点为 D10D_{10} 收盘后,标签从信号日后一个收盘开始,5个收盘间隔后成熟。候选信号日期为 D2,D3,D4,D5D_2,D_3,D_4,D_5,每日期40只资产。写出每个日期的成交、标签终点及是否可用于这次拟合;假设没有其他缺失,最多保留多少训练行?一段程序把同日一半资产随机放进验证、其余放进训练,为什么即使标签成熟也不符合日期验证?

P6-T02(组置换的代码诊断)。 两个信号日各3只资产,第一日的 q=(1,2,3)q=(1,2,3),第二日 (11,12,13)(11,12,13),两日都有 z=2qz=2q。标签为 y=qy=q(单位为百分点),固定预测器 f(q,z)=qf(q,z)=q。第一日组置换的源行顺序为 (3,1,2)(3,1,2),第二日为 (2,1,3)(2,1,3)(从1编号)。写出置换后的 (q,z)(q,z)、全6行MSE增加与单位。对照以下错误,给出不跨日期、列多重集合和组联合结构的直接断言;噪声不被固定预测器读取时应为精确零还是近零?

# 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对照与截断)。 在同一训练中心/尺度下,记设计矩阵为 XX、正交矩阵 VV,Z=XVZ=XV。证明无whitening、同一 α>0\alpha>0 时,全维PCA+Ridge与原标准化空间Ridge预测相同。再取 X⊤X=diag⁡(2,8)X^\top X=\operatorname{diag}(2,8)、X⊤y=(2,4)⊤X^\top y=(2,4)^\top、α=2\alpha=2、V=(0−110)V=\begin{pmatrix}0&-1\\1&0\end{pmatrix},计算两空间系数并还原。只保留 VV 的第一列会发生什么,能否由最大方差保证预测改善?

P6-T04(费用、权重漂移与事件顺序)。 允许分数股,无融资、分红、借券或冲击;初始现金1000,A/B收盘价均100。目标美元权重为 +0.5,−0.5+0.5,-0.5,按成交前NAV决定目标金额;单边费用10bp,费用另从现金扣且不重新缩放目标金额。次日价格变为110/90。按“先标记持仓,再决定目标,再成交并扣费”的事件顺序,求首次成交后的现金/NAV、次日成交前NAV与实际权重;再调回相同目标权重时,求交易金额、费用与成交后NAV。解释为何不能把固定权重 wr−c∣Δw∣w r-c|\Delta w| 代理当作逐事件账本。

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 的多指标结果

题目。 用基础和反号两景的 R2R^2(相对训练均值)、IC 与 10/20 bp Sharpe,判断 PCA+Ridge 是否全面差于 Ridge。说明为何这些结论可以同时成立。

完整解答。 不能说 PCA+Ridge 全面差于 Ridge。基础情景中,PCA+Ridge 相对训练均值的 R2R^2 为 −0.008%,Ridge 为 −0.113%;反号情景分别为 −0.053% 与 −0.161%,PCA+Ridge 在这两项预测水平误差比较中都略优。反过来,PCA+Ridge 的平均 IC 在基础/反号情景为 0.0135/0.0063,低于 Ridge 的 0.0198/0.0087。反号情景的 10/20 bp Sharpe 分别是 PCA+Ridge 的 −0.14/−0.52 与 Ridge 的 −0.15/−0.53;两者都是负值,但 PCA+Ridge 数值上略高。R2R^2 衡量逐资产收益水平误差,IC 衡量横截面排序,Sharpe 衡量按该规则建仓、扣费后的账本表现;指标定义不同,排名可以不一致。应按指标逐项陈述,而不要笼统说 PCA 一定优于或劣于 Ridge。

P6-L08:claims_rule 与唯一较大的树模型 t 值

题目。 冻结配置的 claims_rule 是否规定了“树模型必须在两个情景都达到 ΔIC\Delta IC NW t≥2 且 20 bp Sharpe 同时超过 Ridge 与 Elastic Net”的联合门槛?可以怎样描述唯一绝对 t 值超过 2 的主比较?

完整解答。 没有。v2 配置的 claims_rule 要求不从构造数据提出经济或 alpha 结论,并保留零与负结果;它没有规定上述联合门槛。不得将这个门槛伪称为冻结协议。六个主树模型比较(3 种树模型 × 2 个情景)中,唯一绝对 t 值超过 2 的是反号情景单树对 Ridge 的 ΔIC=−0.0207\Delta IC=-0.0207、历史未校正 NW t = −2.19;方向是单树更差。近似未校正双侧 p 值为 0.029,若只对这 6 项作 Bonferroni 近似则约为 0.17;协议还列有消融与种子比较,因此该数值不是确认性显著发现。准确表述是:在未校正的构造数据描述比较中,反号情景的单树出现一项负向、绝对 t 值略过 2 的历史结果;其余主比较均有 ∣t∣<2|t|<2。这既保留异常点,也不夸大证据。

P6-T01:完整解答

信号 DkD_k 的成交是 Dk+1D_{k+1} 收盘,标签成熟为 Dk+6D_{k+6} 收盘。四个候选分别为:D2→D3→D8D_2\to D_3\to D_8;D3→D4→D9D_3\to D_4\to D_9;D4→D5→D10D_4\to D_5\to D_{10};D5→D6→D11D_5\to D_6\to D_{11}。拟合发生在 D10D_{10} 收盘信息已可得之后,前3日满足 label_available_at <= fit_time,最后一日不满足。无其他缺失时保留 3×40=1203\times40=120 行,而不是160行。信息截止时点的等号只有在相关收盘信息实际已到达时才成立。同日随机拆资产虽不一定违反标签成熟,却共享当日冲击并破坏“向之后日期泛化”的验证问题;必须整日期划分,并在每个内层拟合时点重新核标签成熟。

P6-T02:完整解答与断言

第一日置换后为 (3,6),(1,2),(2,4)(3,6),(1,2),(2,4),第二日为 (12,24),(11,22),(13,26)(12,24),(11,22),(13,26)。预测器仍只读q,标签顺序不变,所以误差为 (2,−1,−1,1,−1,0)(2,-1,-1,1,-1,0),SSE为8、MSE为 8/6=4/38/6=4/3 平方百分点;原MSE为0,增加量同为 4/34/3。组内同一行顺序保住 z=2qz=2q,跨日期全局顺序则破坏日期状态。

以下标准库断言直接覆盖日期和联合结构,不调用训练或课程实现:

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:完整证明与系数

令 β=Vb\beta=Vb。全维正交矩阵满足 VV⊤=V⊤V=IVV^\top=V^\top V=I,所以 Xβ=XVb=ZbX\beta=XVb=Zb,且 ∥β∥2=∥b∥2\|\beta\|^2=\|b\|^2。两个目标函数 ∥y−Xβ∥2+α∥β∥2\|y-X\beta\|^2+\alpha\|\beta\|^2 与 ∥y−Zb∥2+α∥b∥2\|y-Zb\|^2+\alpha\|b\|^2 在一一坐标变换下相同;训练中心、尺度、截距约定、alpha与输入行相同才可据此比较预测。whitening改变各方向尺度,原同一alpha惩罚不再等价。

数值例中,β^=(X⊤X+2I)−1X⊤y=(2/4,4/10)⊤=(0.5,0.4)⊤\hat\beta=(X^\top X+2I)^{-1}X^\top y=(2/4,4/10)^\top=(0.5,0.4)^\top。b^=V⊤β^=(0.4,−0.5)⊤\hat b=V^\top\hat\beta=(0.4,-0.5)^\top,还原 Vb^=(0.5,0.4)⊤V\hat b=(0.5,0.4)^\top。只保留V第一列时,系数被限制为 β=(0,b1)⊤\beta=(0,b_1)^\top,此例解为 (0,0.4)⊤(0,0.4)^\top;原第一个方向的预测部分被删掉。它可能少估噪声,也可能失去真信号,最大方差排序本身不回答测试预测是否改善。P6冻结网格只选5/15/30成分,全维控制是这里的教学推导,并未新增一次P6实验。

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恒等式。

搜索教材

输入关键词开始搜索。