你必须意识到隐含波动率计算的计算成本很高,如果你想要实时数据,也许python不是最好的解决方案。

这里是一个你需要的函数的例子。

import numpy as np

from scipy.stats import norm

N = norm.cdf

def bs_call(S, K, T, r, vol):

d1 = (np.log(S/K) + (r + 0.5*vol**2)*T) / (vol*np.sqrt(T))

d2 = d1 - vol * np.sqrt(T)

return S * norm.cdf(d1) - np.exp(-r * T) * K * norm.cdf(d2)

def bs_vega(S, K, T, r, sigma):

d1 = (np.log(S / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * np.sqrt(T))

return S * norm.pdf(d1) * np.sqrt(T)

def find_vol(target_value, S, K, T, r, *args):

MAX_ITERATIONS = 200

PRECISION = 1.0e-5

sigma = 0.5

for i in range(0, MAX_ITERATIONS):

price = bs_call(S, K, T, r, sigma)

vega = bs_vega(S, K, T, r, sigma)

diff = target_value - price # our root

if (abs(diff) < PRECISION):

return sigma

sigma = sigma + diff/vega # f(x) / f'(x)

return sigma # value wasn't found, return best guess so far

计算一个单一的值是足够快的

S = 100

K = 100

T = 11

r = 0.01

vol = 0.25

V_market = bs_call(S, K, T, r, vol)

implied_vol = find_vol(V_market, S, K, T, r)

print ('Implied vol: %.2f%%' % (implied_vol * 100))

print ('Market price = %.2f' % V_market)

print ('Model price = %.2f' % bs_call(S, K, T, r, implied_vol))

隐含波动率:25.00%

市场价格=35.94

模型价格=35.94

但如果你试着计算很多,你会发现需要一些时间......

%%time

size = 10000

S = np.random.randint(100, 200, size)

K = S * 1.25

T = np.ones(size)

R = np.random.randint(0, 3, size) / 100

vols = np.random.randint(15, 50, size) / 100

prices = bs_call(S, K, T, R, vols)

params = np.vstack((prices, S, K, T, R, vols))

vols = list(map(find_vol, *params))

墙时间:10.5秒

python计算隐含波动率_用Python快速计算隐含波动率相关推荐

  1. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. 复盘:auc是怎么计算的?auc怎么快速计算?

    复盘:auc是怎么计算的?auc怎么快速计算? 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 ...

  4. python可以用于excel计算吗_你好Python!再见Excel?

    现在很多行业,都离不开Excel: 做财务的,要用Excel做报表: 做物流的,会用Excel来跟踪订单情况: 做HR的,会用Excel算工资: 做运营的,会用Excel记录数据做分析. 不知道你有没 ...

  5. 机械专业与python的联系_使用python进行机械设计计算

    分析 这一过程的核心在于机械设计,python的编程的用途有两个 1.当作计算器,缺点在于没有casio计算器那样的自然显示,优点在于可以反复调用,使用lambda函数简化运算 2.当设计需要修改时, ...

  6. python计算信息增益_利用Python提取ABAQUS的计算结果(ODB)信息、体积、应变等变化(一)...

    00 实例模型 一个金属长方体,我们需要对其做拉伸的加载约束示意图如图1,并在完成后采用Python命令流读取参考点的位移.体积.应变随加载时间的变化情况. 图1 金属长方体约束加载示意图 01 Py ...

  7. 蒙特卡洛python求解派_用蒙特卡洛方法计算派-python和R语言

    标签: 用蒙特卡洛方法算pi-基于python和R语言 最近follow了MOOC上一门python课,开始学Python.同时,买来了概率论与数理统计,准备自学一下统计.(因为被鄙视过不是统计专业却 ...

  8. python支持强大的科学计算功能_用 Python 写高效科学计算程序设计

    1.科学计算中的突出问题及需求 概括一般科学计算的特点,主要包括四方面: 数值计算种类多 对于某个问题的求解,可能需要不同种类的函数,如三角函数,积分函数,概率统计函数以及某些特殊函数. 需要大量数值 ...

  9. python万年历节气_用Python精确计算100年内二十四节气日期

    这两天在做万年历app的项目,其中有一项需要获得二十四节气的精确日期. 因为这个二十四节气日期在项目中用到的地方比较多(主要是精确计算某一天的年月日天干这方面):而且二十四节气计算的具体情况又特别复杂 ...

  10. 斗拱展开面积表_斗拱怎么快速计算可视面积

    斗拱怎么快速计算可视面积 一斗三 升 攒 0.095  0.214  0.232  0.334  0.319  0.455  0.594  0.752  0.854 0.928  1.163  1.5 ...

最新文章

  1. SQL repeat()函数
  2. 学计算机一般要off,必须要学的电脑知识
  3. python培训班价格-成都Python课程
  4. C++STL 常用 函数 用法
  5. Python socket的客户端
  6. 归属地的判断规则有吗_IPO|创业板注册制规则-详解股权激励新规
  7. MapReduce编程(四) 求均值
  8. OneinStack一键安装tomcat,jdk,mysql到Linux
  9. 关于ios 里面碰到内存错误的两种设置
  10. java 元数据 注解_Java元数据总结:Java注释的使用和定义
  11. 【CSS3】 线性渐变
  12. oracle用户口令已失效
  13. android出现anr(application not response)的分析
  14. hdu 2094 “产生冠军”——set容器的应用
  15. [ecshop调试]ecshop 数据库查询缓存详解 有三种缓存,query_cache(数据库查询缓存)、static_cache(静态缓存)和cache(普通的缓存)
  16. 仅需6步!虹科教你如何在第三方软件CODESYS中配置PCAN
  17. 16款分形图像软件为你创造出惊人的艺术效果
  18. 手绘类短视频怎么制作?从剪辑到配音,后期制作也很重要
  19. Android AdMob教程
  20. 同时安装 瑞星、金山、腾讯、百度和360这五大杀毒软件

热门文章

  1. JAVA并发系列十九:深入理解ThreadLocal(三)–详解ThreadLocal内存泄漏问题
  2. matlab带未知数的劳斯判据,自动控制原理实验用Matlab软件编制劳斯判据程序并解题(《学习辅导》例4.3.5)...
  3. 多多自走棋服务器不稳定,《多多自走棋》将登陆Epic平台 PC版数据将与移动版互通...
  4. 菜鸟程序员成长之路(七)——2020年,你奋斗了吗?
  5. 双网卡双线路DNS解析分析
  6. 猿创征文|2022全球程序员薪资排行一览
  7. 对接ERP和MES,使用低代码定制生产计划管理(APS)系统
  8. 零基础学习云计算需要准备什么?
  9. JS中this的四种调用方法
  10. 教学向|比较难的人体构造建模,用zbrush构建脸部与肌肉形状