<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>数学与统计基础 on 云栖</title><link>http://airyv.com/quant/01-math/</link><description>Recent content in 数学与统计基础 on 云栖</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="http://airyv.com/quant/01-math/index.xml" rel="self" type="application/rss+xml"/><item><title>概率论基础：从掷骰子到收益分布</title><link>http://airyv.com/quant/probability-basics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/probability-basics/</guid><description>&lt;p&gt;概率论在量化里不是「基础知识」，而是&lt;strong&gt;日常语言&lt;/strong&gt;：每一笔交易都是在一个随机变量的实现上下注。本篇把最核心的四个概念——期望、方差、协方差、条件概率——逐一翻译成交易操作，并解释两个在策略评估中无处不在的定理（大数定律、中心极限定理）以及一个经常被违反的假设（正态分布）。&lt;/p&gt;
&lt;h2 id="随机变量与期望你的策略有正的数学期望吗"&gt;随机变量与期望：你的策略有正的数学期望吗
&lt;/h2&gt;&lt;p&gt;把未来一天的策略收益率记作随机变量 r。&lt;strong&gt;期望 E[r] 是长期平均意义上的单次下注价值&lt;/strong&gt;。任何交易决策的第一问都该是：&lt;code&gt;E[r] &amp;gt; 0&lt;/code&gt; 吗？——而且要扣除成本：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;E[净收益] = 胜率 × 平均盈利 − (1 − 胜率) × 平均亏损 − 成本&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;一个胜率 60%、平均赚 1%、平均亏 1.5%、双边成本 0.3% 的日频策略：&lt;code&gt;0.6×1% − 0.4×1.5% − 0.3% = −0.3%&lt;/code&gt;。胜率过半仍然亏钱——&lt;strong&gt;胜率本身毫无意义，期望才有意义&lt;/strong&gt;。趋势跟踪策略胜率常低于 40% 却长期盈利，靠的是盈亏比拉高期望。&lt;/p&gt;
&lt;p&gt;期望的线性性 &lt;code&gt;E[a·r₁ + b·r₂] = a·E[r₁] + b·E[r₂]&lt;/code&gt; 不要求独立性——这是组合收益期望可以直接逐项相加的原因。&lt;/p&gt;
&lt;h2 id="方差与波动率风险不是一个数是你对均值的偏离"&gt;方差与波动率：风险不是一个数，是你对均值的偏离
&lt;/h2&gt;&lt;p&gt;方差 &lt;code&gt;Var[r] = E[(r − E[r])²]&lt;/code&gt; 度量收益围绕均值的分散程度，标准差 σ（波动率）是其平方根。交易中的三个直接用法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;年化换算&lt;/strong&gt;：日波动率 ×√252。日波动 1% 的策略年化约 15.9%；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;夏普比率&lt;/strong&gt;：&lt;code&gt;Sharpe = E[r] / σ&lt;/code&gt;（无风险利率取 0 的相对口径），每承担一单位波动换来多少收益；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;仓位换算&lt;/strong&gt;：目标波动率倒推仓位——想让组合年化波动控制在 10%，而标的年化波动 25%，则仓位 ≈ 10/25 = 40%（见&lt;a
 class="link"
 href="http://airyv.com/quant/position-sizing/"&gt;&lt;span class="markdown-link-inner"&gt;仓位 sizing&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;注意方差对平方敏感：&lt;strong&gt;大亏一天对方差贡献超过十个小赚日&lt;/strong&gt;，这正是它比「平均亏损」更贴近风险本质的原因。&lt;/p&gt;
&lt;h2 id="协方差与相关分散化为什么有效"&gt;协方差与相关：分散化为什么有效
&lt;/h2&gt;&lt;p&gt;协方差 &lt;code&gt;Cov[r₁,r₂] = E[(r₁−μ₁)(r₂−μ₂)]&lt;/code&gt; 度量两个资产如何共动；除以两个标准差得到相关系数 ρ ∈ [−1,1]。两资产组合方差：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Var(w₁r₁ + w₂r₂) = w₁²σ₁² + w₂²σ₂² + 2w₁w₂ρ₁₂σ₁σ₂&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;只要 ρ₁₂ &amp;lt; 1，组合方差就&lt;strong&gt;小于&lt;/strong&gt;成分方差的加权平均——这就是分散化的数学本质。银行股与券商股 ρ 高达 0.8+，分散有限；股票与国债 ρ ≈ −0.3，才是真正的对冲。推广到 N 个资产就是协方差矩阵 Σ，它是组合优化的核心输入（见&lt;a
 class="link"
 href="http://airyv.com/quant/linear-algebra-quant/"&gt;&lt;span class="markdown-link-inner"&gt;协方差矩阵与 PCA&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;p&gt;&lt;img src="http://airyv.com/img/quant/quant-return-dist.svg" alt="正态分布与肥尾 t 分布的对比" title="正态假设会系统性低估极端行情的频率" loading="lazy" decoding="async"&gt;&lt;/p&gt;
&lt;h2 id="常见分布正态是好仆人坏主人"&gt;常见分布：正态是好仆人、坏主人
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;分布&lt;/th&gt;
 &lt;th&gt;量化场景&lt;/th&gt;
 &lt;th&gt;关键提醒&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;正态 N(μ,σ²)&lt;/td&gt;
 &lt;td&gt;收益率的一阶近似、风险模型的默认假设&lt;/td&gt;
 &lt;td&gt;现实收益&lt;strong&gt;肥尾且偏斜&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;t 分布&lt;/td&gt;
 &lt;td&gt;收益率拟合（自由度 3–6 常见）&lt;/td&gt;
 &lt;td&gt;尾部比正态厚，更贴近极端行情频率&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;二项分布&lt;/td&gt;
 &lt;td&gt;n 天里上涨天数&lt;/td&gt;
 &lt;td&gt;胜率检验的原材料&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;泊松分布&lt;/td&gt;
 &lt;td&gt;极端事件/跳空计数、限价单成交次数&lt;/td&gt;
 &lt;td&gt;稀有事件建模&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;对数正态&lt;/td&gt;
 &lt;td&gt;价格（非收益）的分布假设&lt;/td&gt;
 &lt;td&gt;价格非负；GBM 定价的底层假设&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;卡方分布&lt;/td&gt;
 &lt;td&gt;方差检验、协方差检验统计量&lt;/td&gt;
 &lt;td&gt;风险模型回溯测试&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;肥尾的现实含义&lt;/strong&gt;：正态假设下，标普 500 单日 −20% 以上约为「宇宙年龄才会见一次」的事件，而 1987 年真实发生过；2020 年 4 月 WTI 原油甚至收出 −37 美元。用正态算 VaR 会系统性低估尾部（解决路线见&lt;a
 class="link"
 href="http://airyv.com/quant/risk-measures/"&gt;&lt;span class="markdown-link-inner"&gt;风险度量&lt;/span&gt;&lt;/a&gt;
