← 返回文章列表
February 20, 2026
5 分鐘閱讀

布萊克-斯科爾斯公式:期權數學與交易聖盃

布萊克-斯科爾斯公式:期權數學與交易聖盃
#布萊克-斯科爾斯
#期權
#衍生品
#量化交易
#波動率
#希臘字母
#python
#量化金融

一個微分方程如何永遠改變了金融市場,以及為什麼它至今仍管理著數萬億美元。

引言:從物理學到財富

在 1973 年之前,期權交易就像荒野大鏢客。沒有人確切知道一個期權應該值多少錢。交易員依賴直覺、經驗法則和運氣。

當費舍爾·布萊克 (Fischer Black)、邁倫·斯科爾斯 (Myron Scholes) 和羅伯特·默頓 (Robert Merton) 發表了他們具有突破性的論文時,一切都改變了。他們採用了物理學中的熱傳導方程(描述熱量如何通過材料擴散),並將其應用於金融市場。斯科爾斯和默頓因此發現獲得 1997 年諾貝爾經濟學獎(遺憾的是,布萊克並未能活著看到那一刻)。

他們的公式為市場提供了一種通用的衍生品估值語言。但它究竟描述了什麼?

基本概念:期權的目的地

在深入研究數學之前,讓我們回顧一下期權的基本風險特徵(那些帶綠色和紅色線條的圖表)。

期權是一種合同,賦予在未來以預先約定的價格(行權價)購買或出售資產的權利(而非義務)。

期權收益圖 方向性策略(買入看漲和買入看跌)的風險特徵。

期權中存在四種基本倉位:

  1. 買入看漲 (Long Call):你購買了買入資產的權利。如果標的資產價格 (S) 上漲,你的利潤理論上是無限的。你的最大損失是支付給期權的權利金。
  2. 買入看跌 (Long Put):你購買了賣出資產的權利。當市場下跌時,你賺錢。非常適合對沖投資組合。
  3. 賣出看漲 (Short Call):你賣出了買入權。你會立即收到權利金,但如果資產價格“一飛沖天”,你將承擔無限風險(回想一下 GameStop 軋空事件)。
  4. 賣出看跌 (Short Put):你賣出了賣出權。你會收到權利金,並承諾在資產價格下跌時買入。巴菲特經常使用這種方法以折扣價買入股票。

盈虧平衡點(Breakeven)計算為:行權價 (X) ± 期權權利金。

神秘方程:布萊克-斯科爾斯 PDE 分析

你經常在華爾街電影黑板上看到的公式是一個偏微分方程 (PDE):

布萊克-斯科爾斯公式視覺化 布萊克-斯科爾斯模型的數學結構以及看漲和看跌期權的定價公式。

Vt+12σ2S22VS2+rSVSrV=0\frac{\partial V}{\partial t} + \frac{1}{2} \sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + rS \frac{\partial V}{\partial S} - rV = 0

讓我們來分解它(我們保證它不像看起來那麼可怕):

  • VV:期權價格(我們試圖找到的值)。
  • tt:時間。Vt\frac{\partial V}{\partial t} 顯示了期權的時間價值如何衰減(Theta)。
  • SS:標的資產價格 (Stock/Spot)。
  • σ\sigma (Sigma):標的資產的波動率。波動率越高,期權越貴。
  • rr:無風險利率。

該方程本質上說明:由期權和標的資產組成的對沖(無風險)投資組合的收益必須等於無風險銀行存款的收益 (rVrV)。這被稱為無套利原則。

實際應用:使用 Python 計算價值

該方程的解析解為我們提供了著名的布萊克-斯科爾斯看漲和看跌價格公式:

C=S0N(d1)XerTN(d2)C = S_0 N(d_1) - X e^{-rT} N(d_2) P=XerTN(d2)S0N(d1)P = X e^{-rT} N(-d_2) - S_0 N(-d_1)

其中: d1=ln(S0/X)+(r+σ2/2)TσTd_1 = \frac{\ln(S_0/X) + (r + \sigma^2/2)T}{\sigma \sqrt{T}} d2=d1σTd_2 = d_1 - \sigma \sqrt{T}

讓我們用 Python 來編寫它。將複雜的數學轉化為現成價格的程式碼:

import numpy as np
from scipy.stats import norm
import math

