金融分析与风险管理——期权BSM模型

  • 1. BSM模型的假定
  • 2. 期权价格与相关变量的关系
    • 2.1 期权价格与标的物(S)价格的关系
    • 2.2 期权价格与执行价格(K)的关系
    • 2.3 期权价格与波动率(sigma)的关系
    • 2.4 期权价格与无风险收益率(r)的关系
    • 2.5 期权价格与期权剩余期限(t)的关系

1. BSM模型的假定

  • 1.标的物价格服从几何布朗运动
  • 2.允许做空,且可以完全运用做空所获得的资金
  • 3.无交易费用、无税收费用,且可以无限分割
  • 4.在期权期限内,标的物无期间收入
  • 5.市场不存在无风险套利机会
  • 6.证券交易是连续进行的
  • 7.短期无风险利率是一个常数

BSM模型可由如下微分方程推导:

∂f∂t+rs∂f∂S+12∂2f∂S2σ2S2=rf\frac{\partial f}{\partial t} + rs\frac{\partial f}{\partial S} + \frac{1}{2}\frac{\partial^2 f}{\partial S^2}\sigma^2S^2 = rf ∂t∂f​+rs∂S∂f​+21​∂S2∂2f​σ2S2=rf

上式中,fff 表示期权价格,SSS 表示标的物的价格,rrr 表示连续复利的无风险收益率,σ\sigmaσ 表示标的物收益率的波动率,ttt 表示时间变量。上述微分方程的解就是欧式看涨期权的定价公式,其求解过程可以参考这篇文章。

欧式看涨期权的定价公式:

c=S0N(d1)−Ke−rTN(d2)c = S_0N(d_1) - Ke^{-rT}N(d_2)c=S0​N(d1​)−Ke−rTN(d2​)
其中:N(x)N(x)N(x) 表示标准正态分布的累积分布函数

由 put-call parity 关系式可推出/欧式看跌期权的定价公式:

c+Ke−rT=p+S0==>c + Ke^{-rT} = p + S_0 ==>c+Ke−rT=p+S0​==>

p=Ke−rTN(−d2)−S0N(−d1)p = Ke^{-rT}N(-d_2) - S_0N(-d_1) p=Ke−rTN(−d2​)−S0​N(−d1​)

其中:

d1=ln(S0K)+(r+σ2/2)TσTd_1 = \frac{ln(\frac{S_0}{K}) + (r+\sigma^2/2)T}{\sigma \sqrt{T}}d1​=σT​ln(KS0​​)+(r+σ2/2)T​

d2=ln(S0K)+(r−σ2/2)TσT=d1−σTd_2 = \frac{ln(\frac{S_0}{K}) + (r-\sigma^2/2)T}{\sigma \sqrt{T}} = d_1 - \sigma \sqrt{T}d2​=σT​ln(KS0​​)+(r−σ2/2)T​=d1​−σT​

利用Python构建欧式看涨、看跌期权的定价公式

#call的计算
def call_BS(S,K,sigma,r,T):import numpy as npfrom scipy.stats import normd1 = (np.log(S/K)+(r+sigma**2/2)*T)/(sigma*np.sqrt(T))d2 = d1 - sigma*np.sqrt(T)return S*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)
#put的计算
def put_BS(S,K,sigma,r,T):import numpy as npfrom scipy.stats import normd1 = (np.log(S/K)+(r+sigma**2/2)*T)/(sigma*np.sqrt(T))d2 = d1 - sigma*np.sqrt(T)return K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1)call = call_BS(S = 5.29,K=6,sigma=0.24,r=0.04,T=0.5)
put = put_BS(S = 5.29,K=6,sigma=0.24,r=0.04,T=0.5)
print('看涨期权的价格:',round(call,4))
print('看跌期权的价格:',round(put,4))
看涨期权的价格: 0.1532
看跌期权的价格: 0.7443

2. 期权价格与相关变量的关系

2.1 期权价格与标的物(S)价格的关系

运用BSM模型的期权定价公式,利用Python程序模拟S与期权价格的关系