：历史模拟、t 分布、极值理论）。A 股还有&lt;strong&gt;截断效应&lt;/strong&gt;：±10% 涨跌停把尾部硬切掉，日收益分布在边界处堆积——回测与风控都不能假装它不存在。&lt;/p&gt;
&lt;h2 id="大数定律与中心极限定理为什么次数比预测可靠"&gt;大数定律与中心极限定理：为什么「次数」比「预测」可靠
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;大数定律（LLM）&lt;/strong&gt;：独立同分布下，样本均值随次数增加收敛到期望。交易含义：&lt;strong&gt;正期望的策略必须靠足够的重复次数把优势兑现&lt;/strong&gt;。一个 55% 胜率的系统，100 笔样本里亏损的概率仍然可观，10000 笔里亏损概率趋近于零——这是「小资金高频验证、验证后再放大」的数学依据，也是「用三个月回测判断十年策略」不可靠的原因（样本不足以让 LLN 发挥）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;中心极限定理（CLT）&lt;/strong&gt;：独立同分布随机变量之和（标准化后）趋近正态——&lt;strong&gt;无论单期收益长什么样&lt;/strong&gt;。这就是为什么：日收益肥尾，但月/季收益（多日加总）更接近正态；IC 序列的 t 检验 &lt;code&gt;t = mean(IC)/std(IC) × √T&lt;/code&gt; 有意义；夏普比率的显著性检验 &lt;code&gt;t ≈ Sharpe × √T&lt;/code&gt; 成立（见&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-inference/"&gt;&lt;span class="markdown-link-inner"&gt;假设检验&lt;/span&gt;&lt;/a&gt;
）。&lt;strong&gt;同时注意 CLT 的边界&lt;/strong&gt;：收益不完全独立（波动聚集、自相关），收敛速度在尾部很慢——对「厚尾+t 小样本」，谨慎对待基于正态的显著性结论。&lt;/p&gt;
&lt;h2 id="条件概率与贝叶斯思维策略信念的持续更新"&gt;条件概率与贝叶斯思维：策略信念的持续更新
&lt;/h2&gt;&lt;p&gt;条件概率 &lt;code&gt;P(A|B) = P(A∩B)/P(B)&lt;/code&gt; 的交易化：不是问「股票明天上涨的概率」，而是问「&lt;strong&gt;在放量突破的条件下&lt;/strong&gt;，明天上涨的概率」——所有因子本质上都是条件概率的压缩表达。&lt;/p&gt;
&lt;p&gt;贝叶斯公式把「先验信念 + 新证据 → 后验信念」形式化：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;P(H|D) ∝ P(D|H) × P(H)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;策略研究中的三处直接应用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;因子有效性是信念不是事实&lt;/strong&gt;：回测前对「动量在 A 股有效」赋一个不高不低的先验，回测证据（似然）将其更新为后验——单次回测的 5% 显著性&lt;strong&gt;不应&lt;/strong&gt;把信念推到 95% 确定，因为「因子普遍无效」的先验概率并不低；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;调参的贝叶斯优化&lt;/strong&gt;：把「参数→绩效」视为黑盒函数，用后验分布引导下一步采样，比网格搜索省一个数量级的算力（见&lt;a
 class="link"
 href="http://airyv.com/quant/automl-factor-mining/"&gt;&lt;span class="markdown-link-inner"&gt;AutoML 与因子挖掘&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Black-Litterman 的灵魂&lt;/strong&gt;：把市场均衡权重当先验、观点当似然、观点置信度控制更新幅度——整个模型就是一次贝叶斯更新（见&lt;a
 class="link"
 href="http://airyv.com/quant/black-litterman/"&gt;&lt;span class="markdown-link-inner"&gt;Black-Litterman&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;贝叶斯思维的最大礼物是&lt;strong&gt;允许自己被打脸&lt;/strong&gt;：先验可以错，只要更新机制诚实，长期仍会收敛到真相——这恰恰是「圣杯思维」的反面。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-inference/"&gt;&lt;span class="markdown-link-inner"&gt;统计推断&lt;/span&gt;&lt;/a&gt;
 把本篇的 CLT 变成可操作的检验工具；&lt;a
 class="link"
 href="http://airyv.com/quant/monte-carlo/"&gt;&lt;span class="markdown-link-inner"&gt;蒙特卡洛模拟&lt;/span&gt;&lt;/a&gt;
 用随机采样代替解析推导；&lt;a
 class="link"
 href="http://airyv.com/quant/stochastic-processes/"&gt;&lt;span class="markdown-link-inner"&gt;随机过程&lt;/span&gt;&lt;/a&gt;
 把概率升级为随时间演化的模型。&lt;/p&gt;</description></item><item><title>统计推断：假设检验、回归与多重检验</title><link>http://airyv.com/quant/statistical-inference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/statistical-inference/</guid><description>&lt;p&gt;统计推断回答一个量化每天都要面对的问题：**观测到的规律，是巧合的概率有多大？**本篇以「检验一个选股因子是否有效」为主线，把假设检验、回归分析与多重检验串成一条完整的研究流水线。&lt;/p&gt;
&lt;h2 id="假设检验你的因子是真的吗"&gt;假设检验：你的因子是真的吗
&lt;/h2&gt;&lt;p&gt;以月度 IC（因子值与下月收益的横截面相关系数）为例：算出 60 个月的 IC 序列，均值 0.035、标准差 0.12。要回答「均值显著非零吗」：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原假设 H₀&lt;/strong&gt;：真实 IC = 0（因子无效）；&lt;strong&gt;备择假设 H₁&lt;/strong&gt;：真实 IC &amp;gt; 0；&lt;/li&gt;
&lt;li&gt;检验统计量：&lt;code&gt;t = mean(IC) / std(IC) × √T = 0.035/0.12 × √60 ≈ 2.26&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;5% 显著性水平下单边临界值 1.645，t = 2.26 越过临界线 → 拒绝 H₀。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对 &lt;strong&gt;p 值的正确理解&lt;/strong&gt;只有一句话：&lt;strong&gt;在「因子无效」的世界里，观测到这么强（或更强）的 IC 序列的概率&lt;/strong&gt;。它不是「因子有效的概率」——后者是贝叶斯后验，需要先验才能计算（见&lt;a
 class="link"
 href="http://airyv.com/quant/probability-basics/"&gt;&lt;span class="markdown-link-inner"&gt;概率论基础&lt;/span&gt;&lt;/a&gt;
）。三个高频误用：p = 0.049 与 0.051 没有本质差别；p 值小不等于效应大（IC 0.02 在超长样本下也「显著」）；显著不等于可交易（还要看容量与成本，见&lt;a
 class="link"
 href="http://airyv.com/quant/factor-testing/"&gt;&lt;span class="markdown-link-inner"&gt;因子检验&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;置信区间&lt;/strong&gt;是同一枚硬币的反面：IC 均值的 95% 置信区间 ≈ &lt;code&gt;0.035 ± 1.96 × 0.12/√60 = [0.005, 0.065]&lt;/code&gt;。区间下限 0.005 才是风控视角最该盯的数字——&lt;strong&gt;最坏情形下因子可能只值这么点&lt;/strong&gt;，而 0.005 的 IC 在扣完成本后很可能不够。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;夏普比率的显著性&lt;/strong&gt;同构：&lt;code&gt;t ≈ Sharpe × √年数&lt;/code&gt;。夏普 1.5 的策略要 2 年以上样本才在 5% 水平显著（1.5×√2≈2.12）——这就是为什么「跑三个月回测就宣布策略有效」在统计上站不住。&lt;/p&gt;
&lt;h2 id="多重检验回测了-1000-个因子之后"&gt;多重检验：回测了 1000 个因子之后
&lt;/h2&gt;&lt;p&gt;致命场景：你检验 1000 个&lt;strong&gt;纯噪声&lt;/strong&gt;因子，5% 显著性意味着期望约 50 个会「显著」。如果你只汇报这 50 个——这不是发现，是&lt;strong&gt;数据挖掘的必然产物&lt;/strong&gt;。学术论文的因子动物园（数百个声称显著的因子）与此直接相关。&lt;/p&gt;
&lt;p&gt;三道防线：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Bonferroni 校正&lt;/strong&gt;：显著性阈值除以检验次数（0.05/1000 = 0.00005）。极保守，适合「一个都不想错杀」的场景；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Benjamini-Hochberg（FDR 控制）&lt;/strong&gt;：控制&lt;strong&gt;错误发现率&lt;/strong&gt;——在所有被拒绝的原假设中，假阳性比例的期望 ≤ q（如 10%）。做法：把 p 值排序，找最大的 k 使 &lt;code&gt;p(k) ≤ k/N × q&lt;/code&gt;。研究性场景的标准选择；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;样本外验证&lt;/strong&gt;：把数据锁进保险柜，留到最后开一次（见&lt;a
 class="link"
 href="http://airyv.com/quant/walk-forward-validation/"&gt;&lt;span class="markdown-link-inner"&gt;样本内外与 Walk-Forward&lt;/span&gt;&lt;/a&gt;
