跳轉到

1992 -- Heath–Jarrow–Morton 利率模型:整條殖利率曲線的隨機動力學#

案件描述#

1992 年,David Heath、Robert Jarrow 與 Andrew Morton 在《Econometrica》發表《債券定價與利率期限結構中的期限結構演變》(Bond Pricing and the Term Structure of Interest Rates)。他們完成了一件前人只敢夢想的事:

把「整條遠期利率曲線」本身當作隨機過程,並用無套利原則推導出它的一切動態。

在 HJM 之前,利率模型是「先假設短期利率的動態,再推導曲線」;HJM 反過來——「先讓曲線動起來,無套利會告訴你動態必須長什麼樣」。

前因:利率模型的兩代演化#

  • 第一代:Vasicek(1977)——單因子均值回歸模型 \(dr = a(b - r)dt + \sigma dW\) ,缺點:可能出現負利率、曲線形狀受限。
  • 第二代:CIR(Cox–Ingersoll–Ross 1985)—— \(dr = a(b-r)dt + \sigma\sqrt{r}\,dW\) ,保證非負,但仍無法擬合任意初始曲線。
  • 核心難題:這些模型的參數是「先驗」的,無法精確擬合今天觀測到的殖利率曲線——而實務(債券交易、利率選擇權)恰恰要求擬合今天的曲線。
  • 線索:Ho–Lee(1986)第一次嘗試「無套利」模型——讓模型擬合初始曲線,但太粗糙。HJM 把這條路走到極致。

推理過程#

線索一:以遠期利率為狀態變數#

HJM 的狀態變數是瞬時遠期利率 \(f(t, T)\) ——今天 \(t\) 約定在 \(T\) 時刻的利率。讓它服從:

\[ df(t, T) = \alpha(t, T) \, dt + \sigma(t, T) \, dW_t \]

線索二:無套利鎖死漂移項(HJM 的魔法)#

關鍵定理:在無套利條件下,漂移項 \(\alpha\) 完全由波動率結構 \(\sigma\) 決定:

\[ \alpha(t, T) = \sigma(t, T) \int_t^T \sigma(t, u) \, du \]

這是 HJM 的核心數學:你只需要指定波動率結構,漂移自動確定——因為債券價格 \(P(t,T) = \exp(-\int_t^T f(t,u)du)\) ,而折現因子的可交易性把漂移鎖死(又是 MM 式的無套利論證,見 1958-ModiglianiMiller定理.md)。

證明思路:債券價格動態 \(dP/P = (\cdots)dt - v(t,T)dW_t\) ,其中 \(v(t,T) = \int_t^T \sigma(t,u)du\) 。無套利(Girsanov 定理換測度到風險中立測度 \(Q\) )要求風險溢價 \(\lambda_t\) 對所有 \(T\) 相同,代入即得。

線索三:模型擬合初始曲線#

HJM 框架自動滿足: \(f(0, T)\) = 今天觀測到的遠期利率曲線——模型精確擬合今天的曲線,這解決了第一、二代模型的根本缺陷。

單因子 HJM 特例即 Ho–Lee 與 Hull–White 模型;多因子 HJM 可以讓曲線的扭動(twist)與彎曲(curvature)隨機變化。

現代程式重現:Ho–Lee(單因子 HJM 特例)模擬#

import numpy as np

def simulate_hjm(f0, sigma_hl, n_steps=252, dt=1/252, M=10000, seed=0):
    """Ho–Lee 模型(HJM 特例):df = sigma^2 * (T-t) dt + sigma dW
       sigma_hl = Ho-Lee 波動率"""
    rng = np.random.default_rng(seed)
    maturities = np.arange(len(f0)) * dt
    f = np.tile(f0, (M, 1))
    for t in range(n_steps):
        dW = rng.standard_normal((M, 1)) * np.sqrt(dt)
        drift = sigma_hl**2 * (maturities[t:] - maturities[t])  # HJM 漂移
        f[:, t:] += (sigma_hl**2 * (maturities[t:] - maturities[t]) * dt
                     + sigma_hl * dW)
    return f

f0 = np.full(252, 0.05)   # 平坦初始曲線 5%
paths = simulate_hjm(f0, sigma_hl=0.01)
print("t=1年時的遠期利率曲線均值(前5點):", paths[:, 250][:5].mean())

後果#

  • 利率衍生品定價的工業框架:利率上限/下限(caps/floors)、交換選擇權(swaptions)、可轉債、MBS(抵押擔保證券)的定價大量使用 HJM 與其特例(Hull–White、BGM/LM 模型)。
  • LIBOR 市場模型(BGM 1997):HJM 的對數常態特例,直接以遠期 LIBOR 為狀態變數,成為 1990–2000 年代利率交易台的標準。
  • HJM 證明了「無套利可以鎖死動態」這一範式的極致——只要指定波動率結構,一切都被決定。
  • 盲點:HJM 是連續時間框架,實務模擬需要離散化;且 2008 年後 LIBOR 仲裁醜聞使 BGM 的基礎(LIBOR 的可信度)崩塌,市場轉向 OIS 折現與 SOFR。

偵探筆記#

  • 動機:第一、二代模型無法擬合初始殖利率曲線
  • 工具:遠期利率隨機過程、Girsanov 定理、無套利鎖死漂移
  • 遺產:利率衍生品工業框架、LIBOR 市場模型
  • 盲點:離散化誤差、LIBOR 基礎的崩塌(2008 後)

參考資料#

  • Heath, D., Jarrow, R., Morton, A. (1992). "Bond Pricing and the Term Structure of Interest Rates: A New Methodology for Contingent Claims Valuation". Econometrica, 60(1), 77–105.
  • Brace, A., Gątarek, D., Musiela, M. (1997). "The Market Model of Interest Rate Dynamics". Mathematical Finance.