halo 的技术博客

返回

Merton (1969, 1971) 是连续时间金融的基石。它回答了一个看似朴素、实则极难的问题:一个理性投资者,在股票有风险、无风险利率存在、自己有消费欲望的前提下,应该把多少比例的财富投进风险资产、每年该花掉多少? 在 Merton 之前,这类问题只能靠直觉;Merton 用随机控制(Hamilton-Jacobi-Bellman 方程)把它变成了几行闭式公式。

本文先把模型搭起来,给出最优解的显式形式,再用真实蒙特卡洛模拟(不是画图凑数)对比三种投资政策,最后诚实拆解 Merton 假设里最危险的四处裂缝。

一、模型设定:财富是一个随机过程#

投资者持有一笔财富 WtW_t,可以分配:

  • 比例 wtw_t 投入风险资产(期望收益 μ\mu、波动 σ\sigma);
  • 剩下 1wt1-w_t 投入无风险资产(收益 rr);
  • 同时以消费率 ct=κtWtc_t=\kappa_t W_t 连续抽走财富用于消费。

财富的演化满足随机微分方程(SDE):

dWt=Wt[(r+wt(μr))dt+wtσdZt]ctdtdW_t = W_t\big[(r + w_t(\mu-r))\,dt + w_t\sigma\,dZ_t\big] - c_t\,dt

投资者的目标不是「钱越多越好」(那样会永远不消费、全仓梭哈),而是整个生命周期消费效用总和的期望最大

J=maxw,κ E ⁣[0eρtCt1γ1γdt]J = \max_{w,\kappa}\ \mathbb{E}\!\left[\int_0^\infty e^{-\rho t}\,\frac{C_t^{1-\gamma}}{1-\gamma}\,dt\right]

其中 ρ\rho 是主观时间偏好(越急功近利越大)、γ\gamma 是相对风险厌恶系数(CRRA)。这是问题的「目标函数」。

二、最优股权敞口 w*:只由三个量决定#

对 HJB 方程做一阶条件(此处省略偏导推导,只给结论),最优风险敞口有一个与市场状态无关的惊人简单闭式解:

w=μrγσ2w^* = \frac{\mu - r}{\gamma\,\sigma^2}

直觉:股权敞口只取决于超额收益 (μr)(\mu-r)、你的风险厌恶 γ\gamma、和波动平方 σ2\sigma^2。市场再怎么涨跌,只要你相信 (μr,σ)(\mu-r,\sigma) 恒定,最优 ww^* 就恒定。代入一组合理参数:

import numpy as np

r, mu, sig = 0.02, 0.10, 0.20   # 无风险 2%, 风险资产期望 10%, 波动 20%
gamma     = 2.0                 # 相对风险厌恶系数
rho       = 0.05                # 主观贴现率

w_star = (mu - r) / (gamma * sig**2)
print(f"最优股权敞口 w* = {w_star:.4f}")   # 1.0000 → 100% 投风险资产
python

w=100%w^*=100\% 的含义:在 μr=8%\mu-r=8\%σ=20%\sigma=20\%γ=2\gamma=2 下,把全部财富投进股票才是最优。注意这里没有杠杆——若你把波动降到 15%,或风险厌恶降到 1.5,ww^* 会突破 100%,需要借钱加杠杆。

最优股权敞口 w* 随超额收益与风险厌恶的热力面

上图把 ww^* 画成超额收益(横轴)与风险厌恶(纵轴)的函数。右下角 w>1w^*>1 的虚线以上区域需要杠杆——这也是现实里机构用互换、期货放大权益暴露的理论依据。

三、最优消费率 κ*:现在花还是留给未来#

投资只是半道题,另一半是消费。无限视界下最优消费率同样有闭式:

κ=ρ(1γ)r(1γ)(μr)22γσ2γ\kappa^* = \frac{\rho - (1-\gamma)r - (1-\gamma)\dfrac{(\mu-r)^2}{2\gamma\sigma^2}}{\gamma}