）。这是唯一对「研究者自由度」完全免疫的防线。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;老手纪律：&lt;strong&gt;记录全部尝试次数&lt;/strong&gt;。检验报告里写「本假设来自第 37 次尝试」，比任何精致的 p 值都更有信息量。&lt;/p&gt;
&lt;h2 id="回归分析从-ols-到-lasso"&gt;回归分析：从 OLS 到 Lasso
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;OLS（普通最小二乘）&lt;/strong&gt;：&lt;code&gt;r = α + β₁f₁ + β₂f₂ + ε&lt;/code&gt;，求使残差平方和最小的系数。量化中的两大地盘：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;因子中性化&lt;/strong&gt;：把因子值对行业哑变量 + 对数市值回归，取残差作为「纯净」因子（见&lt;a
 class="link"
 href="http://airyv.com/quant/factor-construction/"&gt;&lt;span class="markdown-link-inner"&gt;因子构建&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;收益归因&lt;/strong&gt;：把组合收益回归到风格因子暴露上，看 α 还剩多少（见&lt;a
 class="link"
 href="http://airyv.com/quant/performance-metrics/"&gt;&lt;span class="markdown-link-inner"&gt;绩效归因&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OLS 的关键假设与破绽：残差与解释变量无关（内生性破坏 → 遗漏变量偏误）；残差同方差、无自相关（金融时序几乎必然违反 → 用 Newey-West 修正标准误，否则 t 值虚高）；&lt;strong&gt;多重共线性&lt;/strong&gt;（价值因子与盈利因子相关性 0.7+ → 系数大幅漂移、不可解释）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;岭回归（Ridge）&lt;/strong&gt;：在损失函数中加 &lt;code&gt;λΣβ²&lt;/code&gt; 惩罚，把系数向零收缩。治疗多重共线性：20 个相关性很高的风格因子同时进入收益预测时，OLS 系数会在样本间剧烈摆动，岭回归给出稳定但略保守的权重——&lt;strong&gt;预测场景里，稳定性比无偏更重要&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lasso&lt;/strong&gt;：惩罚改用 &lt;code&gt;λΣ|β|&lt;/code&gt;，能把一部分系数&lt;strong&gt;精确压到零&lt;/strong&gt;——自带「选因子」功能。场景：从 200 个候选因子中挑出 15 个进入正式模型。注意两个坑：被选中的因子不等于「更有效」（相关因子组里 Lasso 常只留一个，选择带随机性）；λ 要用&lt;strong&gt;时间序列交叉验证&lt;/strong&gt;（前 K 年训练、后 1 年验证）而不是随机 K 折——时间序列随机打乱等于泄漏未来。&lt;/p&gt;
&lt;h2 id="平稳性与单位根为什么不能对价格直接回归"&gt;平稳性与单位根：为什么不能对价格直接回归
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;平稳性&lt;/strong&gt;：序列的均值、方差、自相关结构不随时间变化。金融价格的残酷事实：价格几乎必然&lt;strong&gt;非平稳&lt;/strong&gt;（有趋势、方差随水平放大）。在非平稳序列之间做回归会得到&lt;strong&gt;伪回归（spurious regression）&lt;/strong&gt;——两个毫不相关的随机游走，R² 可以轻松超过 0.9，t 值显著——因为它们都随时间漂移，回归「解释」的只是共同的时间趋势。&lt;/p&gt;
&lt;p&gt;实操守则：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;对收益率建模，不对价格&lt;/strong&gt;。收益（差分/对数差分）通常接近平稳；价格永不停歇地漂移；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;单位根检验（ADF）&lt;/strong&gt;：原假设「存在单位根（非平稳）」。p &amp;lt; 0.05 → 拒绝 → 视为平稳。对每个进入模型的价格类序列先过一遍；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;例外是协整&lt;/strong&gt;：两个各自非平稳的价格，其&lt;strong&gt;线性组合&lt;/strong&gt;可能平稳——这正是配对交易的数学地基（OLS 残差的 ADF 检验，见&lt;a
 class="link"
 href="http://airyv.com/quant/stochastic-processes/"&gt;&lt;span class="markdown-link-inner"&gt;均值回复与协整&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;一个新手常犯的变体：用「股价 vs GDP」直接回归得到「GDP 解释股价 80%」——两个都在长期上涨的序列，几乎任何组合都能回归出高 R²。&lt;strong&gt;先差分、再回归&lt;/strong&gt;，结论往往面目全非，而那才是真相。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/probability-basics/"&gt;&lt;span class="markdown-link-inner"&gt;概率论基础&lt;/span&gt;&lt;/a&gt;
 是本篇的概率地基；&lt;a
 class="link"
 href="http://airyv.com/quant/linear-algebra-quant/"&gt;&lt;span class="markdown-link-inner"&gt;线性代数&lt;/span&gt;&lt;/a&gt;
 处理回归的矩阵视角与共线性；&lt;a
 class="link"
 href="http://airyv.com/quant/alpha-research-process/"&gt;&lt;span class="markdown-link-inner"&gt;Alpha 研究流程&lt;/span&gt;&lt;/a&gt;
 把本篇的检验纪律工程化。&lt;/p&gt;</description></item><item><title>线性代数：组合的语言</title><link>http://airyv.com/quant/linear-algebra-quant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/linear-algebra-quant/</guid><description>&lt;p&gt;线性代数是量化中「性价比较高」的数学分支：概念少、复用率高。本篇只讲三类对象——向量、矩阵、特征值——以及它们各自在交易中的唯一化身。&lt;/p&gt;
&lt;h2 id="向量权重收益与暴露"&gt;向量：权重、收益与暴露
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;权重向量 w = (w₁,…,w_N)&lt;/strong&gt;：一行代码就是你的全部仓位；&lt;strong&gt;收益向量 r&lt;/strong&gt;：各标的下一期收益。组合收益就是内积：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;r_p = wᵀr = Σ wᵢrᵢ&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;这个紧凑的记号背后是一整套纪律：&lt;code&gt;wᵀ1 = 1&lt;/code&gt; 是预算约束（满仓）、&lt;code&gt;wᵢ ≥ 0&lt;/code&gt; 是禁止做空、&lt;code&gt;|w − w₀|₁ ≤ c&lt;/code&gt; 是换手约束——组合优化的全部输入输出都是向量运算。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;因子暴露向量&lt;/strong&gt;同理：一只股票的（PE、动量、波动率）取值构成向量，组合暴露 = 权重的加权平均 &lt;code&gt;wᵀF&lt;/code&gt;。风控日报里的「组合动量暴露 +0.25」就是这么算出来的（见&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-risk-monitoring/"&gt;&lt;span class="markdown-link-inner"&gt;因子暴露监控&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;h2 id="矩阵把-t-天--n-只股票装进一个对象"&gt;矩阵：把 T 天 × N 只股票装进一个对象
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;收益矩阵 R（T×N）&lt;/strong&gt;：每行一天、每列一只股票。量化数据的默认形态，Pandas DataFrame 就是它的工程化身。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;协方差矩阵 Σ&lt;/strong&gt;：&lt;code&gt;Σ = (1/T)·R̃ᵀR̃&lt;/code&gt;（R̃ 为去均值收益）。它是风险的完整地图——对角线是各资产方差，非对角线是共动性。组合方差 &lt;code&gt;σ_p² = wᵀΣw&lt;/code&gt; 是全篇最重要的公式：&lt;strong&gt;风险不是方差的加权和，还有交叉项 2wᵢwⱼσᵢⱼ&lt;/strong&gt;，而组合管理的全部艺术都藏在交叉项里。&lt;/p&gt;
&lt;h2 id="特征值风险的自然坐标系"&gt;特征值：风险的自然坐标系
&lt;/h2&gt;&lt;p&gt;协方差矩阵的特征分解 &lt;code&gt;Σ = VΛVᵀ&lt;/code&gt; 把 N 个相关资产「旋转」到 N 个互不相关的方向上：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;最大特征值 λ₁ 对应的方向&lt;/strong&gt;通常是「市场整体」——A 股全市场协方差矩阵的第一主成分解释约 30%–45% 的总方差（牛市里更高）。它的特征向量近似等权所有股票；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后续特征值&lt;/strong&gt;对应行业、风格等系统性方向；&lt;strong&gt;尾部小特征值&lt;/strong&gt;对应个股特异性风险；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特征值之和 = 总方差&lt;/strong&gt;（迹不变）：PCA 只是换坐标系度量风险，不创造也不消灭风险。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;PCA 的三个交易化身&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;风险模型的骨架&lt;/strong&gt;：把收益率对前 K 个主成分回归，得到「市场 + 行业 + 风格」的系统性风险分解，残余即特质波动（Barra 式风险模型的底层思路）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;统计套利的中性化&lt;/strong&gt;：配对/篮子套利前，把目标股票收益对前几个主成分回归取残差——&lt;strong&gt;先剥离市场与行业的系统性波动，剩下的价差才敢假设会回归&lt;/strong&gt;（见&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-arbitrage/"&gt;&lt;span class="markdown-link-inner"&gt;统计套利&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;利率曲线的形状语言&lt;/strong&gt;：国债收益率曲线变动的第一、二、三主成分，实证上稳定对应「水平、斜率、曲率」——管理债券组合的久期/凸性暴露时，实际是在管理这三个方向的坐标（见&lt;a
 class="link"
 href="http://airyv.com/quant/fixed-income/"&gt;&lt;span class="markdown-link-inner"&gt;固定收益&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;相关系数矩阵&lt;/strong&gt;把 Σ 标准化后更利于比较：危机时相关性集体升向 1（「相关性崩溃」），分散化在最需要时失效——特征值视角下，λ₁ 的占比在危机中急剧上升（见&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-risk-monitoring/"&gt;&lt;span class="markdown-link-inner"&gt;组合风险&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;h2 id="数值稳定性协方差矩阵的三种病与三种药"&gt;数值稳定性：协方差矩阵的三种病与三种药
