24 KiB
组合优化详解
quant_portfolio_optimization_demo.py 学习文档
目标读者:量化入门者,已完成前四篇学习
配套文件:quant_portfolio_optimization_demo.py
系列位置:第 5 篇 — 组合优化篇
目录
- 为什么需要组合优化?
- 核心数学框架:均值-方差优化
- 协方差矩阵估计:从样本到收缩
- 有效前沿与资本市场线
- 三种特殊组合
- 风险平价:不依赖预期收益的方法
- Black-Litterman 模型:贝叶斯框架
- 带约束的组合优化
- 滚动回测:五策略横向对比
- 结果解读
- 术语速查表
1. 为什么需要组合优化?
1.1 从"选股"到"构建组合"
前几篇 Demo 告诉我们如何选择好股票(Alpha 因子)。但知道哪些股票好之后,下一个问题是:
"我手里有 20 只股票,分别该买多少?"
这个问题看似简单,但影响极大:
方案1:每只股票买 5%(等权,最简单)
方案2:只买最好的 3 只,各 33%(过度集中)
方案3:根据各股的风险-收益特性,科学分配权重 ← 这就是组合优化
1.2 多元化的数学价值
多元化 (Diversification) 的精华在于:不同资产的涨跌不完全同步(相关系数 < 1),组合的风险可以低于各资产风险的加权平均。
\sigma_p = \sqrt{\sum_i \sum_j w_i w_j \sigma_{ij}} \leq \sum_i w_i \sigma_i
其中 \sigma_{ij} = \rho_{ij} \sigma_i \sigma_j 是协方差,\rho_{ij} 是相关系数。
当 \rho_{ij} < 1 时,等号不成立,组合波动率严格小于各股波动率的加权平均。
直觉例子:
| 资产 | 波动率 | 情景 |
|---|---|---|
| 科技股 A | 30% | 经济好时大涨,经济差时大跌 |
| 医疗股 B | 25% | 与经济景气关联较小,独立波动 |
| A+B 等权 | ≈ 20%(低于 27.5%!) | 两者不完全相关,组合风险被"稀释" |
1.3 优化的目标
Harry Markowitz (1952) 在诺贝尔奖论文中指出,理性投资者应该:
在承担相同风险的前提下,选择期望收益最高的组合;
在期望相同收益的前提下,选择风险最小的组合。
这就是"均值-方差框架 (Mean-Variance Framework)"的核心逻辑。
2. 均值-方差优化(Mean-Variance Optimization)
2.1 问题形式
组合优化的数学问题可以写成:
\boxed{\min_{w}\ w'\Sigma w \quad \text{subject to} \quad w'\mu = \mu^*, \quad \mathbf{1}'w = 1, \quad w \geq 0}
| 符号 | 含义 |
|---|---|
w |
权重向量 (weight vector), shape (N, 1) |
\Sigma |
协方差矩阵 (covariance matrix), shape (N, N) |
\mu |
预期收益向量 (expected return vector), shape (N, 1) |
\mu^* |
目标收益率 (target return) |
\mathbf{1}'w = 1 |
全投资约束 (full investment constraint) |
w \geq 0 |
多头约束 (long-only constraint) |
这个问题在不同目标收益率 \mu^* 下重复求解,就得到了有效前沿。
2.2 算法:SLSQP(序列二次规划)
本 Demo 使用 scipy.optimize.minimize 的 SLSQP 方法:
SLSQP = Sequential Least Squares Programming
序列二次规划法
SLSQP 每轮迭代将非线性约束优化问题近似为一个二次规划 (QP) 子问题,逐步收敛到最优解。
from scipy.optimize import minimize
result = minimize(
objective, # 目标函数(如最小化组合方差)
w0, # 初始权重(等权作为起点)
method='SLSQP',
bounds=[(0.0, 1.0)] * N, # 权重区间:[0%, 100%]
constraints=[
{'type': 'eq', 'fun': lambda w: sum(w) - 1} # 权重之和 = 1
],
options={'ftol': 1e-12, 'maxiter': 1500}
)
2.3 组合的三个核心指标
给定权重 $w$、预期收益 $\mu$、协方差矩阵 $\Sigma$,可以计算:
| 指标 | 公式 | 说明 |
|---|---|---|
| 组合收益率 | r_p = w'\mu |
各股收益的加权平均 |
| 组合波动率 | \sigma_p = \sqrt{w'\Sigma w} |
关键!非线性,受协方差影响 |
| 夏普比率 | SR = (r_p - r_f) / \sigma_p |
单位风险的超额收益,越高越好 |
3. 协方差矩阵估计
3.1 为什么协方差矩阵很重要?
组合优化的结果对协方差矩阵的估计极其敏感。\Sigma 的一个小误差,可能导致组合权重大幅波动——这是 Markowitz 框架在实践中最大的挑战。
3.2 样本协方差矩阵的问题
\hat{\Sigma}_{sample} = \frac{1}{T-1} \sum_{t=1}^{T} (r_t - \bar{r})(r_t - \bar{r})'
问题1:维度诅咒 (Curse of Dimensionality)
估计一个 N 只股票的协方差矩阵,需要估计 N(N+1)/2 个参数。
20 只股票 → 210 个参数;50 只股票 → 1275 个参数
当 T(样本长度)与 N(资产数量)之比较小时(如 T/N < 5),估计误差极大。
问题2:条件数过高 (High Condition Number)
条件数 (Condition Number) = 最大特征值 / 最小特征值
条件数高意味着矩阵"病态"——求逆时微小误差被放大,优化结果不稳定。
3.3 Ledoit-Wolf 收缩估计
核心思想:将样本协方差矩阵向一个"结构化目标"方向收缩:
\hat{\Sigma}_{LW} = (1-\alpha) \hat{\Sigma}_{sample} + \alpha \cdot F
其中:
F是目标矩阵(如"单位矩阵×平均方差"),结构简单,估计误差小\alpha是最优收缩系数(由数据自动决定,不需手动调参)
收缩的直觉:
- 样本协方差:复杂,可能过度拟合历史数据
- 目标矩阵:简单,但忽略了资产间真实相关性
- 收缩后:二者的折中,在偏差和方差之间取平衡
from sklearn.covariance import LedoitWolf
lw = LedoitWolf()
lw.fit(return_data)
cov_shrunk = lw.covariance_ # 收缩后的协方差矩阵
shrink_coeff = lw.shrinkage_ # 最优收缩系数 α(自动计算)
本 Demo 结果:
- 样本协方差条件数:35.4
- 收缩后条件数:34.0(收缩系数 α = 0.0098,很小 → 本数据质量较好,无需大幅收缩)
4. 有效前沿与资本市场线
4.1 有效前沿(Efficient Frontier)
有效前沿是所有"帕累托最优"组合的集合:
- 在相同波动率下,收益最高
- 在相同收益下,波动率最低
有效前沿由两个端点确定:
- 左端点:全局最小方差组合 (GMV)——风险最低的点
- 右端点:单只股票(预期收益最高的那只,极度集中)
▲ 收益率
│ × × ←← 有效前沿
│ × MaxSharpe ●
│ × MinVar ●
│ × × ×
│ × × × ×
│────────────────────→ 波动率
位于有效前沿左下方的是"劣势组合"——存在一个前沿组合,既有更高收益、又有更低风险。
4.2 资本市场线(Capital Market Line, CML)
引入无风险资产(如国债,年化收益率 $r_f = 2%$)后:
- 投资者可以在"无风险资产"和"某个风险组合"之间分配资金
- 最优的风险组合就是从
r_f出发,与有效前沿相切的那点——切线组合 (Tangency Portfolio),也叫最大夏普组合
资本市场线的方程:
r_p = r_f + SR_{tangency} \times \sigma_p
- 斜率
SR_{tangency}就是切线组合的夏普比率 - 任何有效投资者都应该持有切线组合(可以加上无风险资产来调节总风险)
5. 三种特殊组合
5.1 等权组合(Equal Weight, EW)
w_i = \frac{1}{N} \quad \forall i
优点:
- 最简单,无需任何参数估计
- 对估计误差完全免疫
- 实证研究发现,等权组合在许多市场中难以被复杂模型超越("1/N 难题")
缺点:
- 完全忽略各股的风险差异(高波动股和低波动股同等对待)
- 没有利用任何收益预测信息
5.2 最小方差组合(Minimum Variance Portfolio, MinVar)
\min_w\ w'\Sigma w \quad \text{s.t.}\ \mathbf{1}'w=1,\ w\geq 0
重要特点:完全不需要预期收益 \mu 的估计!
这是一个极大的优势——预期收益 \mu 是非常难以估计的,而协方差矩阵 \Sigma 相对更稳定(因为波动率和相关性的历史规律更具持久性)。
适用场景:投资者没有可靠的收益预测,但希望最小化风险。
本 Demo 结果:
- 收益 12.5%,波动 18.5%(所有策略中最低!),夏普 0.57
- 回测中夏普 1.005 — 体现了低波动的稳健性
5.3 最大夏普组合(Maximum Sharpe / Tangency Portfolio)
\max_w\ \frac{w'\mu - r_f}{\sqrt{w'\Sigma w}} \quad \text{等价于}\ \min_w\ -\text{SR}
这是理论上最优的风险组合,但高度依赖对 \mu 的准确估计。
实践中的问题:
- 误差传导:
\mu的估计误差被优化器"放大",产生极端权重 - 集中效应:最大夏普组合常常把权重集中在少数几只"看起来最好"的股票上
- 过拟合:历史中表现好的股票,未来未必继续好
本 Demo 结果:
- 收益 50.4%,波动 29.7%(最高!),夏普 1.63(基于全期数据的理论值)
- 回测夏普 0.844 — 因为样本内最优 ≠ 样本外最优,存在过拟合
6. 风险平价(Risk Parity)
6.1 核心思想
等权组合 → 权重相等 → 但高波动股对组合风险贡献更大!
风险平价 → 风险贡献相等 → 每只股票对总风险的贡献相同
等权组合中:
低波动股(σ=15%)权重 5% → 风险贡献 很小
高波动股(σ=35%)权重 5% → 风险贡献 很大 ← 实际上被高波动股"主导"
风险平价组合:
低波动股(σ=15%)权重 大(≈10%)→ 风险贡献 = 1/N
高波动股(σ=35%)权重 小(≈2%)→ 风险贡献 = 1/N ← 真正均衡
6.2 风险贡献的数学
边际风险贡献 (Marginal Risk Contribution, MRC):
\text{MRC}_i = \frac{\partial \sigma_p}{\partial w_i} = \frac{(\Sigma w)_i}{\sigma_p}
绝对风险贡献 (Risk Contribution, RC):
\text{RC}_i = w_i \times \text{MRC}_i = \frac{w_i \cdot (\Sigma w)_i}{\sigma_p}
验证:$\sum_i \text{RC}_i = \sigma_p$(各股风险贡献之和 = 总波动率)
等风险贡献条件:
\frac{\text{RC}_i}{\sigma_p} = \frac{1}{N} \quad \Leftrightarrow \quad w_i \cdot (\Sigma w)_i = w_j \cdot (\Sigma w)_j \quad \forall i, j
6.3 风险平价的优化问题
\min_w \sum_i \left(\frac{\text{RC}_i}{\sigma_p} - \frac{1}{N}\right)^2
这是一个非线性最小二乘问题(没有解析解),需要数值优化求解。
def objective(w):
rc, sigma_p = risk_contributions(w, cov)
rc_pct = rc / sigma_p # 各资产风险贡献占比
target = 1.0 / N # 目标:1/N
return np.sum((rc_pct - target) ** 2)
本 Demo 结果:
- 各股 RC 最大偏差 = 0.000(完美等风险贡献!)
- 收益 9.5%,波动 21.0%,夏普 0.36(因为低波动持仓更多低收益股)
6.4 风险平价的适用场景
| 场景 | 适合 | 理由 |
|---|---|---|
| 没有可靠的收益预期 | ✓ | 不需要 μ 估计 |
| 管理多资产配置(股债商品) | ✓ | 各资产类别风险差异大 |
| 需要稳健的长期策略 | ✓ | 比最大夏普更稳定 |
| 单一股票池、收益差异明显 | △ | 可能过于保守 |
7. Black-Litterman 模型
7.1 Markowitz 框架的根本缺陷
对预期收益的"蝴蝶效应":
Markowitz 优化是一个"误差放大器"——\mu 哪怕有 1% 的估计误差,权重可能变动 30%+。这导致实际使用中,最大夏普组合常常产生极度集中的"角点解"。
Black-Litterman(1990)给出了一个优雅的解决方案:从市场均衡出发,而不是从历史均值出发。
7.2 三步 BL 框架
第一步:建立先验(市场均衡隐含收益)
市场是所有投资者信息的综合。如果市场是均衡的,当前市值加权组合 w_{mkt} 就是所有投资者的"最优"选择。
反向推导这个最优选择对应的隐含收益(CAPM 均衡):
\Pi = \delta \cdot \Sigma \cdot w_{mkt}
| 符号 | 含义 |
|---|---|
\Pi |
市场均衡隐含超额收益 (Market-implied excess returns) |
\delta |
市场风险厌恶系数,通常取 2.0~3.0 |
\Sigma |
协方差矩阵 |
w_{mkt} |
市值权重组合 (Market cap weights) |
这个先验的优点:总是给出合理的、多元化的权重,不会产生极端集中。
第二步:表达投资者观点
投资者可以输入对特定股票(或组合)的主观看法:
观点矩阵 P (View matrix, K × N):
P[k, i] = 股票 i 在观点 k 中的权重(正=多头,负=空头)
观点收益向量 Q (View returns, K × 1):
Q[k] = 观点 k 的预期超额收益
观点不确定性矩阵 Ω (View uncertainty, K × K 对角矩阵):
Ω[k,k] 越大 = 对第 k 个观点越不自信
本 Demo 的两个观点:
# 观点1(绝对观点): "S01 的年化超额收益将达到 +5%"
P[0, 1] = 1.0
Q[0] = 0.05
# 观点2(相对观点): "S00 将比 S04 多赚 3%"
P[1, 0] = +1.0 # S00 多头
P[1, 4] = -1.0 # S04 空头
Q[1] = 0.03
第三步:贝叶斯更新,求后验预期收益
\mu_{BL} = \underbrace{\left[(\tau\Sigma)^{-1} + P'\Omega^{-1}P\right]^{-1}}_{\text{精度矩阵之和的逆}} \cdot \underbrace{\left[(\tau\Sigma)^{-1}\Pi + P'\Omega^{-1}Q\right]}_{\text{加权均值向量}}
直观理解:
(\tau\Sigma)^{-1}越大 → 先验越"确定",后验越接近先验\Pi\Omega^{-1}越大 → 观点越"确定",后验越接近观点Q\tau是先验的"置信度调节参数",通常取 0.025~0.10
本 Demo 结果:
- BL 将 S00(观点2的受益者)权重从 5%(等权)调升至 17.1%
- 后验收益比均衡先验更集中在观点受益股
- 回测中 BL 夏普 1.107,Calmar 1.51——所有策略中最优
7.3 BL vs 直接 Markowitz
| 直接 Markowitz | Black-Litterman | |
|---|---|---|
| 先验 | 历史均值(含估计误差) | 市场均衡(反向优化,更稳定) |
| 观点融入 | 直接修改 μ(极端敏感) | 贝叶斯混合(平滑过渡) |
| 结果 | 容易极度集中 | 分散化程度好 |
| 无观点时 | 结果无意义 | 退回到市值加权 |
8. 带约束的组合优化
8.1 为什么需要约束?
纯粹的 Markowitz 优化常常产生:
- 单只股票权重 40%+(过度集中)
- 某行业权重 0%(完全空缺某一行业的风险敞口)
- 与上期持仓相差 80%(极高换手率 → 高交易成本)
实际组合管理需要通过约束来控制这些问题。
8.2 三类常见约束
约束1:权重上下限(集中度管理)
bounds = [(0.0, 0.15)] * N # 每只股票:0% ≤ w_i ≤ 15%
约束2:行业权重区间
# 每行业权重在 10%~35% 之间
for sector_indices in SECTORS.values():
constraints.append({
'type': 'ineq',
'fun': lambda w: sum(w[sector_indices]) - 0.10 # ≥ 10%
})
constraints.append({
'type': 'ineq',
'fun': lambda w: 0.35 - sum(w[sector_indices]) # ≤ 35%
})
约束3:换手率约束(交易成本控制)
# 本期与上期权重的 L1 距离 ≤ 50%
# L1 distance = Σ |w_new,i - w_old,i|
constraints.append({
'type': 'ineq',
'fun': lambda w: 0.50 - np.sum(np.abs(w - w_prev))
})
本 Demo 结果(带约束最大夏普):
- 夏普 0.94(vs 无约束的 1.63)——约束降低了理论最优解的质量
- 但实际上更可行:最大单股 15%,各行业 10%~35%,约束全部满足 ✓
8.3 约束与优化效率的权衡
约束越多 → 可行域越小 → 最优解越差(理论值)
约束越多 → 组合越分散 → 实际表现可能更好(防止过拟合)
这是组合管理的核心矛盾:理论最优 vs 实践可行。
9. 滚动回测
9.1 滚动回测的必要性
如果用全量历史数据估计 \mu 和 $\Sigma$,再用"最优"权重买入,实际上使用了未来信息(前视偏差 / Look-Ahead Bias)——这样的回测结果不真实。
正确做法:滚动窗口(Walk-Forward)回测
时间轴: ──────── LOOKBACK ──────────────── 测试期 ──────────
t=0 t=126 t=147 t=168 ...
│─── 估计期 126 天 ──│─ 持有21天 ─│─ 持有21天 ─│
↑ ↑
估计 μ、Σ 用新数据重新估计,重新优化
9.2 调仓流程
for t in rebalance_dates:
# ① 用过去 126 天历史估计 μ 和 Σ
hist = returns.iloc[t-126 : t]
mu_roll = hist.mean() * 252
cov_roll = hist.cov() * 252
# ② 用当前估计重新计算各策略权重
w_minvar = min_variance(mu_roll, cov_roll)
w_maxsharpe = max_sharpe(mu_roll, cov_roll)
# ...
# ③ 持有到下次调仓日,每日记录组合收益
for d in range(t, next_rebalance):
portfolio_return = w @ returns.iloc[d]
9.3 五策略对比结果
| 策略 | 年化收益 | 年化波动 | 夏普比率 | 最大回撤 | Calmar |
|---|---|---|---|---|---|
| 等权 EW | 17.6% | 22.4% | 0.70 | -22.3% | 0.79 |
| 最小方差 MinVar | 21.6% | 19.5% | 1.00 | -22.1% | 0.98 |
| 最大夏普 MaxSharpe | 25.0% | 27.2% | 0.84 | -24.5% | 1.02 |
| 风险平价 RP | 17.3% | 21.6% | 0.71 | -21.7% | 0.80 |
| Black-Litterman BL | 25.6% | 21.3% | 1.11 | -16.9% | 1.51 |
10. 结果解读
10.1 最小方差 vs 等权
MinVar 收益比等权高 4%,波动比等权低 3%——用更复杂的优化换来了双向改善。
这通常在样本量充足、协方差估计可靠时发生。
10.2 最大夏普的"过拟合"现象
理论值:Sharpe = 1.63(全量数据)
回测值:Sharpe = 0.84(样本外)
下降 50%——这就是过拟合的代价。滚动窗口估计出的 \mu 不稳定,每次重估都有误差,导致权重频繁剧烈变动。
10.3 Black-Litterman 为什么最好?
- 先验稳定:从市场均衡出发,不过度依赖嘈杂的历史均值
- 观点有效:本 Demo 中 S00/S01(科技/金融)确实注入了较高的 Alpha,观点与真实 Alpha 方向一致
- 不极端集中:贝叶斯混合平滑了权重,避免了角点解
注意:如果投资者观点是错误的,BL 的结果可能比等权更差。BL 的价值在于"正确观点"的放大,而不是错误观点的保护。
10.4 Calmar 比率与最大回撤
\text{Calmar} = \frac{\text{年化收益}}{\text{最大回撤绝对值}}
BL 策略 Calmar = 1.51,最大回撤仅 -16.9%,说明在每次大幅下跌时损失相对可控。这对于风险管理 (Risk Management) 极为重要——一个持续盈利但某年大幅亏损的策略,在实际操作中往往难以坚持。
11. 术语速查表
| 中文 | English | 简要说明 |
|---|---|---|
| 组合优化 | Portfolio Optimization | 在约束下选择最优资产权重 |
| 均值-方差框架 | Mean-Variance Framework | Markowitz (1952) 的经典框架 |
| 权重向量 | Weight Vector (w) | 各资产的持仓比例 |
| 协方差矩阵 | Covariance Matrix (Σ) | 资产收益率的协方差关系矩阵 |
| 预期收益向量 | Expected Return Vector (μ) | 各资产的预期年化收益率 |
| 多元化 | Diversification | 持有多种相关性低的资产,降低整体风险 |
| 有效前沿 | Efficient Frontier | 给定风险下收益最高的组合集合 |
| 全局最小方差组合 | Global Minimum Variance Portfolio (GMV) | 有效前沿的左端点,风险最低 |
| 切线组合 | Tangency Portfolio | 资本市场线与有效前沿的切点,即最大夏普组合 |
| 资本市场线 | Capital Market Line (CML) | 从无风险利率到切线组合并延伸的直线 |
| 最大夏普组合 | Maximum Sharpe Portfolio | 夏普比率最高的组合 |
| 无风险利率 | Risk-Free Rate (Rf) | 国债等无风险资产的收益率 |
| 夏普比率 | Sharpe Ratio | (收益-无风险利率) / 波动率,衡量风险调整后收益 |
| Calmar 比率 | Calmar Ratio | 年化收益 / 最大回撤,衡量下行风险调整后收益 |
| 最大回撤 | Maximum Drawdown (MDD) | 历史上从高点到低点的最大跌幅 |
| 样本协方差 | Sample Covariance | 用历史数据直接计算的协方差矩阵 |
| 条件数 | Condition Number | 矩阵最大特征值/最小特征值之比,衡量矩阵"病态"程度 |
| Ledoit-Wolf 收缩 | Ledoit-Wolf Shrinkage | 将样本协方差向结构化目标收缩,减少估计误差 |
| 收缩系数 | Shrinkage Coefficient (α) | Ledoit-Wolf 中收缩强度的参数,由数据自动决定 |
| 风险平价 | Risk Parity | 每只资产对组合总风险贡献相等的配置方法 |
| 边际风险贡献 | Marginal Risk Contribution (MRC) | 增加该资产权重时组合波动率的变化率 |
| 风险贡献 | Risk Contribution (RC) | 某资产对组合总风险的绝对贡献量 |
| Black-Litterman | Black-Litterman (BL) | 贝叶斯框架,融合市场均衡先验与投资者观点 |
| 先验 | Prior | 贝叶斯框架中引入观测数据之前的信念 |
| 后验 | Posterior | 贝叶斯更新后,融合先验与观测的新信念 |
| 观点矩阵 | View Matrix (P) | 表达投资者观点的矩阵,K观点 × N资产 |
| 观点收益向量 | View Returns Vector (Q) | 各观点的预期收益 |
| 观点不确定性矩阵 | View Uncertainty Matrix (Ω) | 对角矩阵,表达对各观点的置信度 |
| 市场均衡隐含收益 | Market Equilibrium Implied Returns (Π) | CAPM均衡下,对应市值加权组合的隐含预期收益 |
| 风险厌恶系数 | Risk Aversion Coefficient (δ) | 衡量投资者对风险-收益权衡的偏好参数 |
| 绝对观点 | Absolute View | 对某资产预期收益的绝对判断(如"S01 将涨 5%") |
| 相对观点 | Relative View | 对两资产相对表现的判断(如"A 比 B 多赚 3%") |
| 全投资约束 | Full Investment Constraint | Σw_i = 1,所有资金都投入 |
| 多头约束 | Long-Only Constraint | w_i ≥ 0,不允许卖空 |
| 权重上限 | Weight Upper Bound | 单只资产的最大持仓比例限制 |
| 行业权重约束 | Sector Weight Constraint | 限制某一行业的总持仓比例范围 |
| 换手率约束 | Turnover Constraint | 限制新旧权重变化总量,控制交易成本 |
| 换手率 | Turnover | Σ |
| 前视偏差 | Look-Ahead Bias | 回测中错误地使用了未来才能获得的数据 |
| 滚动回测 | Rolling / Walk-Forward Backtest | 用历史窗口估计参数,样本外验证的正确回测方式 |
| SLSQP | Sequential Least Squares Programming | 序列最小二乘规划法,scipy 中常用的约束优化算法 |
| 过拟合 | Overfitting | 模型过度拟合历史数据,样本外表现大幅下降 |
| 角点解 | Corner Solution | 优化结果极度集中在少数资产,非分散化的极端解 |
| 误差传导 | Error Propagation | 输入参数的微小误差被优化器放大后产生极端结果 |
| 风险分散 | Risk Diversification | 通过多资产配置降低总组合风险的过程 |
| 行业暴露 | Sector Exposure | 组合对某一行业的权重,影响风格风险 |
上一篇:Alpha 因子研究
附录:系列文档导航
| 篇 | 文件 | 文档 | 核心内容 |
|---|---|---|---|
| 第 1 篇 | quant_data_pipeline_demo.py |
doc_01_data_pipeline.md |
复权、收益率、缺失值、异常值、涨跌停 |
| 第 2 篇 | quant_strategy_backtest_demo.py |
doc_02_strategy_backtest.md |
技术指标、策略逻辑、向量化回测、绩效指标 |
| 第 3 篇 | quant_event_driven_backtest_demo.py |
doc_03_event_driven_backtest.md |
事件驱动架构、6大组件、成本模型 |
| 第 4 篇 | quant_alpha_factor_demo.py |
doc_04_alpha_factor.md |
因子构建、IC/ICIR、分层回测、因子合成、多空组合 |
| 第 5 篇 | quant_portfolio_optimization_demo.py |
doc_05_portfolio_optimization.md |
MVO、有效前沿、MinVar、MaxSharpe、风险平价、BL、约束优化 |