前言:很多人都了解Black-Scholes公式,但是关于这个公式具体应该怎么用,要代入哪些变量计算,还不是非常清楚。
本文用python编程,代入变量具体计算B-S公式的隐含波动率,并且会指明哪些变量用哪些值代入。

B-S公式:

C:期权的理论价值
S:标的证券的当前价格
K:期权的行权价
r:无风险利率
σ:股票收益率的波动率
T:期权有效期限

并且期权的理论价值C与期权股票收益率的波动率σ呈反比,σ越大,期权理论价值越小。

计算代码如下:
以上证50ETF购6月,行权价为2.05为例。
得到2019年3月25日收盘时,上证50ETF的价格为0.9551,期权价格为0.6750,隐含波动率为35%,剩余交易日为63天。
需要特别说明的是,

  1. 50ETF标的价格S取的是华夏上证50ETF,510050,收盘价为0.9551;
  2. T取的是期权剩余有效期限t与一年交易日的比值,T = t/252,认为一年平均有252个交易日;
  3. 无风险利率取的是余额宝的最新7日年化收益率,2.51%,当然可以取最新国债收益率或者国开债,whatever。

代码如下

from math import *
from scipy.stats import *def bs_call_value(target_price, strike_price, rf_rate, maturity, volatility):d1 = log(target_price/strike_price, e) + (rf_rate + pow(volatility, 2))*maturityd1 = d1/(volatility * maturity ** 0.5)d2 = d1 - volatility * maturity ** 0.5call_value = target_price * norm.cdf(d1, 0, 1) - strike_price * pow(e, -rf_rate * maturity) * norm.cdf(d2, 0, 1)return call_valueif __name__ == "__main__":target_price = 2.702strike_price = 2.05rf_rate = 0.025maturity = 63/252call_value = 0.6750volatility = 0while True:volatility += 0.001print(volatility, abs(bs_call_value(target_price, strike_price, rf_rate, maturity, volatility) - call_value))if  abs(bs_call_value(target_price, strike_price, rf_rate, maturity, volatility) - call_value) <= 0.001:breakprint(volatility)

计算出隐含波动率为35.2%。因为是暴力搜索隐含波动率,也可以根据隐含波动率与期权价值之间的单调性关系,设计二分法等算法进行求解,加快求解速度。

通过B-S公式计算期权隐含波动率相关推荐

  1. html提交表单使用python计算_使用python+tushare计算期权隐含波动率并作图

    前言 这其实是我们一次课程作业,以上证50ETF期权为例说明波动率微笑现象.按习惯我先上网搜了一下看有没有前辈写过这样的代码,毕竟重复造轮子不好嘛.没想到真的有,原文链接:https://www.ji ...

  2. Python计算期权隐含波动率

    ​​ 数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Pyth ...

  3. 如何提升 ETF 期权隐含波动率和希腊值的计算速度?

    期权的隐含波动率可以反应市场对未来的预期,通常使用牛顿法和二分法来计算.这两种方法都需要频繁迭代,且迭代次数不能确定,核心代码无法向量化,因此只能通过循环来逼近求解.这就导致在期权相关计算中,隐含波动 ...

  4. 求期权隐含波动率的几种方法

    最近实习开始算期权隐含波动率.期权隐含波动率的算法写的人不多,分享几种计算方法. 1. 根据BS公式用二分法计算 从WIND里面取数之后算会出现的实际问题是有些价格的期权并没有价格(没人买),所以显示 ...

  5. python-数值方法求解期权隐含波动率

    首先,隐含波动率是把期权价格带入B-S模型中反算出来的,它反映了投资者对未来标的证券波动率的预期. 如何画出期权的隐含波动率在这片文章中已经给出了方法,有兴趣的可以移步 期权的隐含波动率-python ...

  6. matlab 流程计算方法,吸波材料LLG公式计算复磁导率的过程及matlab程序

    看到一篇paper,利用Landau-Lifshitz-Gilbert 公式计算片状颗粒的复磁导率.(JAP 107,033913, 2010) http://scitation.aip.org/co ...

  7. c语言根据日期算星期几入门,c语言详解  蔡勒(Zeller)公式计算某一天是星期几  极其方便...

    /* 蔡勒(Zeller)公式计算某一天是星期几 w:星期:c:(年份前两位):y:年(年份后两位):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月 来计 ...

  8. 用Machin公式计算圆周率的源程序

    用Machin公式计算圆周率的源程序 /* Program to compute PI, by Jason Chen, May 1999 ** ** Open VC++ IDE, new a win3 ...

  9. excel公式不自动计算_c++通用面积计算公式_excel 公式计算 c++

    刚刚开通了博客,今天正好有时间来完成自己的第一篇博客文章.希望对有需要的朋友有所帮助. 今天写了一个小代码:计算任意多边形的面积.临近毕业,毕设也忙得很,还好最近完成的差不多了,就差写论文了,今天突然 ...

最新文章

  1. 赠书 | 干货!用 Python 动手学强化学习
  2. Android 多媒体------相机
  3. zcmu1540(二分)
  4. .net bootstrap 下拉树状选择框_Bootstrap搭建图书管理系统
  5. python测试函数
  6. iOS App后台保活
  7. iGraph(Python)报错sh:open command not found的解决
  8. 在Ubuntu中为root用户启用界面登录
  9. dosbox edit.exe 如何使用_微软软件如何激活?这个神器分享给你!
  10. Atitit 作用域的理解attilax总结
  11. 机房收费系统——可行性研究报告
  12. 97年小伙“最牛简历”刷屏:面子算什么,我只想搞钱
  13. Python爬虫:查国家安全信息库
  14. 计算机网络 路由协议的配置_瑞尔森大学计算机网络专业
  15. 安装图解:Linux Mint 4.0(Daryna)(或者说完美的桌面系统)
  16. 为什么我的燃尽图没更新?
  17. MOS管和三极管的工作原理对比
  18. 范登堡(van den berg)CPT使用记录
  19. L. Spicy Restaurant(多源BFS+递推)
  20. pandas、numpy mysql

热门文章

  1. C#操作Oracle数据库连接超时的错误处理
  2. 尽收眼底,3款常用的PC端软件,简洁实用又良心
  3. [转]让程序员跳槽的非钱原因
  4. 《歌手》刘欢撒狗粮甜煞众人 许靖韵毕书尽踢馆结果揭晓
  5. 【内网安全】 横向移动IPCATSC命令Impacket套件CS插件全自动
  6. 蒲公英 - 免费的应用托管平台|App应用众测分发
  7. Linux安装、使用Sleuth kit/Autopsy(分析磁盘映像和恢复文件的开源取证工具)
  8. U3D之摄像机不同视角的方法
  9. 使用Echarts实现地图下钻
  10. 史上最全代码情诗集合,程序员表白的巅峰之作,突破天际的撩妹绝学,特此奉献