&lt;/h2&gt;&lt;p&gt;矩阵问题不处理，组合优化会在最想不到的时刻给出荒谬结果：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;病一：N &amp;gt; T（资产多于样本）&lt;/strong&gt;。1000 只股票、250 天样本——样本协方差矩阵秩亏（秩 ≤ 249），&lt;strong&gt;奇异且不可逆&lt;/strong&gt;。均值-方差优化需要求逆 &lt;code&gt;Σ⁻¹&lt;/code&gt;，奇异的 Σ 让优化器输出极端多空对冲的「数学幻觉组合」（如 +800% 做多某股、−790% 做空另一只）。这是量化史上无数「回测夏普 10」的技术根源之一。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;病二：病态（条件数过大）&lt;/strong&gt;。最大/最小特征值之比巨大——方向间风险差异悬殊，求逆把微小估计误差放大千百倍。诊断：&lt;code&gt;cond(Σ) = λ_max/λ_min&lt;/code&gt;，超过 10⁴ 就要警惕。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;病三：非正定&lt;/strong&gt;。用逐对可得性不同的样本算出的 Σ（财报缺失导致），可能连半正定都不满足，Cholesky 分解直接报错。&lt;/p&gt;
&lt;p&gt;三种药：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;收缩估计（shrinkage）&lt;/strong&gt;：&lt;code&gt;Σ_shrunk = δ·F + (1−δ)·S&lt;/code&gt;，把样本协方差 S 向结构化目标（单因子模型、常数相关）收缩。Ledoit-Wolf 方法自动选 δ——&lt;strong&gt;用一点偏差换巨大的方差下降&lt;/strong&gt;，实务标配；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;因子模型替代样本估计&lt;/strong&gt;：&lt;code&gt;Σ = B Σ_f Bᵀ + D&lt;/code&gt;（因子协方差 + 特异方差），参数量从 O(N²) 降到 O(NK)，天然正定（Barra 风险模型的核心，见&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-risk-monitoring/"&gt;&lt;span class="markdown-link-inner"&gt;组合风险监控&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;正则化与约束&lt;/strong&gt;：岭回归的 λ 本质是给 Σ 对角线加载荷；组合优化里加权重上下限，直接掐灭极端解（见&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-constraints/"&gt;&lt;span class="markdown-link-inner"&gt;约束优化&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Cholesky 分解&lt;/strong&gt; &lt;code&gt;Σ = LLᵀ&lt;/code&gt; 的实用场景：蒙特卡洛模拟相关资产路径时，用 &lt;code&gt;L·z&lt;/code&gt;（z 为独立标准正态向量）一步生成具有目标相关结构的随机向量——期权组合压力测试的入口（见&lt;a
 class="link"
 href="http://airyv.com/quant/monte-carlo/"&gt;&lt;span class="markdown-link-inner"&gt;蒙特卡洛模拟&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/optimization-quant/"&gt;&lt;span class="markdown-link-inner"&gt;微积分与优化&lt;/span&gt;&lt;/a&gt;
 在 &lt;code&gt;wᵀΣw&lt;/code&gt; 之上加约束求解；&lt;a
 class="link"
 href="http://airyv.com/quant/mpt-mean-variance/"&gt;&lt;span class="markdown-link-inner"&gt;MPT 与均值-方差优化&lt;/span&gt;&lt;/a&gt;
 是线性代数最著名的应用；利率曲线主成分的实盘细节见&lt;a
 class="link"
 href="http://airyv.com/quant/fixed-income/"&gt;&lt;span class="markdown-link-inner"&gt;固定收益&lt;/span&gt;&lt;/a&gt;
。&lt;/p&gt;</description></item><item><title>微积分与优化：凸性、约束与迭代</title><link>http://airyv.com/quant/optimization-quant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/optimization-quant/</guid><description>&lt;p&gt;优化是「把想法变成仓位」的最后一步数学：因子给出信号，优化器给出权重。本篇回答三个实务问题——什么问题能被可靠求解（凸性）、约束怎么进入数学（拉格朗日）、大模型怎么训练（迭代法）。&lt;/p&gt;
&lt;h2 id="凸优化为什么局部最优--全局最优是奢侈品"&gt;凸优化：为什么「局部最优 = 全局最优」是奢侈品
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;凸集&lt;/strong&gt;：集合内任两点的连线仍在集合内。&lt;strong&gt;凸函数&lt;/strong&gt;：任两点间的函数值不超过连线值（碗形）。凸优化问题 = 在凸集上最小化凸函数，它的奢侈之处：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;任何局部最优解就是全局最优解——&lt;strong&gt;不会陷入「次优仓位」&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;求解可靠且高效（内点法多项式时间），工程上敢于自动化。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;均值-方差问题天生是凸的&lt;/strong&gt;：目标 &lt;code&gt;wᵀΣw&lt;/code&gt; 是凸函数（只要 Σ 半正定，见&lt;a
 class="link"
 href="http://airyv.com/quant/linear-algebra-quant/"&gt;&lt;span class="markdown-link-inner"&gt;线性代数&lt;/span&gt;&lt;/a&gt;