def merton_consume(rho, r, gamma, mu, sig):
    D = (mu - r)**2 / (2 * gamma * sig**2)        # 风险溢价项
    return (rho - (1 - gamma) * r - (1 - gamma) * D) / gamma

k_star = merton_consume(rho, r, gamma, mu, sig)
print(f"最优消费率 κ* = {k_star:.4f}")   # 0.0550 → 每年花掉财富的 5.5%
python

κ=5.5%\kappa^*=5.5\% 意味着:你每年把 5.5% 的财富用于消费,剩下全部按 w=100%w^*=100\% 投进股票。消费和投资两个旋钮被同一个目标函数同时解出——这正是随机控制优于「先攒钱再决定怎么投」的割裂式思维的地方。

四、真实模拟:三种政策跑 30 年#

闭式解很美,但美不美要看它在随机世界里长什么样。我们用月度 Euler 离散化模拟 3000 条财富路径,对比三类投资者——三者消费率都取 Merton 最优 κ\kappa^*,只改股权权重,从而孤立「配置政策」本身的效果

连续时间最优消费-投资:30 年财富中位数轨迹

三条中位数轨迹清晰分开:过度杠杆(w=150%)中位财富最高(2.32x),Merton 最优居中(0.73x),低配(w=40%)最低(0.18x)。这个顺序初看反直觉——为什么「最优」反而跑不赢过度杠杆?

五、风险厌恶如何切分「现在 vs 未来」#

γ\gamma 单独拎出来扫一遍,能看到消费-投资的天平是怎么倾斜的:

g_vec = np.linspace(1.2, 8.0, 60)
w_vec = (mu - r) / (g_vec * sig**2)
k_vec = np.array([merton_consume(rho, r, g, mu, sig) for g in g_vec])
python

风险厌恶 γ 如何切分消费 vs 投资

  • γ\gamma 小(风险厌恶低)→ ww^* 高(敢满仓甚至加杠杆),但 κ\kappa^* 也高(更敢花);
  • γ\gamma 大(风险厌恶高)→ ww^* 低(退缩到无风险),κ\kappa^* 也低(不敢花、拼命攒)。

一句话:越怕风险的人,既不敢投也不敢花——这解释了为什么保守投资者常常「钱没花出去、也没赚到」。

六、末期财富分布:股权暴露抬升中位、肥了右尾#

30 年跑完,看末期财富的分布(对数纵轴,避免少数巨富路径压扁图):

30 年末期财富分布:股权暴露抬升中位、右偏尾巴更肥

过度杠杆(w=150%)的分布最靠右、右尾最肥——高股权暴露吃到了权益溢价,但也意味着左尾更薄(破产概率更高,只是本例参数下没破产)。Merton 最优(w=100%)居中。

补充:w* 与财富水平无关(myopic 性质)#

注意 ww^* 的公式里没有任何 WtW_t——它只取决于市场参数和你的偏好,与「你现在有多少钱」无关。这与直觉相悖:穷人该更激进(要翻本)还是更保守(输不起)?Merton 的回答是「都不」:在 CRRA + 参数恒定的世界里,最优风险比例与财富水平脱钩,因为你的风险厌恶只由 γ\gamma 决定,不随 WW 变。这个性质叫 myopic(短视)最优——每一刻的最优决策只看当前市场,不用「回望」一生规划。它很优雅,但也是假设脆弱性的来源:一旦 γ\gamma 真的随财富变化(现实如此),w* 立刻变成 WW 的函数。

补充:与静态 Markowitz 均值-方差的对照#

Markowitz 在单期里解的是 minwwΣw\min_w w^\top\Sigma w s.t. w(μr1)=cw^\top(\mu-r\mathbf{1})=c ,最优权重与 Merton 的 ww^* 在「风险溢价/风险」结构上同源,但有两个本质区别:(1)Markowitz 是单期、给定目标收益 cc 求权重,Merton 是连续多期、连消费一起联合最优;(2)Markowitz 的样本协方差极易估计误差放大(经典「误差最大化器」问题),Merton 闭式虽然干净,但对 (μr,σ2)(\mu-r,\sigma^2) 的估计误差同样极度敏感。所以两者不是替代关系,而是「同一风险-收益权衡思想在单期 vs 连续期框架下的两种呈现」。

