Jikipedia
第 22 篇

MPT 模型

现代资产配置理论(MPT)回答「一堆风险资产该怎么配」:固定预期收益时把波动最小化(或反过来),得到的整条最优组合曲线叫有效前沿;把无风险资产加进来后,从无风险利率出发与有效前沿相切的那条线(资本市场线)上、夏普比率最高的点就是市场组合。本篇用沪深 300 里随机抽的 5 只股票全程演示数值。本篇是量化课堂第 22 篇(postId=1991,作者肖睿,编辑宏观经济算命师,难度进阶上,深度 level-1),「从效用到 CAPM」系列第三篇。素材见 raw/collections/jq-quant-classroom/22-22-mpt-模型md.md。

量化MPT有效前沿均值方差夏普比率市场组合资本市场线

这是什么

MPT 是 Markowitz 1952 年提出的理论,也叫均值-方差分析。核心思想:风险用收益率的标准差(或方差)衡量,配置目标就是「标准差最小 + 预期收益最大」的折中。文章先给模型与组合的数学(收益、方差公式),再一步步讲有效前沿、加无风险资产、夏普比率、市场组合与资本市场线,最后用 5 只真实股票的 2014–2016 数据算出一个具体的最优组合。

核心要点

模型与假设

  • 投资者对风险的认知 = 收益率的标准差;每个资产/组合在「横轴 σ、竖轴预期收益」的平面上是一个点。
  • n 个风险资产:r_i 是收益随机变量,E[r_i] 预期,σ_i 标准差。风险资产 = 方差 > 0 的资产;无风险资产 = 收益确定的资产,利率统一为 r_f。
  • 组合 P 的权重 w_i 满足 Σw_i = 1;市场完全开放、允许无限制买多卖空,所以 w_i 可以是任意实数(负数=卖空)。
  • 组合的数学三件套:
    • 收益 r_P = Σ w_i·r_i;
    • 预期 E[r_P] = Σ w_i·E[r_i](线性加权);
    • 方差 Var(r_P) = ΣΣ w_i·w_j·Cov(r_i, r_j)(含所有两两协方差)。

有效前沿(马科维兹子弹)

  • 优化问题:对每个预期收益 μ,找方差最小的权重——最小化 Var,约束 E[r_P]=μ 且 Σw_i=1。解法是拉格朗日乘子(本篇不展开,MPT 模型的解析解(上) 展开)。
  • 所有最优解画出来是一条抛物线,像子弹尖,叫有效前沿(Markowitz bullet)。
  • 曲线最左点是波动最小的位置;这个点以上的上半段才是「有效」的——固定风险挑最大收益会筛掉下半段,所以平常说的有效前沿多指上半部分。
  • 5 股演示(沪深 300 随机 5 只,2014–2016 日收盘):日均收益 r=[0.00106, 0.00283, 0.002323, 0.00279, 0.00125],标准差 σ=[0.0249, 0.0270, 0.0351, 0.0361, 0.0333];5×5 协方差矩阵原文给全。
  • 穷举可行组合(允许有限卖空):图上绿=夏普高、紫=夏普低;最左顶点(最低风险组合)σ=0.0212、预期收益 0.00202——风险比 5 只里任何一只都小,收益约为它们的平均。

加无风险资产:夏普比率与资本市场线

  • 把 α 份放组合 P、1−α 份放无风险资产:E[r_α]=αE[r_P]+(1−α)r_f,σ_α=α·σ_P(无风险部分没波动)。
  • 因为 σ 与 E 都随 α 线性变化,可行点连成一条穿过 (0, r_f) 与 (σ_P, E[r_P]) 的射线。
  • 射线坡度 = (E[r_P] − r_f)/σ_P,这就是夏普比率 Sharpe(P)。
  • 有效前沿上必有夏普最高的点,叫市场组合 M;它连无风险资产的线坡度最陡,与有效前沿相切,这条切线叫资本市场线(CML):μ = r_f + S_M·σ。
  • CML 的意义:固定标准差,预期收益最高的组合在这条线上;固定预期收益,标准差最低的也在这条线上——理论上的「最佳配置线」。

