第10章 Python的循环语句和隐含波动率的计算
本章主要内容涉及两个主题:Python的循环语句和隐含波动率的计算。Python有两个最常用的循环语句:for
循环和while循环。将介绍隐含波动率的定义及其背后的逻辑,然后讨论3种计算隐含波动率的方法,分别基于for循环、while循环和二分搜索。二分搜索是其中最有效的方法。应用二分搜索方法的一个前提条件是目标函数单调递增或递减,而期权价格恰恰是波动率的递增函数。本章包括以下主要内容。
- 什么是隐含波动率
- 隐含波动率计算的逻辑
- 理解
for
循环、while
循环及其应用 - 嵌套(多重)循环
- 多个IRR的估计
- 二分搜索方法的原理
- 计算美式看涨期权的隐含波动率
enumerate()
函数简介- 从Yahoo!Finance和芝加哥期权交易所获取期权数据
- 以图形表示看跌期权和看涨期权的比率
10.1 隐含波动率的定义
在第9章中,我们了解到给定一组输入参数S(当前股票价格)、X(执行价格)、T(以年为单位的有效期)、r(连续复利的无风险利率)和sigma(股票回报率的标准方差,也称为波动率)可以利用Black-Scholes-Merton模型来计算看涨期权的价格。可以用以下5行Python代码来为欧式看涨期权定价。
from scipy import log,exp,sqrt,stats
def bs_call(S,X,T,r,sigma):
d1=(log(S/X)+(r+sigma*sigma/2.)*T)/(sigma*sqrt(T))
d2 = d1-sigma*sqrt(T)
return S*stats.norm.cdf(d1)-X*exp(-r*T)*stats.norm.cdf(d2)
输入一组5个值后,可以得到看涨期权的价格如下。 ...
Get Python金融实战 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.