），预算约束 &lt;code&gt;wᵀ1 = 1&lt;/code&gt; 是仿射集。所以组合优化器才敢无人值守地每天跑。&lt;strong&gt;反例要警惕&lt;/strong&gt;：一旦引入交易成本的非凸近似（固定成本跳变）、整数约束（股票要么不买要么买够一手）、或目标里出现比率（如最大化夏普的朴素写法），凸性破坏，解的可靠性骤降。&lt;/p&gt;
&lt;p&gt;非凸问题的两个出路（各举一例）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;凸化改写&lt;/strong&gt;：最大化夏普比率 &lt;code&gt;μᵀw/√(wᵀΣw)&lt;/code&gt; 本身非凸，但在标准假设下可改写为等价的二次规划（Schaible 变换）——工程上求解的是等价的凸问题；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;接受非凸 + 验证解的稳定性&lt;/strong&gt;：整数约束（最小交易手数）下用启发式求解，然后从多个随机起点重跑——&lt;strong&gt;解的分散度小才可信&lt;/strong&gt;；若不同起点给出差异巨大的「最优组合」，说明问题本身病态，输出不可用。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;凸性的交易直觉&lt;/strong&gt;：分散化本身就是凸性的体现——「一半 A + 一半 B」的风险不高于两者的平均。凹的效用（风险厌恶）与凸的风险度量相遇，才有「最优组合」唯一存在。&lt;/p&gt;
&lt;h2 id="拉格朗日乘子约束的价格"&gt;拉格朗日乘子：约束的价格
&lt;/h2&gt;&lt;p&gt;最小方差组合问题：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;min wᵀΣw s.t. wᵀ1 = 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;构造拉格朗日函数 &lt;code&gt;L = wᵀΣw − λ(wᵀ1 − 1)&lt;/code&gt;，对 w 求导置零得 &lt;code&gt;2Σw = λ·1&lt;/code&gt;，解出 &lt;code&gt;w = (λ/2)·Σ⁻¹1&lt;/code&gt;，再由预算约束定出 λ——这就是「等风险贡献」思路的起点（见&lt;a
 class="link"
 href="http://airyv.com/quant/risk-parity/"&gt;&lt;span class="markdown-link-inner"&gt;风险平价&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;乘子 λ 的经济含义是「影子价格」&lt;/strong&gt;：约束放松一单位，目标值改善多少。在带风险预算的收益最大化问题里，λ 就是「每多容忍一单位方差，能多买多少期望收益」——它把「风控官与基金经理的谈判」变成了一个数字。同理：换手约束的乘子 = 多给一次换手自由度值多少 alpha；行业中性约束的乘子 = 放弃行业择时的机会成本。&lt;strong&gt;看乘子的大小，就知道哪条约束真正在束缚组合&lt;/strong&gt;——实务中优化器输出被拒时，先看乘子再放松约束，比盲目放开更科学（乘子报表的季度评审见&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-constraints/"&gt;&lt;span class="markdown-link-inner"&gt;约束优化&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;p&gt;不等式约束（如 &lt;code&gt;wᵢ ≥ 0&lt;/code&gt; 禁止做空）通过 KKT 条件进入：每个触碰边界的约束都有一个非负乘子，不触碰的约束乘子为零——「约束不痛，就没有价格」。&lt;/p&gt;
&lt;h2 id="梯度下降与牛顿法机器学习的发动机"&gt;梯度下降与牛顿法：机器学习的发动机
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;梯度下降&lt;/strong&gt;：&lt;code&gt;θ ← θ − η·∇L(θ)&lt;/code&gt;，沿负梯度方向小步走。深度学习几乎全靠它（及其变体 Adam）。量化用途：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;神经网络收益预测&lt;/strong&gt;的训练（见&lt;a
 class="link"
 href="http://airyv.com/quant/deep-learning-quant/"&gt;&lt;span class="markdown-link-inner"&gt;深度学习量化&lt;/span&gt;&lt;/a&gt;
）——百万参数只能迭代求解；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;逻辑回归涨跌分类器&lt;/strong&gt;：损失是凸的交叉熵，梯度下降稳定收敛（见&lt;a
 class="link"
 href="http://airyv.com/quant/supervised-learning-quant/"&gt;&lt;span class="markdown-link-inner"&gt;监督学习&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;学习率 η 的直觉：太大在山谷两侧震荡（参数在样本内外绩效间反复横跳），太小训练太慢（研究周期拉长），早停（early stopping）本身就是正则化。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;牛顿法&lt;/strong&gt;：用二阶信息（曲率）一步到位：&lt;code&gt;θ ← θ − H⁻¹∇L&lt;/code&gt;。二次目标一步收敛。代价是 Hessian 求逆 O(n²) 存储 / O(n³) 计算——参数上百就只能用拟牛顿（BFGS/L-BFGS）。量化用途：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GARCH 参数估计&lt;/strong&gt;（极大似然）：参数只有 3–5 个，牛顿族方法快速且精确；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;逻辑回归/Probit 的标准解法&lt;/strong&gt;：小参数量下比梯度下降更快更稳。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;一阶 vs 二阶的选择逻辑&lt;/strong&gt;一句话：参数多、目标粗糙（带噪声）→ 一阶；参数少、目标光滑 → 二阶。这与「深度学习用 SGD、GARCH 用 BFGS」的行业现状完全对应。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;两个实务警告&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;优化器不是越强越好&lt;/strong&gt;。金融输入（μ、Σ）本身带巨大估计误差，「精确求解一个错误的问题」不如「近似求解一个稳健化的问题」——收缩 Σ、限制换手、限制权重上限，都是在&lt;strong&gt;用约束买稳健&lt;/strong&gt;（见&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-constraints/"&gt;&lt;span class="markdown-link-inner"&gt;约束优化&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;收敛≠正确&lt;/strong&gt;。优化器收敛到的是目标函数的最优，而目标函数（如历史均值最大化的夏普）可能本身就是过拟合的放大器——先审目标，再谈求解。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/mpt-mean-variance/"&gt;&lt;span class="markdown-link-inner"&gt;MPT 与均值-方差&lt;/span&gt;&lt;/a&gt;
 是本篇数学的历史起点；&lt;a
 class="link"
 href="http://airyv.com/quant/portfolio-constraints/"&gt;&lt;span class="markdown-link-inner"&gt;组合约束&lt;/span&gt;&lt;/a&gt;
 是拉格朗日思想的工程目录；&lt;a
 class="link"
 href="http://airyv.com/quant/reinforcement-learning-trading/"&gt;&lt;span class="markdown-link-inner"&gt;强化学习&lt;/span&gt;&lt;/a&gt;
 用另一类优化（策略梯度）直接优化交易行为。&lt;/p&gt;</description></item><item><title>随机过程：从随机游走到协整</title><link>http://airyv.com/quant/stochastic-processes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/stochastic-processes/</guid><description>&lt;p&gt;如果说明白概率论让你能「评估一次下注」，随机过程则让你能「评估一条路径」：价格如何随时间演化、波动如何聚集、价差会不会回来。本篇四个工具在量化里的化身分别是：期权定价、市场状态识别、波动率预测与配对交易。&lt;/p&gt;
&lt;h2 id="布朗运动与随机游走市场不可预测的数学原型"&gt;布朗运动与随机游走：市场不可预测的数学原型
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;随机游走假说&lt;/strong&gt;：明天的价格 = 今天价格 + 一个不可预测的随机冲击。其连续时间版本是&lt;strong&gt;布朗运动&lt;/strong&gt; B(t)：增量独立、增量服从正态、路径连续但处处不可微。&lt;/p&gt;
&lt;p&gt;对股价最常用的近似是&lt;strong&gt;几何布朗运动（GBM）&lt;/strong&gt;：&lt;code&gt;dS = μS·dt + σS·dB&lt;/code&gt;——收益率（而非价格）服从随机游走。三个直接推论：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;时间缩放 √t&lt;/strong&gt;：波动率随持有期的平方根增长——月波动 ≈ 日波动 ×√21。风险预算跨周期换算全靠它；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;期权定价的地基&lt;/strong&gt;：Black-Scholes 公式就是在 GBM 假设 + 无套利下推导的（见&lt;a
 class="link"
 href="http://airyv.com/quant/derivatives/"&gt;&lt;span class="markdown-link-inner"&gt;衍生品&lt;/span&gt;&lt;/a&gt;
）；蒙特卡洛模拟的第一课就是生成 GBM 路径（见&lt;a
 class="link"
 href="http://airyv.com/quant/monte-carlo/"&gt;&lt;span class="markdown-link-inner"&gt;蒙特卡洛&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;有效市场的参照系&lt;/strong&gt;：完全随机游走意味着技术分析无利可图。实证上价格&lt;strong&gt;接近但不等于&lt;/strong&gt;随机游走——动量、均值回复等微小偏离，正是量化策略试图收割的对象（见&lt;a
 class="link"
 href="http://airyv.com/quant/emh-anomalies/"&gt;&lt;span class="markdown-link-inner"&gt;有效市场假说&lt;/span&gt;&lt;/a&gt;
