第一章:Black-Scholes模型与希腊字母

做量化交易的人,没人能绕过Black-Scholes模型。说它是现代金融工程的基石,一点不过分。我入行那会儿,第一个任务就是复现BS模型的定价逻辑——当时觉得挺简单,后来才发现,真正吃透它,得花不少功夫。

1.1 BS模型的推导逻辑

BS模型的核心思想,说白了就是:用无风险资产复制期权收益。你想想看,如果我能用股票和债券的组合,完美复制一个期权的 payoff,那期权的价格就应该等于这个组合的成本。

推导过程其实不复杂。假设股票价格服从几何布朗运动:

dS = μS dt + σS dW

然后我们构造一个投资组合 Π = V - ΔS,其中V是期权价格,Δ是股票持仓。用伊藤引理展开dV,再让组合变成无风险的——也就是让dΠ = rΠ dt。整理一下,就得到了著名的BS偏微分方程:

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

嗯,这里要注意:这个方程假设了无摩擦市场、连续交易、波动率恒定。现实中这些假设都不成立,但作为起点,它足够好用了。

核心结论:BS模型告诉我们,期权价格只取决于五个参数——S、K、T、r、σ。其中只有σ是未知的,这就是隐含波动率的由来。

1.2 Delta中性对冲

Delta是期权价格对标的资产价格的一阶导数。用数学语言说,Δ = ∂V/∂S。我习惯把它理解为「期权价格随股票价格变动的敏感度」。

Delta中性对冲,就是让整个组合的Delta为零。怎么做?很简单:

组合Delta = 期权Delta + 股票持仓 × 1 = 0
=> 股票持仓 = -期权Delta

举个例子。假设你持有100手看涨期权,每手Delta是0.6。那你的总Delta就是60。为了对冲,你需要卖空60股股票。

我在项目中遇到过一个问题:很多人以为Delta对冲一次就完事了。其实不是。Delta会随着股价、时间、波动率变化。你得动态调整——这就是所谓的「动态对冲」。我见过有人一天调一次,也有人每五分钟调一次。频率越高,对冲效果越好,但交易成本也越高。

我的经验:对于流动性好的标的,我一般每小时调一次。对于流动性差的,一天调一次就够了。别为了追求完美对冲把自己做死。

1.3 Gamma与Vega风险

Delta是一阶风险,Gamma是二阶风险。Gamma = ∂²V/∂S²,它衡量的是Delta对股价的敏感度。说白了,Gamma大的期权,Delta变得快,对冲起来更麻烦。

Vega呢?它是期权价格对波动率的敏感度。Vega = ∂V/∂σ。这个指标特别重要——因为波动率是BS模型中唯一不能直接观测的参数。

希腊字母 定义 实际意义
Delta (Δ) ∂V/∂S 股价变动1单位,期权价格变动多少
Gamma (Γ) ∂²V/∂S² Delta对股价的敏感度
Vega (ν) ∂V/∂σ 波动率变动1%,期权价格变动多少
Theta (Θ) ∂V/∂t 时间流逝对期权价格的影响
Rho (ρ) ∂V/∂r 利率变动对期权价格的影响

我曾经吃过Gamma的亏。有一次做期权套利,只做了Delta对冲,没管Gamma。结果股价剧烈波动,Delta瞬间变了,组合亏了一大笔。从那以后,我每次做对冲都会检查Gamma暴露。

避坑指南:我曾经以为Vega风险只在期权到期前重要。后来发现,即使离到期还有一个月,波动率突变也能让你爆仓。永远不要忽视Vega。

1.4 隐含波动率曲面

隐含波动率,就是把市场价格代入BS公式反推出来的波动率。为什么叫「隐含」?因为它隐含了市场对未来波动率的预期。

理论上,对于同一个标的,不同行权价、不同到期日的期权,隐含波动率应该一样。但现实中不是这样。你会发现:

  • 虚值期权和实值期权的隐含波动率通常比平值期权高——这就是「波动率微笑」
  • 短期期权的波动率通常比长期期权高——这就是「期限结构」

把这两个维度结合起来,就得到了隐含波动率曲面。我每天开盘第一件事,就是看这个曲面有没有异常。

# 一个简单的波动率曲面插值示例
import numpy as np
from scipy.interpolate import griddata

# 假设我们有这些数据点
strikes = [90, 95, 100, 105, 110]
maturities = [0.1, 0.3, 0.6, 1.0]
implied_vols = np.random.rand(5, 4)  # 实际数据从市场获取

# 用griddata做二维插值
points = np.array([(k, t) for k in strikes for t in maturities])
values = implied_vols.flatten()

# 生成网格
grid_strikes, grid_maturities = np.meshgrid(
    np.linspace(90, 110, 50),
    np.linspace(0.1, 1.0, 50)
)

# 插值
grid_vols = griddata(points, values, 
                     (grid_strikes, grid_maturities), 
                     method='cubic')

这个曲面能告诉你很多信息。比如,如果某个行权价的隐含波动率突然飙升,说明市场在赌那个价格会发生什么。我曾在2015年股灾前看到过这种信号——可惜当时没当回事。

实战要点:隐含波动率曲面不是静态的。它会随着市场情绪、事件驱动、流动性变化而变形。做套利策略时,我通常会监控曲面的斜率变化和凸度变化。

好了,这一章的内容就这些。BS模型是基础,Delta对冲是工具,Gamma和Vega是风险,隐含波动率曲面是实战。把这些吃透了,后面的章节会轻松很多。

BS模型与希腊字母知识体系 Black-Scholes模型 BS模型推导 Delta中性对冲 Gamma与Vega风险 隐含波动率曲面 几何布朗运动 伊藤引理 无风险组合 动态对冲 对冲频率选择 Gamma风险 Vega风险 波动率微笑 期限结构 曲面插值 核心:定价 → 对冲 → 风险管理 → 实战

我个人习惯把BS模型当作一个「基准框架」。实际交易中,我会用随机波动率模型或跳跃扩散模型来修正它。但无论如何,BS是起点,也是理解所有衍生品定价的基础。

公众号:蓝海资料掘金营,微信deep3321