# quant-strategy：逐课讲义与练习册

版本 content-v2；每课有独立讲解、操作、题设和答案。全部数值/规则为合成教学假设，不代表官方服务或真实业绩。允许本地纸面完成，不要求开户、入金或真实交易。

模块：因子构建 / 信号与优化 / 策略 validation

## 因子构建

### 概念
因子是可用信息的函数，需声明预测对象、观察窗口、未来标签和经济假设。IC通常指因子与未来收益的相关，不同截面/时序IC不可混为一谈。单一货币对时序相关不能冒充跨资产分层回测；相关不证明因果。

### 带数据推演
收盘100、101、103、102，2期动量在第3点为3%，第4点为0.990099%。下一期收益标签必须等未来一期出现后才能用于评估。样本小或恒定列会使相关无意义，不使用“IC>0.03必有效”固定门槛。

### 作业题设
在合成CSV上构建2期动量及下一期收益，保留信号时点和标签终点；运行research_lab.py查看训练/验证切分。写一个可能使动量假设失效的市场场景。

### 检查限制
标签是未来结果，不是可交易特征；筛选了多少因子、失败多少个也要记录。

### 本模块课时
- m1-l1：Alpha 因子设计
- m1-l2：因子检验
- m1-l3：因子开发练习

### m1-l1 Alpha 因子设计

#### 本课讲解
Alpha因子是事先定义的可计算排序或数值假设，不是保证超额收益。首先明确资产集合、频率、可用时点和预期作用机制。

#### 操作顺序
给动量定义close_t/close_(t−3)−1→说明何时可用→单独定义未来标签→写相反结果可能的原因。

#### 独立作业
close100/101/102/103，算第三期后的3步动量；若用t+1收盘计算t因子会怎样？

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

### m1-l2 因子检验

#### 本课讲解
因子检验区分预测关系和交易收益。IC可用因子与未来收益的相关度，需同一观察集合；单资产时间相关不等于横截面IC。

#### 操作顺序
先定横截面或时间序列→对齐未来标签→清理缺失→算秩或线性相关→给样本量和稳定性，不只报峰值。

#### 独立作业
三个资产因子排序1/2/3，未来收益排序3/2/1，秩相关是多少？能否称长期必亏？

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

### m1-l3 因子开发练习

#### 本课讲解
因子开发要保存所有尝试，避免只公布最优公式。数据清洗、标签延迟和可交易性限制会改变样本，不应事后调整分母。

#### 操作顺序
写因子卡→冻结参数→分训练/验证→生成缺值与样本流失表→计算关系→列反例与费用。

#### 独立作业
为3步动量交因子卡，包含输入、公式、可用时点、标签、失败场景和未来样本计划。

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

## 信号与优化

### 概念
信号组合先处理量纲和数据时点。标准化参数只能在训练集估计，测试期沿用；不同因子可能高度相关。参数选择只在训练/验证窗口，最终测试集不参与搜索。Walk-forward是按时间前推的重估流程，并非随机交叉验证。

### 带数据推演
虚构三组训练/验证得分：参数A 2.0/−0.2，B 1.2/0.8，C 1.1/0.7。不能以训练2.0宣称A最佳；应先在验证集按预定准则挑选，再锁参数看独立测试。若看到测试后又调参数，测试已被消耗。

### 作业题设
制作参数台账，写训练、验证、测试边界和选择准则；对A/B/C给出候选并披露尝试次数。运行研究脚本比较不同均线窗口而不把同一测试集反复当新证据。

### 检查限制
样本窗口跨边界的标签可能泄漏；隔离间隔至少考虑标签跨度，而非随意空一行。

### 本模块课时
- m2-l1：信号组合
- m2-l2：参数优化陷阱
- m2-l3：Walk-Forward 实操

### m2-l1 信号组合

#### 本课讲解
信号组合可以加权或规则投票，但分数的尺度与相关性必须先处理。两个高度相关因子并不提供两倍独立信息。

#### 操作顺序
只用训练段拟合标准化→固定权重→对齐缺值→记录总分→在未来段评估；不按未来成绩每天改权重。

#### 独立作业
给已标准化因子A=1.2、B=−0.4，权重0.6/0.4，计算组合分数；缺B时能否直接当0？

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

### m2-l2 参数优化陷阱

#### 本课讲解
参数优化在有限样本上比较大量组合，最优者可能只是噪声。展示参数表面与邻域稳定性，比只报最大收益更有信息。

#### 操作顺序
记录全部试验次数→只在训练段选择→看邻域和失败区→冻结候选→未来验证，不反复重用测试集。

#### 独立作业
试100组参数后选最好的一组，再用同一段数据宣称样本外，哪里不成立？

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

### m2-l3 Walk-Forward 实操

#### 本课讲解
Walk-Forward按时间多次训练后只在之后区间测试。参数选择与评分应严格分开，标签跨界时需剔除重叠或留gap。

#### 操作顺序
写训练/间隔/测试日历→每折仅用过去选参→冻结→记录下一段表现→拼接不重叠测试，禁止训练收益混入。

#### 独立作业
训练1–60、测试66–80，标签跨度5。最晚训练特征时点是否可为60？说明标签终点条件。

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

## 策略 validation

### 概念
策略验证要同时检查时间泄漏、成本敏感、参数稳定、极端样本和样本量。没有固定夏普阈值能自动决定上线。文档写清输入、版本、规则、执行约定、费用、失败场景与明确的继续/暂停条件。

### 带数据推演
虚构策略训练净收益12%、验证1%、最终测试−3%；费用从每次1bp升到3bp后测试降至−6%。这不证明永远无效，但足以否定“已经可靠通过”的表述。不能删除测试亏损段重新命名训练期。

### 作业题设
为上述结果写go/no-go研究结论，列至少三个进一步验证项；保留负结果。用课程脚本导出参数和成本敏感性表。

### 检查限制
“以后会修复”的解释不等于证据；负结果也是合格研究成果。

### 本模块课时
- m3-l1：过拟合检测
- m3-l2：策略文档化
- m3-l3：策略 validation 报告

### m3-l1 过拟合检测

#### 本课讲解
过拟合检测不能证明策略永远有效，但可发现选择依赖。看样本外衰减、参数敏感性、成本压力和置换基线，比一个指标更可靠。

#### 操作顺序
冻结候选→加倍成本→邻域扰动→时间外检验→与简单基线比较→记录所有结果。

#### 独立作业
训练净收益20%、未来−3%，解释为什么不能直接把未来区间删掉再重新报告20%。

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

### m3-l2 策略文档化

#### 本课讲解
策略文档是可执行定义而非营销摘要。信号、规模、成交侧、成本、边界、停止和版本必须明确到可以独立实现。

#### 操作顺序
按输入→公式→状态机→交易/不交易→风险→报告→局限编写，列每个参数的来源及冻结日期。

#### 独立作业
把“均线上穿买入”扩写成至少六个可判定字段，不给实际投资建议。

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。

### m3-l3 策略 validation 报告

#### 本课讲解
Validation报告应把实现正确性和策略经济假设分开。单测通过不保证优势；一段盈利也不证明没有未来函数。

#### 操作顺序
汇总因果自检→列训练/测试边界→提供全部试验数→对账净值→写反例及未通过条件。

#### 独立作业
交一页验证结论，允许结论为不支持；必须有数据、方法、证据与限制四栏。

#### 自查要求
提交算式/表格/记录与假设；按答案册逐项检查关键结果、证据边界和未运行项。自评不是自动批改或能力认证。
