BAW美式期权定价半解析解

参考文献:G. Barone-Adesi & R. E. Whaley, Efficient Analytic Approximation of American Option Values, The Journal of Finance, No 2 (June 1987), 301-320

基本思想:美式期权不同于欧式期权之处在于,美式期权可以在到期日之前随时执行,因而美式期权的价值高于欧式期权。美式期权价值高于欧式期权的部分叫做美式期权溢价ϵc\epsilon_cϵc​,如下式所示:
ϵc(S,T)=C(S,T)−c(S,T),\epsilon_c\left( S , T \right) = C \left( S , T \right) -c \left( S , T \right) , ϵc​(S,T)=C(S,T)−c(S,T),
其中C(S,T)C \left( S , T \right)C(S,T)表示美式看涨期权的价值;c(S,T)c \left( S , T \right)c(S,T)表示欧式看涨期权的价值。

根据Feynman_Kac定理,在无套利假设条件下,欧式期权价值和美式期权价值满足椭圆的偏微分方程,因而,风险溢价也应该满足以下的相同形式的椭圆偏微分方程:
1/2σ2S2εSS−rε+bSεS+εt=0(1)1 / 2 \sigma^{2} S^{2} \varepsilon_{S S}-r \varepsilon+b S \varepsilon_{S}+\varepsilon_{t}=0\tag{1} 1/2σ2S2εSS​−rε+bSεS​+εt​=0(1)
做如下的变量替换:

τ=T−t\tau = T -tτ=T−t 代表距离到期日T的时间;

M=2r/σ2和 N=2b/σ2M=2 r / \sigma^{2} \text { 和 } N=2 b / \sigma^{2}M=2r/σ2 和 N=2b/σ2

则式(1)可以重写为
S2εSS−Me+NSeS−(M/r)ετ=0(2)S^{2} \varepsilon_{S S}-M_{e}+N S e_{S}-(M / r)\varepsilon_{\tau}=0\tag{2} S2εSS​−Me​+NSeS​−(M/r)ετ​=0(2)
定义美式期权的提前行权溢价满足如下的形式:
ϵc(S,K)=K(τ)f(S,K)\epsilon_c(S, K)=K(\tau) f(S, K) ϵc​(S,K)=K(τ)f(S,K)
其中K(T)=1−e−rτ,K \left( T \right) = 1 - e ^ { - r \tau} ,K(T)=1−e−rτ, 则(2)式可以重写为
S2fss+NSfs−(M/K)f−(1−K)MfK=0(3)S^{2} f s s+N S f_{s}-(M / K) f-(1-K) M f_{K}=0\tag{3} S2fss+NSfs​−(M/K)f−(1−K)MfK​=0(3)
敲黑板!!!BAW方法为何是半解析解,就在于我们要对式(3)进行简化,把最后一项省略掉,式(3)就可以变成一个二次常微分方程。那么最后一项为何可以省略掉呢?当商品期权距离到期日时间非常短(T=0)的时候,fKf_{K}fK​接近于0,即执行价格对风险溢价几乎没影响。当商品期权距离到期日的时间非常长(τ=∞\tau=\infinτ=∞)的时候,K=1则1-K=0。因而,fff可以通过近似求解以下的表达式得到:
S2fss+NSfs−(M/K)f=0S^{2} f s s+N S f_{s}-(M / K) f=0 S2fss+NSfs​−(M/K)f=0
假设f=aSqf=a S^{q}f=aSq,代入上式,可以得到两个特征根(M/K为正):
q1=−(N−1)−(N−1)2+4M/K2<0q _ {1} = - \left( N - 1 \right) - \frac{\sqrt { \left( N - 1 \right) ^ { 2 } + 4 M / K }}{2}<0 q1​=−(N−1)−2(N−1)2+4M/K​​<0

