📘 Black-Scholes 定价模型

期权量化策略 · 从零到精通
⚙️ 模型原理 Black-Scholes 核心思想

📐 基本原理

基于无套利假设与伊藤引理,推导出欧式期权价格满足的偏微分方程:

∂V/∂t + ½σ²S² ∂²V/∂S² + rS ∂V/∂S – rV = 0

通过边界条件得到解析解,即 Black-Scholes 公式。

🧩 模型假设

  • 标的资产价格服从几何布朗运动
  • 无交易成本、税收,可连续交易
  • 无风险利率 r 为常数
  • 波动率 σ 为常数
  • 不支付股息(可扩展)
  • 欧式期权,只能在到期日行权
  • 市场无套利机会
📊 输入参数 S, K, T, r, σ
参数符号含义典型影响
标的资产价格S当前股票/指数价格↑ 看涨期权 ↑
行权价格K期权约定的买卖价格↑ 看涨期权 ↓
到期时间T剩余期限(年化)↑ 时间价值 ↑
无风险利率r连续复利无风险利率↑ 看涨期权 ↑
波动率σ年化收益率标准差↑ 期权价值 ↑
输入参数 S (标的价) K (行权价) T (到期时间) r (无风险利率) σ (波动率) Black-Scholes 偏微分方程 解析解 · 封闭公式 输出结果 看涨期权价格 C 看跌期权价格 P 希腊字母 (Δ, Γ, Θ, ν, ρ) ✦
⭐ Black-Scholes 输入-模型-输出 架构
⚠️ 模型局限性 假设与现实的差距
🔻 常数波动率 实际波动率存在微笑/偏斜,σ 并非恒定。
🔻 常数利率 无风险利率随期限变化,收益率曲线倾斜。
🔻 无交易成本 真实市场有手续费、冲击成本、买卖价差。
🔻 连续交易 实际交易离散,且存在流动性限制。
🔻 欧式局限 不适用于美式期权(可提前行权)。
🔻 正态分布假设 资产收益率厚尾、有偏,不符合对数正态。
🔻 无股息/红利 需调整 (如使用股息率 q 的 BS 变体)。
🔻 市场无套利 极端事件下套利限制可能失效。
🧪 Python 实现 Black-Scholes 定价函数
import numpy as np
from scipy.stats import norm

def black_scholes(S, K, T, r, sigma, option_type='call'):
    """
    S: 标的资产价格
    K: 行权价
    T: 到期时间 (年)
    r: 无风险利率 (连续复利)
    sigma: 波动率
    option_type: 'call' 或 'put'
    """
    d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
    d2 = d1 - sigma * np.sqrt(T)
    
    if option_type == 'call':
        price = S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
    else:  # put
        price = K * np.exp(-r * T) * norm.cdf(-d2) - S * norm.cdf(-d1)
    return price

# 示例
print(black_scholes(S=100, K=105, T=0.5, r=0.03, sigma=0.2, option_type='call'))
# 输出 ≈ 3.67