数值算例(2014–2016、国债年化 4%)

  • 无风险日化利率:(1.04)^(1/250) − 1 ≈ 0.00015689。
  • 有效前沿上最高夏普 = 0.11885,所以 CML:μ = 0.00015689 + 0.11885·σ。
  • 切点(市场组合 M):日化预期 E[r_M] = 0.0037746,σ_M = 0.030439。
  • 想配出日化预期 0.003、风险最低的组合:σ_α = (0.003 − 0.00015689)/0.11885 ≈ 0.023922;α = σ_α/σ_M ≈ 0.786 → 每 1 元配 0.786 元 M + 0.214 元国债。
  • 结果:这个组合的预期收益高于 5 只成分股,风险比每一只都低——「收益高又风险低」来自分散化与无风险配比。

机制 / 论证

  • 为什么组合收益是线性的、风险不是:收益是 Σw_i·r_i 的期望,线性;方差含两两协方差项,协方差为负会互相抵消,这是分散化的数学来源。
  • 为什么有效前沿是曲的:最小化方差解出来的权重随 μ 变化,画在 (σ,E) 平面上形成抛物线;下半段同风险下有更高收益的组合,所以不算「有效」。
  • 为什么加无风险资产后变直线:无风险资产无波动,混合后的 σ 与 E 都是 α 的线性函数,两个线性量之比恒定——所以是一根射线,坡度=夏普。
  • 为什么市场组合 = 夏普最高点:所有人的最优配置都在「无风险 + 某个风险组合」的射线上;夏普最高的组合让射线最陡、覆盖其余全部组合,市场出清后大家持有的就是它。
  • 算例的教训:α≈0.786 意味着「7 成多放股票 M、两成多放国债」就拿到了比任一成分股更高的预期收益、更低的风险——分散化的钱不是白捡的,是协方差给的。

可操作

  • 本篇是理论+算例,没有策略代码。可复现的数值流程:
    1. 取沪深 300 股票若干只(文中 5 只随机),2014–2016 日收盘,算日均收益、标准差与 5×5 协方差矩阵。
    2. 穷举(允许有限卖空)或优化求可行组合,画出有效前沿。
    3. 定无风险利率(文中国债年化 4% → 日化 0.00015689),找最高夏普点(0.11885)即市场组合,画 CML。
    4. 给定目标预期收益 μ₀,用 σ_α=(μ₀−r_f)/Sharpe(M) 与 α=σ_α/σ_M 反推 M 与无风险资产的配比。
  • 直接做「最小方差/最高夏普权重」的解析公式见 MPT 模型的解析解(上);现实中可用 numpy/scipy 数值优化代替穷举 [需要验证]。

术语

  • MPT:现代资产配置理论(Modern Portfolio Theory),Markowitz 1952 提出。
  • 均值-方差分析:只按预期收益与方差/标准差选组合的分析框架。
  • 风险资产/无风险资产:波动>0 / 波动=0 的资产。
  • 有效前沿:固定预期收益下最小方差的组合曲线(常用上半段)。
  • 夏普比率:(E[r]−r_f)/σ,单位总风险的超额收益。
  • 市场组合:有效前沿上夏普最高的风险组合;现实中用大盘指数近似。
  • 资本市场线(CML):无风险利率出发、切于市场组合的射线,理论上最优配置都在这条线上。

不确定 / 待验证

  • raw 的 LaTeX 多处丢加号(如 E[αr_P+(1−α)r_f] 写成 E[αr_P(1−α)r_f]),本篇按 MPT 通行公式复原;数字示例均照录。
  • 5 股算例的时间窗口原文只写「2014 年到 2016 年」,未给具体起止;协方差矩阵来自该窗口日收益 [需要验证]。
  • 无风险利率「国债年化 4%」是 2016 语境示例值;250 是 A 股年交易日数近似。
  • 「有效前沿无限延伸、右侧所有空间都可通过配置得到」是理论说法,实际受卖空限制与计算量约束。
  • 图(子弹/可行集/CML/组合图)都在附图,raw 只有图链;σ=0.0212、夏普 0.11885 等数字来自正文文字。
  • 本篇与 MPT 模型的解析解(上) 的 5 股示例数字不同(随机抽的股票不同、窗口可能不同),别当同一组数据。

相关

更新 2026-09-06

检索知识库

按标题、类型或正文检索