q2=−(N−1)+(N−1)2+4M/K2>0q _ {2} = - \left( N - 1 \right) + \frac{\sqrt { \left( N - 1 \right) ^ { 2 } + 4 M / K }}{2}>0 q2​=−(N−1)+2(N−1)2+4M/K​​>0

则有通解:
f(S)=a1Sq1+a2Sq2,f \left( S \right) = a _ { 1 } S ^{ q _ { 1 } } + a _ { 2 } S ^{ q_2 } , f(S)=a1​Sq1​+a2​Sq2​,
现在的问题是如何确定参数a1a_1a1​和a2a_2a2​。这个问题要追溯到美式看涨期权的边值条件
∂C∂S(S∗,τ)=1(B1)\frac{\partial C}{\partial S}(S^*,\tau)=1\tag{B1} ∂S∂C​(S∗,τ)=1(B1)

C(0,τ)=0(B2)C(0,\tau)=0\tag{B2} C(0,τ)=0(B2)

C(S∗,τ)=S∗−K(B3)C(S^*,\tau)=S^*-K\tag{B3} C(S∗,τ)=S∗−K(B3)

由(B2):C(0,τ)=c(0,τ)+K(τ)f(0)=0C(0,\tau)=c(0,\tau)+K(\tau)f(0)=0C(0,τ)=c(0,τ)+K(τ)f(0)=0, 可以推出 f(0)=0f(0)=0f(0)=0,因而f(S)=a2Sq2(q1<0)f(S)=a _ { 2 } S ^{ q_2 }(q_1<0)f(S)=a2​Sq2​(q1​<0)。

由(B1):∂C∂S(S∗,τ)=∂c∂S(S∗,τ)+K(τ)∂f∂S\frac{\partial C}{\partial S}(S^*,\tau)=\frac{\partial c}{\partial S}(S^*,\tau)+K(\tau)\frac{\partial f}{\partial S}∂S∂C​(S∗,τ)=∂S∂c​(S∗,τ)+K(τ)∂S∂f​ 可以推导出
1=e(b−r)τN[d1(S∗)]+Kq2a2S∗q2−11=e^{(b-r) \tau} \mathrm{~N}\left[d_{1}\left(S^{*}\right)\right]+K q_{2} a_{2} S^{* q_{2}-1} 1=e(b−r)τ N[d1​(S∗)]+Kq2​a2​S∗q2​−1
这里用到了欧式期权的BS公式:
c(S,T)=Se(b−r)TN(d1)−Xe−rTN(d2)c(S, T)=S e^{(b-r) T} \mathrm{~N}\left(d_{1}\right)-X e^{-r T} \mathrm{~N}\left(d_{2}\right) c(S,T)=Se(b−r)T N(d1​)−Xe−rT N(d2​)
其中 d1=[ln⁡(S/X)+(b+0.5σ2)T]/σT,d2=d1−σTd_{1}=\left[\ln (S / X)+\left(b+0.5 \sigma^{2}\right) T\right] / \sigma \sqrt{T}, d_{2}=d_{1}-\sigma \sqrt{T}d1​=[ln(S/X)+(b+0.5σ2)T]/σT​,d2​=d1​−σT​。

