跳轉到

1979 -- Cox–Ross–Rubinstein 二項樹模型:定價走進每台電腦#

案件描述#

1979 年 9 月,John Cox、Stephen Ross 與 Mark Rubinstein 在《Journal of Financial Economics》發表《選擇權定價:一個簡化的方法》(Option Pricing: A Simplified Approach)。他們用一個簡單到小學生都懂的工具——二叉樹——逼近了 Black–Scholes:

把時間切成小段,每一步價格只往上跳 \(u\) 或往下跳 \(d\) ,從樹的末端倒推回來,就是選擇權價格。

這個模型讓選擇權定價離開了 Itô calculus 的象牙塔,走進每一台電腦、每一本教科書、每一個交易員的試算表。

前因:Black–Scholes 的「黑箱感」#

  • Black–Scholes(1973)的連續時間數學(Itô 引理、偏微分方程)對實務工作者過於抽象。
  • 更實際的問題:美式選擇權(可以提前執行)沒有解析解——PDE 要處理自由邊界(free boundary)問題,1970 年代的計算機跑不動。
  • 線索:Cox 與 Ross(1976)已經提出「風險中立評價」的直覺。Rubinstein 則在教學中痛感需要一個「離散、直觀、可手算」的模型。三人在 1975–1979 年間合作,最初甚至想證明 Black–Scholes「錯了」——結果反而造出了它最好的數值逼近。

推理過程#

線索一:二叉樹上的無套利#

每一步 \(\Delta t\) ,標的價格從 \(S\) 跳到 \(uS\) (機率 \(q\) )或 \(dS\) (機率 \(1-q\) )。一價定律要求:由 \(uS\) 、 \(dS\) 構造的無風險組合必須賺 \(r\) 。

解出風險中立機率:

\[ p = \frac{e^{r\Delta t} - d}{u - d} \]

參數選擇:令 \(u = e^{\sigma\sqrt{\Delta t}}\) 、 \(d = 1/u\) (CRR 標準參數化),當 \(\Delta t \to 0\) 時二項樹收斂到幾何布朗運動——也就是 Black–Scholes 的世界。

線索二:倒推歸納#

從樹的末端(到期日)開始,支付已知 \(V_T = (S_T - K)^+\) ;每往前一步:

\[ V_t = e^{-r\Delta t}\left[p\, V_{t+\Delta t}^{up} + (1-p)\, V_{t+\Delta t}^{down}\right] \]

美式選擇權的魔法:每一步加一個「執行或繼續」的比較:

\[ V_t^{american} = \max\left(K - S_t,\; e^{-r\Delta t}[p V^{up} + (1-p) V^{down}]\right) \]

就這樣,1970 年代無解的美式選擇權定價問題被一個 max 運算解決了。

線索三:收斂的數學#

CRR 證明:當 \(n \to \infty\) ( \(\Delta t = T/n \to 0\) ),二項樹價格收斂到 Black–Scholes 價格,收斂率 \(O(1/n)\) 。中心極限定理是背後的數學引擎: \(n\) 步二項分配趨近常態分配。

現代程式重現:CRR 二項樹#

import numpy as np

def crr_call(S, K, r, sigma, T, n=1000, american=False):
    dt = T / n
    u = np.exp(sigma * np.sqrt(dt)); d = 1/u
    p = (np.exp(r*dt) - d) / (u - d)
    disc = np.exp(-r*dt)

    # 末端支付
    j = np.arange(n+1)
    ST = S * u**j * d**(n-j)
    V = np.maximum(ST - K, 0)

    # 倒推歸納
    for step in range(n-1, -1, -1):
        V = disc * (p * V[1:] + (1-p) * V[:-1])
        if american:   # 美式:每步可比較提前執行
            j = np.arange(step+1)
            S_t = S * u**j * d**(step-j)
            V = np.maximum(V, S_t - K)
    return V[0]

print(crr_call(100, 100, 0.05, 0.2, 1, n=1000))              # ≈ 10.4506 (BS 歐式)
print(crr_call(100, 100, 0.05, 0.2, 1, n=1000, american=True)) # 略大(提前執行權利金)

# 驗證收斂:n 增大時趨近 Black-Scholes 解析解

後果#

  • 二項樹成為教科書的標準教法——所有金融碩士的第一門衍生品課都從它開始。
  • 美式與路徑相依商品:百慕達選擇權、可轉債、可贖回債券的定價至今仍大量使用(擴展的)二項/三項樹。
  • 教育價值:CRR 讓「風險中立評價」變得直觀——定價 = 在假想的風險中立世界裡做期望折現。
  • Rubinstein 後來成為選擇權教育的大師,並在 1990 年代與 Reiner 把樹模型擴展到外匯與奇異選擇權。
  • 盲點:多維度標的的樹會組合爆炸( \(2^d\) ),高維還是要靠蒙地卡羅(見 1977-Boyle蒙地卡羅選擇權定價.md);且樹模型無法自然處理隨機波動率。

偵探筆記#

  • 動機:Black–Scholes 的抽象性 + 美式選擇權無解析解
  • 工具:二叉樹、倒推歸納、風險中立機率、中心極限定理
  • 遺產:教科書標準、美式定價的通用方法
  • 盲點:維度災難、隨機波動率不相容

參考資料#

  • Cox, J., Ross, S., Rubinstein, M. (1979). "Option Pricing: A Simplified Approach". Journal of Financial Economics, 7(3), 229–263.
  • Cox, J., Ross, S. (1976). "The Valuation of Options for Alternative Stochastic Processes". Journal of Financial Economics.