# 标的价格的变动
S_list = np.linspace(5,7,100)
call_list1 = call_BS(S = S_list,K=6,sigma=0.24,r=0.04,T=0.5)
put_list1 = put_BS(S = S_list,K=6,sigma=0.24,r=0.04,T=0.5)#画图展示
plt.figure(figsize=(8,6))
plt.plot(S_list,call_list1,label='看涨期权')
plt.plot(S_list,put_list1,label='看跌期权')
plt.legend()
plt.grid('True')

2.2 期权价格与执行价格(K)的关系

运用BSM模型的期权定价公式,利用Python程序模拟K与期权价格的关系

# 执行价格的变动
K_list = np.linspace(5,7,100)
call_list1 = call_BS(S = 5.29,K=K_list,sigma=0.24,r=0.04,T=0.5)
put_list1 = put_BS(S = 5.29,K=K_list,sigma=0.24,r=0.04,T=0.5)plt.figure(figsize=(8,6))
plt.plot(K_list,call_list1,label='看涨期权')
plt.plot(K_list,put_list1,label='看跌期权')
plt.legend()
plt.grid('True')

2.3 期权价格与波动率(sigma)的关系

运用BSM模型的期权定价公式,利用Python程序模拟波动率与期权价格的关系

# 波动率的变动
sigma_list = np.linspace(0.05,0.35,100)
call_list1 = call_BS(S = 5.29,K=6,sigma=sigma_list,r=0.04,T=0.5)
put_list1 = put_BS(S = 5.29,K=6,sigma=sigma_list,r=0.04,T=0.5)plt.figure(figsize=(8,6))
plt.plot(sigma_list,call_list1,label='看涨期权')
plt.plot(sigma_list,put_list1,label='看跌期权')
plt.legend()
plt.grid('True')

2.4 期权价格与无风险收益率(r)的关系

运用BSM模型的期权定价公式,利用Python程序模拟无风险收益率与期权价格的关系

# 无风险收益率的变动
r_list = np.linspace(0.01,0.1,100)
call_list1 = call_BS(S = 5.29,K=6,sigma=0.24,r=r_list,T=0.5)
put_list1 = put_BS(S = 5.29,K=6,sigma=0.24,r=r_list,T=0.5)plt.figure(figsize=(8,6))
plt.plot(r_list,call_list1,label='看涨期权')
plt.plot(r_list,put_list1,label='看跌期权')
plt.legend()
plt.grid('True')

2.5 期权价格与期权剩余期限(t)的关系

运用BSM模型的期权定价公式,利用Python程序模拟无风险收益率与期权价格的关系

# 时间的变动
T_list = np.linspace(0.01,3,100)
call_list1 = call_BS(S = 5.29,K=6,sigma=0.24,r=0.04,T=T_list)
put_list1 = put_BS(S = 5.29,K=6,sigma=0.24,r=0.04,T=T_list)plt.figure(figsize=(8,6))
plt.plot(T_list,call_list1,label='看涨期权')
plt.plot(T_list,put_list1,label='看跌期权')
plt.legend()
plt.grid('True')