由此,可以求解出
a2={1−e(b−r)τN[d1(S∗)]}/Kq2S∗q2−1a_{2}=\left\{1-e^{(b-r) \tau} \mathrm{~N}\left[d_{1}\left(S^{*}\right)\right]\right\} / K q_{2} S^{* q_{2}-1} a2​={1−e(b−r)τ N[d1​(S∗)]}/Kq2​S∗q2​−1
由(B3)可以求解出最优执行边界满足以下的表达式
S∗−X=c(S∗,τ)+{1−e(b−r)τN[d1(S∗)]}S∗/q2S^{*}-X=c\left(S^{*}, \tau\right)+\left\{1-e^{(b-r) \tau} \mathrm{~N}\left[d_{1}\left(S^{*}\right)\right]\right\} S^{*} / q_{2} S∗−X=c(S∗,τ)+{1−e(b−r)τ N[d1​(S∗)]}S∗/q2​
综上所述,美式看涨期权的解析公式如下所示:
C(S,τ)=c(S,τ)+A2(S/S∗)q2,when S<S∗C(S,τ)=S−K,when S≥S∗\begin{array}{ll} C(S, \tau)=c(S, \tau)+A_{2}\left(S / S^{*}\right)^{q_{2}}, & \text { when } S<S^{*} \\ C(S, \tau)=S-K, & \text { when } S \geq S^{*} \end{array} C(S,τ)=c(S,τ)+A2​(S/S∗)q2​,C(S,τ)=S−K,​ when S<S∗ when S≥S∗​
其中 A2=(S∗/q2){1−e(b−r)TN[d1(S∗)]}A_{2}=\left(S^{*} / q_{2}\right)\left\{1-e^{(b-r) T} \mathrm{~N}\left[d_{1}\left(S^{*}\right)\right]\right\}A2​=(S∗/q2​){1−e(b−r)T N[d1​(S∗)]}。

美式看跌期权与看涨期权的求解套路差不多:
ϵp(S,T)=P(S,T)−p(S,T)\epsilon_p\left( S , T \right) = P \left( S , T \right) -p \left( S , T \right) ϵp​(S,T)=P(S,T)−p(S,T)
区别在于边界条件不同
∂P∂S(S∗,τ)=−1(B1)\frac{\partial P}{\partial S}(S^*,\tau)=-1\tag{B1} ∂S∂P​(S∗,τ)=−1(B1)

P(∞,τ)=0(B2)P(\infin,\tau)=0\tag{B2} P(∞,τ)=0(B2)

P(S∗,τ)=K−S∗(B3)P(S^*,\tau)=K-S^*\tag{B3} P(S∗,τ)=K−S∗(B3)

python程序实现:参考Python implementation of the Barone-Adesi And Whaley model for the valuation of American options and their greeks. · GitHub

调用实例:

from BAW import *
import matplotlib.pyplot as pltStock = []
Put_American = []
Put_European = []
Expir = []
K = 50for S in range(1,151,10):Stock.append(S)Expir.append(max(K-S,0))put_American = getValue('American', 'Value', 'Put', S, K, 5, 0.03, 0.02,0.5)put_European = getValue('European', 'Value', 'Put', S, K, 5, 0.03, 0.02,0.5)Put_American.append(put_American)Put_European.append(put_European)plt.plot(Stock, Put_American,linewidth=0.5,label='American Option Value')
plt.plot(Stock, Put_European,'r-.',linewidth=0.5,label='European Option Value')
plt.plot(Stock, Expir, 'g--',linewidth=0.5)
plt.legend()
plt.show()