）。量化的自我定位应该是：&lt;strong&gt;在随机游走的背景噪声里，寻找并验证统计上站得住的微小偏离&lt;/strong&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="马尔可夫链给市场装一个状态机"&gt;马尔可夫链：给市场装一个状态机
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;马尔可夫性&lt;/strong&gt;：未来只依赖当前状态，不依赖历史路径。把市场离散成状态（如「低波动牛市 / 高波动熊市 / 震荡市」），估计&lt;strong&gt;转移矩阵&lt;/strong&gt; P（P[i][j] = 从状态 i 下一期到状态 j 的概率），就得到一个可计算的市场模型：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;状态驻留时间&lt;/strong&gt;：牛市平均能持续多久？= 1/(1 − P[牛→牛])。若 P[牛→牛] = 0.95，平均驻留 20 个月；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;长期平稳分布&lt;/strong&gt;：不管从哪里出发，长期落在各状态的比例收敛——用于评估策略在不同 regime 的暴露配比；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;策略切换的开关&lt;/strong&gt;：趋势策略在「趋势状态」开、均值回复策略在「震荡状态」开——用转移概率而非肉眼判断切换（工程化见&lt;a
 class="link"
 href="http://airyv.com/quant/meta-strategy/"&gt;&lt;span class="markdown-link-inner"&gt;策略组合与 Meta-Strategy&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;连续状态的升级版是&lt;strong&gt;隐马尔可夫模型（HMM）&lt;/strong&gt;：状态（regime）本身观测不到，只能通过收益/波动的分布「感觉到」——HMM 识别 regime 是量化私募的常见配置（见&lt;a
 class="link"
 href="http://airyv.com/quant/unsupervised-learning-quant/"&gt;&lt;span class="markdown-link-inner"&gt;聚类与 Regime 识别&lt;/span&gt;&lt;/a&gt;
）。注意马尔可夫性是个假设：现实市场有长期记忆（波动聚集、动量），用它时要靠扩状态（把「上一期波动」也纳入状态）来逼近。&lt;/p&gt;
&lt;h2 id="garch波动率是可预测的"&gt;GARCH：波动率是可预测的
&lt;/h2&gt;&lt;p&gt;收益几乎不可预测，但&lt;strong&gt;波动率可以&lt;/strong&gt;——波动聚集（大波动跟着大波动）是金融数据最稳定的经验规律之一。GARCH(1,1) 把它写成：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;σ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;昨日收益冲击（ε²）与昨日波动预测各按权重汇入今日波动。参数含义与典型量级（日频）：α ≈ 0.05–0.15（新冲击的即时影响）、β ≈ 0.85–0.94（惯性的持久度）、α+β &amp;lt; 1（平稳性）；α+β 越接近 1，波动冲击消退越慢（半衰期 ≈ ln(0.5)/ln(α+β)）。&lt;/p&gt;
&lt;p&gt;交易中的三个化身：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;波动率择时与目标波动&lt;/strong&gt;：用 GARCH 预测下期波动，动态调整仓位维持组合波动恒定（vol targeting）——CTA 与风险平价的标准配件（见&lt;a
 class="link"
 href="http://airyv.com/quant/time-series-strategies/"&gt;&lt;span class="markdown-link-inner"&gt;时序策略&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;风控输入&lt;/strong&gt;：VaR 的 σ 不用静态历史值而用 GARCH 预测，能立刻反映市场紧张度的变化（见&lt;a
 class="link"
 href="http://airyv.com/quant/risk-measures/"&gt;&lt;span class="markdown-link-inner"&gt;风险度量&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;期权定价与对冲&lt;/strong&gt;：BS 公式的 σ 输入用 GARCH 预测而非历史平均，更贴近隐含波动的变化（见&lt;a
 class="link"
 href="http://airyv.com/quant/options-strategies/"&gt;&lt;span class="markdown-link-inner"&gt;期权与波动率策略&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="http://airyv.com/img/quant/quant-cointegration.svg" alt="协整配对：两条价格与一条围绕均值回复的价差" title="价差触及 ±2σ 开仓、回归均值平仓" loading="lazy" decoding="async"&gt;&lt;/p&gt;
&lt;h2 id="均值回复与协整配对交易的数学地基"&gt;均值回复与协整：配对交易的数学地基
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;均值回复&lt;/strong&gt;：价格偏离「锚」后有回到锚的倾向。数学化是 &lt;strong&gt;OU 过程（Ornstein-Uhlenbeck）&lt;/strong&gt;：&lt;code&gt;dx = θ(μ − x)dt + σdB&lt;/code&gt;——被拉回 μ 的力量与偏离成正比。它给出的两个可交易数字：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;半衰期&lt;/strong&gt; = ln(2)/θ：偏离收敛一半所需的期望时间。θ 的估计来自对 &lt;code&gt;Δxₜ = α + β·xₜ₋₁ + εₜ&lt;/code&gt; 的回归（β = −θ·dt）。半衰期决定你的持有周期与止损宽度：半衰期 10 天的价差，用日内频率去交易是浪费，用月频去持有是迟钝；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;回复力度 vs 噪声&lt;/strong&gt;：θ 大而 σ 小的价差才值得做——统计上就是 Hurst 指数 &amp;lt; 0.5 或方差比检验显著小于 1。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;协整&lt;/strong&gt;解决「什么才是真锚」的问题：两个各自非平稳（单位根）的价格序列 I(1)，若存在线性组合 &lt;code&gt;spread = y − βx&lt;/code&gt; 是平稳的（I(0)），则称 y 与 x 协整——&lt;strong&gt;它们被一个长期均衡关系绑定&lt;/strong&gt;（如同行业的两家公司共享的需求与技术冲击），短期偏离会回归。&lt;/p&gt;
&lt;p&gt;检验与建仓的标准流程（Engle-Granger 两步法）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;对 y 与 x 各做 ADF 检验，确认都是 I(1)（见&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-inference/"&gt;&lt;span class="markdown-link-inner"&gt;平稳性与单位根&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;OLS 回归 y = α + βx，&lt;strong&gt;对残差（即 spread）做 ADF 检验&lt;/strong&gt;：拒绝单位根 → 协整成立；&lt;/li&gt;
&lt;li&gt;以 spread 的滚动均值 ±k·标准差作为开仓/平仓阈值，β 就是两只股票的对冲比例（1 股 y 对 β 股 x）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;协整的死亡方式&lt;/strong&gt;比数学更值得记：均衡关系本身会断裂——重组、政策、商业模式分化会让 β 失效甚至关系消失（原油-成品油价差在出口政策变化时的崩溃）。所以实盘配对必须配&lt;strong&gt;协整状态监控&lt;/strong&gt;（滚动 ADF、β 稳定性、半衰期漂移），价差「回归失败」到第 N 天无条件认错（纪律模板见&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-arbitrage/"&gt;&lt;span class="markdown-link-inner"&gt;统计套利&lt;/span&gt;&lt;/a&gt;
与&lt;a
 class="link"
 href="http://airyv.com/quant/post-trade-review/"&gt;&lt;span class="markdown-link-inner"&gt;事后风控&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/monte-carlo/"&gt;&lt;span class="markdown-link-inner"&gt;蒙特卡洛模拟&lt;/span&gt;&lt;/a&gt;
 把 GBM 变成可计算的路径；GARCH 之外基于已实现波动率的路线见&lt;a
 class="link"
 href="http://airyv.com/quant/risk-measures/"&gt;&lt;span class="markdown-link-inner"&gt;风险度量&lt;/span&gt;&lt;/a&gt;