七、四类致命局限(务必先看这段)#

  1. CRRA 效用不现实:真实投资者在高财富时风险厌恶会下降(越有钱越敢赌),低财富时反而升高。Merton 假设 γ\gamma 恒定,把人简化成一条直线。
  2. 参数 (μ,r,σ)(\mu,r,\sigma) 恒定是最大幻觉:本文用 10%/2%/20% 是拍的。现实中 μ\muσ\sigma 都时变、且 μ\mu 极难估计(误差一点,ww^* 就从 100% 变成 200% 或 50%)。Merton 对输入参数极度敏感,这是它最危险的实战裂缝。
  3. 忽略交易成本与约束:模型允许任意比例(包括负数=做空、>1=杠杆)、零摩擦。真实账户有佣金、滑点、卖空限制、保证金催缴,w>1w^*>1 在实盘常常不可达。
  4. Merton 最大化的是效用,不是财富:图四里 Merton 中位财富(0.73x)低于过度杠杆(2.32x),因为 κ=5.5%\kappa^*=5.5\% 每年抽走大量财富、且 CRRA 效用在破产附近极陡——最优解牺牲了财富中位数来换取「不破产 + 平滑消费」。别把 Merton 解当成「最赚钱的配置」,它是「让一辈子消费最舒服的配置」

八、实盘落地:把 w* 当再平衡锚(含交易成本近似)#

闭式 ww^* 不是让你一次性建仓后就躺平,而是给你一个动态再平衡目标。实务里最常见的落地方式:每月末把风险资产权重拉回 ww^*(或带阈值的「漂移带」再平衡)。下面这段把交易成本近似成固定比例 ctcc_{tc},看它对期末财富的中位影响:

关键结论:交易成本对 Merton 最优策略的侵蚀小于对过度杠杆策略——因为 ww^* 是平稳目标,再平衡频率可以压低;而 w=150%w=150\% 的过度杠杆每次再平衡都要买卖更多敞口,摩擦成本放大得更狠。这也是 Merton 解在「考虑摩擦后仍然稳健」的一个侧面证据。但注意:本例只在期初调仓一次,真实月度再平衡的累积成本需用完整循环重算,且 ctcc_{tc} 应换成你的真实佣金+滑点。

九、正确用法:当「标尺」,别当「圣杯」#

Merton 的真正价值不在那几行公式(实盘没人直接套),而在它给出的结构性直觉

  • 风险敞口应与超额收益成正比、与波动平方成反比——这解释了「波动越大该减仓」;
  • 风险厌恶越高该越保守——这解释了为什么临近退休要降权益;
  • 消费与投资必须联合决策——「先攒钱再想怎么投」是错的。

把它当组合政策的理论锚点:任何实盘策略偏离 ww^* 时,你都得能说清「我为什么比 Merton 更激进/更保守、我承担了 Merton 没覆盖的哪种风险」。说不清,就是拍脑袋。

结语#

Merton (1969) 用随机控制把消费-投资从艺术变成可计算的闭式解:股权敞口 w=(μr)/(γσ2)w^*=(\mu-r)/(\gamma\sigma^2)、消费率 κ\kappa^* 由贴现与风险溢价共同决定。它的美在于「一个目标函数同时解出投多少、花多少」;它的坑在于 CRRA 不现实、参数恒定、零摩擦、且最优的是效用而非财富。理解这把标尺,比背下公式重要一百倍——它告诉你任何偏离最优的配置,都必须为承担额外风险找到理由

随机控制与 Merton 组合:在连续时间下求最优消费-投资
https://blog.halo26812.eu.org/blog/stochastic-control-merton
Author halo
Published at 2026年7月19日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