BAW美式期权定价半解析解相关推荐

  1. 美式期权定价python_【优质好课】Python量化期权实战应用

    优质好课 · 涨价预警 <Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 现在,眼看着课程就快要更新完毕了,如果还没有开始学 ...

  2. 美式期权定价python_【定价】二叉树(CRR)欧式/美式期权定价的原理及Python实现...

    二叉树一种常用的期权定价方法,相比BSM模型,这个方法适用范围更广,可以为美式期权等一些其他品种定价.该方法是保持波动率不变的条件下,将价格路径做简化,根据简化的路径做分析和计算. 本文首先介绍使用二 ...

  3. 美式期权定价python_蒙特卡洛模拟和美式期权定价

    最近面试的时候,面试官问我怎么用蒙卡模拟无股息的美式期权定价.我瞬间石化...不怕死地申请了期权建模的实习...主要参考课件 主要内容二叉树定价推导+Python Longstaff-Schwartz ...

  4. 美式期权定价利率衍生证券

    Navigator 支付红利 code 支付已知红利额条件下的美式期权定价 有限差分法 内含有限差分法 外推有限差分法 利率衍生证券 利率上限定价 支付红利 支付已知红利:在期权的有效期的某些时刻的资 ...

  5. 最小二乘蒙特卡洛模拟方法-美式期权定价

    对于最小二乘蒙特卡洛模拟方法,相信很多人刚开始都搞不清楚到底是怎么回事,特别是对于非金融专业的同学来说,解决此类问题有点吃力,但解决美式期权定价问题,此方法被广泛使用,下面给出介绍: 由于美式期权允许 ...

  6. python期权定价代码_【定价】二叉树(CRR)欧式/美式期权定价的原理及Python实现...

    二叉树一种常用的期权定价方法,相比BSM模型,这个方法适用范围更广,可以为美式期权等一些其他品种定价.该方法是保持波动率不变的条件下,将价格路径做简化,根据简化的路径做分析和计算. 本文首先介绍使用二 ...

  7. 最小二乘蒙特卡罗法(LSM)美式期权定价

    最小二乘蒙特卡罗(LSM)法美式期权定价 蒙特卡罗欧式期权定价 最小二乘蒙特卡罗 lsm 程序实现 结果及疑问 代码及文档地址 最小二乘蒙特卡罗(LSM)法美式期权定价 这篇文章主要介绍使用蒙特卡罗法 ...

  8. 美式期权定价方法之最小二乘蒙特卡洛模拟(LSM)

    美式期权定价方法之最小二乘蒙特卡洛模拟 前言 前文对欧式期权的蒙特卡洛模拟定价方法进行了介绍和python量化,本章节主要是对前一章节的补充.也就是介绍美式期权的蒙特卡洛定价方法. 一.美式期权 不同 ...

  9. Bjerksund and Stensland(1993, 2002)美式期权定价(C#版)

    这里的期权定价算法是指Bjerksund and Stensland分别在1993年和2002年的两篇论文里提出的算法,2002年是1993的改进,更精确.这个类原本就是为Bjerksund and ...

最新文章

  1. mongodb3.0的权限认证问题
  2. 寒武纪招聘|智能驾驶类、算法类、软件类、芯片类等岗位(校招/社招)
  3. Delphi 与 DirectX 之 DelphiX(12): TPictureCollectionItem.DrawAlpha
  4. 《机器学习实战》chapter02 K-近邻算法(KNN)
  5. 微信支付—微信H5支付「非微信内部浏览器-QQ/UC浏览器等」
  6. mysql安装条款_mysql 安装注意
  7. 信息学奥赛一本通(1224:最大子矩阵)
  8. java中uri什么意思,java URI URL 个人理解。
  9. Spring Cloud Config 规范 1
  10. Java实训项目13:GUI学生信息管理系统 - 实现步骤 - 创建应用程序类
  11. Ubuntu文件夹有锁标志
  12. 互联网金融盯上房地产资金饥渴症
  13. 世界级的安卓测试开发流!
  14. 「读懂源码系列3」lodash 是如何实现深拷贝的(上)
  15. python中数据结构的基本定义
  16. android开机自动打开微信小程序,Android应用启动微信小程序
  17. stm32---步进电机驱动器接口电路,共阴
  18. laravel的elixir和gulp用来对前端施工
  19. Ruby File.open 方法打开文件和File.new 方法打开文件的差别
  20. 未能找到使用主机名称的服务器,未能找到使用指定主机名称的服务器

热门文章

  1. 图斑中国之三秦之地——陕西
  2. Timo's mushrooms CSU - 1991 (第十三届湖南省赛热身赛题)
  3. 区块链基础:分布式账本介绍
  4. HEVC、AV1、VVC:如何理解2019年的编解码器世界
  5. 30分钟搭一个wordpress网站
  6. Wireshark过滤规则筛选数据包
  7. 【洞见观点】金融领域隐私计算平台间的互联互通技术实践与研究
  8. 提速降费的宽带和有线 想说爱你不容易
  9. Python轻办公——批量更改文件名、输出未完成名单
  10. PHP 用户登录,验证码的生成,搜索代码