；&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-arbitrage/"&gt;&lt;span class="markdown-link-inner"&gt;配对交易实操&lt;/span&gt;&lt;/a&gt;
 是本篇的工程完整版。&lt;/p&gt;</description></item><item><title>蒙特卡洛模拟：用随机数回答解析解给不出的问题</title><link>http://airyv.com/quant/monte-carlo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/monte-carlo/</guid><description>&lt;p&gt;蒙特卡洛的哲学极端简单：&lt;strong&gt;不知道答案，就把它演一万遍，用频率当概率&lt;/strong&gt;。它不追求解析优雅，而是用算力换洞察——在期权定价、风险估计、回测稳健性检验三个领域，它都是「解析解不存在或不信任」时的标准答案。&lt;/p&gt;
&lt;h2 id="用法一期权定价与路径依赖产品"&gt;用法一：期权定价与路径依赖产品
&lt;/h2&gt;&lt;p&gt;欧式期权有 Black-Scholes 解析解，但&lt;strong&gt;为什么还要模拟&lt;/strong&gt;？因为现实中大量产品没有解析解：美式期权（最优行权时机）、亚式期权（均价）、障碍期权（敲入敲出）、以及含复杂条款的结构化产品。蒙特卡洛的流程（20 行 Python 的完整定价器）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;np&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;mc_european_call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;S0&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.03&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sigma&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;K&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;105&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;200_000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rng&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;default_rng&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rng&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;standard_normal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ST&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;S0&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;sigma&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;sigma&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# GBM 精确离散&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;payoff&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;maximum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ST&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;K&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;payoff&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;se&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;payoff&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 标准误&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;se&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输出 ≈ (8.93, 0.035)，与 BS 公式解析值差 &amp;lt; 0.01 —— 种子固定可复现&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;相关资产的组合期权&lt;/strong&gt;（如一篮子期权）：用 Cholesky 分解 &lt;code&gt;L·z&lt;/code&gt; 一步生成具有目标相关结构的随机向量（见&lt;a
 class="link"
 href="http://airyv.com/quant/linear-algebra-quant/"&gt;&lt;span class="markdown-link-inner"&gt;线性代数&lt;/span&gt;&lt;/a&gt;
