期权定价Python实现

Posted 最老程序员闫涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期权定价Python实现相关的知识,希望对你有一定的参考价值。

期权定价实践

期权定价公式

期权定价通常使用BSM公式,如下所示:
C ( S t , K , t , T , r , σ ) = S t N ( d 1 ) − e − r ( T − t ) K N ( d 2 ) (1.1) C(S_t, K, t, T, r, \\sigma)=S_t N(d_1)-e^-r(T-t)KN(d_2) \\tag1.1 C(St,K,t,T,r,σ)=StN(d1)er(Tt)KN(d2)(1.1)
其中 N ( d ) N(d) N(d)为标准正态分布 x ∼ N ( 0 , 1 ) x \\sim N(0,1) xN(0,1) x < d x<d x<d时的概率,如下所示:
N ( d ) = 1 2 π ∫ − ∞ d e − 1 2 x 2 d x (1.2) N(d)=\\frac1\\sqrt2\\pi \\int^d_-\\infty e^-\\frac12x^2dx \\tag1.2 N(d)=2π 1de21x2dx(1.2)
式中 d 1 d_1 d1 d 2 d_2 d2为两个常数,定义为:
d 1 = log ⁡ S t K + ( r + σ 2 2 ) ( T − t ) σ T − t (1.3) d_1=\\frac\\log \\fracS_tK + (r+\\frac\\sigma^22)(T-t) \\sigma \\sqrtT-t \\tag1.3 d1=σTt logKSt+(r+2σ2)(Tt)(1.3)
d 2 = log ⁡ S t K + ( r − σ 2 2 ) ( T − t ) σ T − t (1.4) d_2=\\frac\\log \\fracS_tK + (r-\\frac\\sigma ^22)(T-t)\\sigma \\sqrtT-t \\tag1.4 d2=σTt logKSt+(r2σ2)(Tt)(1.4)
上式中的符号说明如下所示:

  • C:期权价格;
  • S t S_t St:标的资产价格;
  • K:期权行权价格;
  • t:当前时间;
  • T:期权到期时间;
  • r:短期无风险利率;
  • σ \\sigma σ:波动率;

迭代法

我们在初始状态下,先设定 σ \\sigma σ为一个随机值 σ 0 i m p \\sigma ^imp_0 σ0imp,其中上标imp代表是隐含波动率,下标代表是第0步。将 σ 0 i m p \\sigma ^imp _0 σ0imp代入上面的公式,就可以求出一个期权的计算值 C ^ \\hatC C^,其与当前市场上的期权价格 C C C的差值可以用来代表我们当初随机取的 σ 0 i m p \\sigma ^imp_0 σ0imp接近真实值的程度。
我们可以通过牛顿法来求解,我们首先求出 ∂ C ∂ σ \\frac\\partialC\\partial\\sigma σC
v e g a = ∂ C ∂ σ = S t N ′ ( d 1 ) ) T − t (1.5) vega=\\frac\\partialC\\partial\\sigma = S_t N'(d_1)) \\sqrtT-t \\tag1.5 vega=σC=StN(d1))Tt (1.5)
我们可以通过迭代法来找到更好的 σ \\sigma σ的值:
σ n + 1 i m p = σ n i m p − 1 v e g a ( C ^ n − C ) (1.6) \\sigma ^imp_n+1 = \\sigma ^imp_n - \\frac1vega(\\hatC_n-C) \\tag1.6 σn+1imp=σnimpvega1(C^nC)(1.6)
上式中 n n n代表迭代步数,C代表期权的真实价格, C ^ n \\hatC_n C期权定价Python实现

期权定价Python实现

期权定价模型之Heston模型--参数校准与定价附python代码

Deribit期权Delta动态对冲策略

谁有最小二乘蒙特卡洛方法的美式期权定价python程序代码

基于二叉树蒙特卡洛模拟BS方程的期权定价模型