金融分析与风险管理——期权BSM模型相关推荐

  1. 金融分析与风险管理——期权中的希腊字母

    金融分析与风险管理--期权中的希腊字母(Greeks) 1. 期权的Delta 2. 期权的Gamma 3. 期权的Theta 4. 期权的Vega 5. 期权的Rho 1. 期权的Delta 期权的 ...

  2. 金融与python-基于Python的金融分析与风险管理

    金融科技时代已经到来,善于将金融理论与IT技术进行深度融合的人,将成为新时代独具竞争力的金融科技类人才.无论是打算在金融领域求职的新人,还是希望进一步提升个人能力的"职场老手",本 ...

  3. python 隐含波动率_【BSM模型】用实际市场数据计算隐含波动率并验证波动率微笑...

    在Black-Scholes期权定价模型中,不能直接观察到的参数只有股票价格的波动率.波动率可以由历史数据进行估计,这是历史波动率.隐含波动率也是交易员非常关心的,隐含波动率是期权的市场价格中所包含的 ...

  4. 金融分析与风险管理——期权类型及到期时的盈亏

    金融分析与风险管理--期权类型及到期时的盈亏 1. 期权简述 2. 看涨期权到期时的盈亏 3. 看跌期权到期时的盈亏 4.期权涨跌平价关系式 1. 期权简述 期权(option) 是一种金融合约,该合 ...

  5. 金融分析与风险管理——风险价值(VaR)

    金融分析与风险管理--风险价值(VaR) 1. 风险价值(VaR)简述 1.1 Python可视化风险价值 2. VaR值的测度方法 2.1 方差-协方差法 2.2 历史模拟法 2.3 蒙特卡洛模拟法 ...

  6. python历史波动率_【BSM模型】用实际市场数据计算隐含波动率并验证波动率微笑...

    在Black-Scholes期权定价模型中,不能直接观察到的参数只有股票价格的波动率.波动率可以由历史数据进行估计,这是历史波动率.隐含波动率也是交易员非常关心的,隐含波动率是期权的市场价格中所包含的 ...

  7. 布莱克—斯科尔斯—默顿(BSM)模型

    BSM模型是最常用的期权定价模型之一,虽然其假设不合符市场事实,但是该模型的提出奠定了现代金融衍生品法则的基石.该模型在学界的发展:早期的期权定价大多采用Black-Scholes(B-S)期权定价模 ...

  8. BSM模型心得,python实现方案

    #BSM模型心得,python实现方案 BSM简介 首先对于BSM模型先简单介绍一下,接触过期权的人应该都不陌生,BSM模型全称Black-Scholes-Merton model,其主要的贡献是提供 ...

  9. 基于PL角度理解BSM模型

    大多数统计学家使用连续时间金融模型来捕获不同的统计属性的潜在资产价格 然而,多数从业者并不使用模型来预测资产价格的变动,而是将其作为衍生品投资组合的损益(P&L)的会计工具来进行风险对冲 也就 ...

  10. 金融分析与风险管理——资本资产定价模型

    金融分析与风险管理--资本资产定价模型 1 系统性风险与非系统性风险 2 资本资产定价模型 1 系统性风险与非系统性风险 在理论上,股票面临的风险可以抽象的划分为系统性风险与非系统性风险.系统性风险( ...

最新文章

  1. 再谈Spring Boot中的乱码和编码问题
  2. Android提前加载unity程序,Unity项目嵌入Android App实现过程
  3. 关于IO模式(浮空、推挽、开漏...)描述及应用
  4. 8.类定义、属性、初始化和析构
  5. codeforce gym 100548H The Problem to Make You Happy
  6. Android SDK安装与环境配置
  7. Java基础-Collection集合接口(List及Set)
  8. Java写js的Ajax代码_用JS写的一个Ajax库(实例代码)
  9. mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突
  10. IIS 7.5 下PHP(FastCGI模式)配置手记
  11. java excel 合并两个单元格内容 无法换行_12个简单高效的EXCEL小技巧,让你秒变职场达人!...
  12. 华为鸿蒙os2.0更新,鸿蒙OS2.0更新了吗?更新方法、更新包大小、使用体验等都来了...
  13. Python设计模式:工厂模式
  14. 敏捷开发之利刃—db4o
  15. Spice Windows Client 利用 USBDk 实现USB重定向
  16. oracle10G/oracle11G连接oracle12c,ORA-28040的解决
  17. 2015年OA选型一览表
  18. 封装仿支付宝密码输入效果
  19. OMF(Oracle Managed Files,Oracle管理的文件)介绍
  20. balsamiq原型工具

热门文章

  1. TD回撤/斐波那契回撤
  2. 转载 centos CPU温度检测
  3. windows放到Linux替换,windows过渡到linux之软件的替换
  4. JavaScript 之自定义播放器
  5. 计算机组成原理_在线作业1,电子科大《计算机组成原理》在线作业1
  6. 从头开始阅读PyTorch代码 -- Operators篇
  7. 【水题】CodeForce 1183A
  8. Java语法糖以及实现
  9. 使用matlab建立个人简历,图像制作个人简历范文
  10. 一键刷入twrp_努比亚Z17-Z17S-Z17mini 刷入MIUI10系统刷机教程