）——这是「相关性与波动率同时驱动」的奇异期权唯一现实可行的定价路径。&lt;/p&gt;
&lt;h2 id="用法二回测绩效的置信区间"&gt;用法二：回测绩效的置信区间
&lt;/h2&gt;&lt;p&gt;一个回测给出的年化 18% 只是&lt;strong&gt;一条历史路径的实现值&lt;/strong&gt;。如果 2018 年不是那样走呢？两种反事实模拟：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bootstrap（重抽样）&lt;/strong&gt;：把回测期 2520 个日收益「洗牌重抽」生成 10000 条合成净值曲线，观察年化收益与最大回撤的分布：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;bootstrap_equity&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;daily_ret&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_paths&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10_000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;block&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;分块 bootstrap：按 20 日整块抽取，保留自相关与波动聚集&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rng&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;default_rng&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;seed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;daily_ret&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;n_blocks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ceil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;block&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;empty&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;n_paths&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n_paths&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;idx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rng&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;integers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;block&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_blocks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 块起点&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;concatenate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;daily_ret&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;block&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;idx&lt;/span&gt;&lt;span class="p"&gt;])[:&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cumprod&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="c1"&gt;# 每行一条合成净值，取 MDD 分布/年化分布做分位数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;判读口径：若年化的 5% 分位仍是 +6%、MDD 的 95% 分位 -22% 也能承受，策略才算「稳健地通过」——&lt;strong&gt;分位数字比点估计诚实一个量级&lt;/strong&gt;；&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;参数不确定性&lt;/strong&gt;：μ 与 Σ 的估计误差传导到组合收益有多大？在估计量的抽样分布上重抽参数、重跑组合，得到「参数误差带」。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这直接回应&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-inference/"&gt;&lt;span class="markdown-link-inner"&gt;多重检验&lt;/span&gt;&lt;/a&gt;
的老问题：&lt;strong&gt;在 10000 次重抽里，你的策略有多少比例仍为正期望？&lt;/strong&gt; 比例低于 90% 的策略，请谨慎对待它的点估计。&lt;/p&gt;
&lt;h2 id="用法三风险与破产概率"&gt;用法三：风险与破产概率
&lt;/h2&gt;&lt;p&gt;给定 μ、Σ 模拟组合路径（或用 GARCH 模拟波动路径），回答长尾问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;破产概率&lt;/strong&gt;：凯利仓位下 10 年内净值回撤超过 50% 的概率（见&lt;a
 class="link"
 href="http://airyv.com/quant/position-sizing/"&gt;&lt;span class="markdown-link-inner"&gt;仓位 sizing&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;压力情景生成&lt;/strong&gt;：不满足于历史情景，可以「放大相关系数至 0.9 + 波动率 ×2」构造假想危机，检验限额体系（见&lt;a
 class="link"
 href="http://airyv.com/quant/pre-trade-risk/"&gt;&lt;span class="markdown-link-inner"&gt;压力测试&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VaR/ES 的模拟法&lt;/strong&gt;：历史模拟样本不足时（如需要 99.9% 分位），参数化蒙特卡洛给出平滑尾部估计（见&lt;a
 class="link"
 href="http://airyv.com/quant/risk-measures/"&gt;&lt;span class="markdown-link-inner"&gt;风险度量&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="用法四因子与策略的统计检验"&gt;用法四：因子与策略的统计检验
&lt;/h2&gt;&lt;p&gt;置换检验（permutation test）：把因子标签随机打乱 1000 次重新回测，得到「随机因子」的绩效分布——你的真因子夏普 1.2，若随机因子也能到 1.1，那 0.1 的差距就是噪声。这是对抗 p-hacking 的重型武器（与&lt;a
 class="link"
 href="http://airyv.com/quant/experiment-ab/"&gt;&lt;span class="markdown-link-inner"&gt;实验设计&lt;/span&gt;&lt;/a&gt;
的改动评估同源）。&lt;/p&gt;
&lt;h2 id="工程要点精度种子与方差缩减"&gt;工程要点：精度、种子与方差缩减
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1/√N 定律&lt;/strong&gt;：模拟精度（标准误）只随路径数的平方根改善——精度翻 10 倍，算力 ×100。所以先问「这个决策需要多精确」：上面的定价器 n=20 万时标准误 0.035 元；要 0.0035 元的精度需要 2000 万条路径。判订单点价格到 2 位小数可能要百万路径，判断「夏普是否 &amp;gt;1」几千次就够；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;随机数种子必须写进代码&lt;/strong&gt;：种子固定的模拟才可复现——回测复现纪律的一部分（见&lt;a
 class="link"
 href="http://airyv.com/quant/python-quant-stack/"&gt;&lt;span class="markdown-link-inner"&gt;研究复现&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;方差缩减&lt;/strong&gt;：对偶变量（每条路径配一条取反路径，z 与 −z 成对平均）在本例可把标准误差降低 20%–40%；控制变量（用已知解析解的量做锚）同样有效——期权台的日常工具；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;离散化偏差&lt;/strong&gt;：GBM 有精确离散解（上例用的正是精确式），但含随机波动率/跳的模型只能近似离散化——步长要测试收敛性，否则期权价格自带系统性偏差。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/probability-basics/"&gt;&lt;span class="markdown-link-inner"&gt;概率论基础&lt;/span&gt;&lt;/a&gt;
 是蒙特卡洛的概率根基；&lt;a
 class="link"
 href="http://airyv.com/quant/derivatives/"&gt;&lt;span class="markdown-link-inner"&gt;衍生品&lt;/span&gt;&lt;/a&gt;
 讲解析定价与模拟定价的分工；&lt;a
 class="link"
 href="http://airyv.com/quant/walk-forward-validation/"&gt;&lt;span class="markdown-link-inner"&gt;样本内外验证&lt;/span&gt;&lt;/a&gt;
 把 bootstrap 变成策略选择纪律。&lt;/p&gt;</description></item><item><title>实验设计与 A/B 测试（量化研究版）</title><link>http://airyv.com/quant/experiment-ab/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://airyv.com/quant/experiment-ab/</guid><description>&lt;p&gt;互联网行业的 A/B 测试是黄金标准：把用户随机分成两组，同时跑新旧版本，比较转化率。量化研究者的处境要尴尬得多——&lt;strong&gt;市场不允许我们平行实验&lt;/strong&gt;：2024 年 5 月只有一个，策略新版本跑在 5 月、旧版本也跑在 5 月，得到的却是同一段行情。本篇讨论在「样本不可复制、环境不可控制」的约束下，如何科学地评估一次策略改动。&lt;/p&gt;
&lt;h2 id="为什么教科书-ab-在金融里失灵"&gt;为什么教科书 A/B 在金融里失灵
&lt;/h2&gt;&lt;p&gt;三个结构性差异：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;没有平行宇宙&lt;/strong&gt;。无法同时观察「有这个因子」和「没有这个因子」的两种市场——因果推断最干净的工具直接缺席；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;环境漂移比用户行为快&lt;/strong&gt;。A/B 假设两组环境一致，而市场 regime 数周就切换：新旧版本先后各跑三个月，绩效差异可能 80% 来自行情差异而非改动本身；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一次实现，样本极小&lt;/strong&gt;。日频策略一年只有 252 个观测，且彼此不独立（波动聚集、自相关），有效样本量远小于名义值。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;所以量化的「实验」必须绕道：&lt;strong&gt;用历史数据构造反事实，用统计检验处理单路径问题&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="改动评估的正确流程"&gt;改动评估的正确流程
&lt;/h2&gt;&lt;h3 id="第一步明确假设与最不许动的部分"&gt;第一步：明确假设与「最不许动的部分」
&lt;/h3&gt;&lt;p&gt;改动前写下：改什么（如「止损从 5% 收紧到 3%」）、预期机制（「截断左尾，代价是被洗出频率上升」）、主要评价指标（夏普？MDD？换手？）、以及&lt;strong&gt;不许动的控制变量&lt;/strong&gt;（回测区间、成本模型、其余参数冻结）。没有预先注册的假设，事后解释自由度无限大——这是 p-hacking 的温床（见&lt;a
 class="link"
 href="http://airyv.com/quant/alpha-research-process/"&gt;&lt;span class="markdown-link-inner"&gt;避免 p-hacking&lt;/span&gt;&lt;/a&gt;
）。&lt;/p&gt;
&lt;h3 id="第二步历史配对比较而非重跑一次回测"&gt;第二步：历史配对比较，而非「重跑一次回测」
&lt;/h3&gt;&lt;p&gt;新旧版本在&lt;strong&gt;同一段历史&lt;/strong&gt;上运行，逐日（或逐笔）配对收益差 Δrₜ = rₜ(新) − rₜ(旧)。检验 &lt;code&gt;H₀: mean(Δr) = 0&lt;/code&gt; 用配对 t 检验，并用 Newey-West 修正自相关下的标准误——因为 Δrₜ 几乎必然自相关。同时报告 Δr 的分布而非只有均值：&lt;strong&gt;收紧止损这类改动常常「大多数日子略差 + 少数灾难日大幅更好」&lt;/strong&gt;，只看均值会误杀。&lt;/p&gt;
&lt;h3 id="第三步置换检验绕开正态假设"&gt;第三步：置换检验，绕开正态假设
&lt;/h3&gt;&lt;p&gt;Δr 的分布歪斜且有厚尾，t 检验的前提可疑时用置换检验：随机翻转 10000 次 Δrₜ 的正负号，构造「改动纯随机」下的均值分布，看真实均值落在分布的哪个分位。落在 95% 分位之外，才承认改动有真实效果。它对小样本、厚尾都稳健，是量化改动评估的默认推荐。&lt;/p&gt;
&lt;h3 id="第四步多维评价与稳健性"&gt;第四步：多维评价与稳健性
&lt;/h3&gt;&lt;p&gt;改动几乎总在「用一类风险换另一类」，评估矩阵至少包含：夏普、最大回撤、回撤持续时间、换手与成本、容量影响、&lt;strong&gt;分年度稳定性&lt;/strong&gt;（是不是只有 2015 年牛市里更好）、以及参数邻域敏感性。任何单一指标的显著改善都不构成上线理由。&lt;/p&gt;
&lt;h2 id="模拟盘与实盘的准实验"&gt;模拟盘与实盘的「准实验」
&lt;/h2&gt;&lt;p&gt;历史检验通过后，进入前向验证——这是量化里最接近真 A/B 的部分：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;模拟盘并行期&lt;/strong&gt;：新版本在模拟环境跑实盘信号（不真实成交），与在跑版本同环境对照 4–8 周。虽然环境仍相同、无平行分组，但&lt;strong&gt;前向数据没有经过你的研究过程&lt;/strong&gt;，能杀掉大部分历史过拟合（见&lt;a
 class="link"
 href="http://airyv.com/quant/strategy-deployment/"&gt;&lt;span class="markdown-link-inner"&gt;仿真盘&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;资金灰度&lt;/strong&gt;：用 10% 资金跑新版本，观察「实盘 vs 模拟」与「实盘 vs 旧版本」两条差异序列，达标后逐步放量（10% → 30% → 100%）。灰度期同时是执行成本的实测（见&lt;a
 class="link"
 href="http://airyv.com/quant/strategy-deployment/"&gt;&lt;span class="markdown-link-inner"&gt;灰度与放量&lt;/span&gt;&lt;/a&gt;
）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;执行算法的 A/B&lt;/strong&gt;：同一调仓日的订单流一半走 VWAP、一半走 TWAP，比较实现差额（implementation shortfall）——这是量化里少数能真·随机分组的场景（见&lt;a
 class="link"
 href="http://airyv.com/quant/execution-algorithms/"&gt;&lt;span class="markdown-link-inner"&gt;执行算法&lt;/span&gt;&lt;/a&gt;
）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="常见的伪实验设计"&gt;常见的伪实验设计
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;伪实验&lt;/th&gt;
 &lt;th&gt;问题&lt;/th&gt;
 &lt;th&gt;正确做法&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;新版本只回测近 3 年，旧版本历史全期&lt;/td&gt;
 &lt;td&gt;区间不一致，差异混入行情效应&lt;/td&gt;
 &lt;td&gt;同区间配对比较&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;改 5 个参数后绩效提升&lt;/td&gt;
 &lt;td&gt;无法归因给谁&lt;/td&gt;
 &lt;td&gt;单变量改动，或做正交设计&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;挑「表现最好」的 6 个月展示&lt;/td&gt;
 &lt;td&gt;选择性汇报&lt;/td&gt;
 &lt;td&gt;全区间 + 分年度&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;模拟盘跑 5 天就下结论&lt;/td&gt;
 &lt;td&gt;噪声主导（t ≈ 0.3）&lt;/td&gt;
 &lt;td&gt;预先注册的最小样本量（如 20 个交易日）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;「这次改动很小，直接上实盘」&lt;/td&gt;
 &lt;td&gt;小改动也有不可预期交互&lt;/td&gt;
 &lt;td&gt;一切改动走同一流程&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关联阅读&lt;/strong&gt;：&lt;a
 class="link"
 href="http://airyv.com/quant/statistical-inference/"&gt;&lt;span class="markdown-link-inner"&gt;统计推断&lt;/span&gt;&lt;/a&gt;
 提供本篇用到的全部检验工具；&lt;a
 class="link"
 href="http://airyv.com/quant/monte-carlo/"&gt;&lt;span class="markdown-link-inner"&gt;蒙特卡洛&lt;/span&gt;&lt;/a&gt;
 的置换与 bootstrap 是反事实构造的机器；&lt;a
 class="link"
 href="http://airyv.com/quant/strategy-deployment/"&gt;&lt;span class="markdown-link-inner"&gt;策略上线流程&lt;/span&gt;&lt;/a&gt;
 把实验结论变成生产变更。&lt;/p&gt;</description></item></channel></rss>