def black_scholes(S, X, T, r, sigma, option_type="call"):
    """
    使用布莱克-斯科尔斯模型计算期权价格。
    
    S: 当前标的资产价格
    X: 行权价 (Strike)
    T: 到期时间(以年为单位)
    r: 无风险利率
    sigma: 标的资产波动率
    option_type: "call" 或 "put"
    """
    
    if T <= 0:
        if option_type == "call":
            return max(0.0, S - X)
        else:
            return max(0.0, X - S)
            
    d1 = (math.log(S / X) + (r + 0.5 * sigma**2) * T) / (sigma * math.sqrt(T))
    d2 = d1 - sigma * math.sqrt(T)
    
    if option_type == "call":
        price = S * norm.cdf(d1) - X * math.exp(-r * T) * norm.cdf(d2)
    elif option_type == "put":
        price = X * math.exp(-r * T) * norm.cdf(-d2) - S * norm.cdf(-d1)
    else:
        raise ValueError("option_type 必须是 'call' 或 'put'")
        
    return price

current_price = 100.0   # 比特币 $100k(为什么不呢?)
strike_price = 100.0    # 平值 (ATM) 行权价
time_to_expiry = 30/365 # 30 天后到期
risk_free_rate = 0.05   # 5% 年化利率
volatility = 0.50       # 50% 波动率(典型的加密市场波动率)

call_price = black_scholes(current_price, strike_price, time_to_expiry, risk_free_rate, volatility, "call")
put_price = black_scholes(current_price, strike_price, time_to_expiry, risk_free_rate, volatility, "put")

print(f"看涨期权理论价格: ${call_price:.2f}")
print(f"看跌期权理论价格: ${put_price:.2f}")

期權之主:認識“希臘字母”

布萊克-斯科爾斯模型不僅給了我們一個價格,還給了我們被稱為“希臘字母” (The Greeks) 的風險管理工具。這些是期權價格相對於各種參數的導數(梯度):

  1. Delta (Δ\Delta):標的資產價格變動 1 美元時,期權價格如何變動。(對 S 的一階導數)。Delta 是你的方向性風險。
  2. Gamma (Γ\Gamma):標的資產價格變動 1 美元時,Delta 如何變動。(對 S 的二階導數,即方程中的 2VS2\frac{\partial^2 V}{\partial S^2})。Gamma 是你 Delta 的風險。
  3. Theta (Θ\Theta):期權價值每天衰減多少。(對時間 tt 的變化)。它是期權買家的敵人,賣家的朋友。
  4. Vega (V\mathcal{V}):波動率每跳升 1% 時,價格如何變動。(劇透:Vega 實際上不是希臘字母,但它已成為傳統)。
  5. Rho (ρ\rho):對利率變化的敏感性。加密交易員很少關注它,因為加密市場波動太快。

量化做市商(例如在 Deribit 或期權 DEX 上)不斷交易標的資產,以保持其倉位“Delta 中性” (Δ=0\Delta = 0)。他們通過點差以及隱含波動率 (Implied Volatility) 與歷史波動率之間的差異來獲利。

殘酷現實:模型的侷限性

布萊克-斯科爾斯是一個天才公式,但它在現實世界中,特別是在加密領域,存在致命缺陷:

  1. 恆定波動率:該公式假設所有行權價的波動率都是相同的。實際上,存在“波動率微笑” (Volatility Smile) —— 虛值期權的價格往往高於模型的預測,因為交易員會為防範“黑天鵝”支付過高的保險費。
  2. 對數正態分佈:該模型假設價格呈對數正態分佈,且極端波動是不可能的。在加密領域,極端波動(肥尾效應)只是家常便飯。
  3. 連續交易:該公式假設你可以無成本地進行連續對沖。現實世界中的費用和滑點會迅速吞噬你的利潤。

結論

布萊克-斯科爾斯公式是量化金融的羅塞塔石碑。即便知道它的缺點,整個金融界仍然使用布萊克-斯科爾斯波動率來報價。

理解這個公式及其“希臘字母”是從普通交易員向量化研究員邁出的一步。下一次當你決定買入期權時,請記住:你交易的不只是價格方向,你還在交易波動率和時間。

進一步閱讀

程式碼倉庫

祝對沖愉快!📈

免責宣告:本文提供的資訊僅用於教育和參考目的,不構成財務、投資或交易建議。加密貨幣交易涉及重大損失風險。

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

緊跟市場步伐

訂閱我們的時事通訊,獲取獨家 AI 交易見解、市場分析和平台更新。

我們尊重您的隱私。您可以隨時退訂。