期权波动率是什么?怎么计算?

2024-03-19 23:28
文章标签 计算 怎么 波动 期权

本文主要是介绍期权波动率是什么?怎么计算?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

期权波动率

  • 历史波动率:基于历史行情计算出来的历史波动率

我们现在站在现实时点B回顾过去,从A到B这段时间的历史行情我们是知道的,但是基于过去一段时间,标的价格的历史数据计算出来的波动率,就是历史波动率,上面例子中X和Y股票的波动率,就属于历史波动率。

  • 历史波动率用来反映标的价格,在过去一段时间的波动水平
    在这里插入图片描述

  • 隐含波动率:预测的波动率

同样站在现在这个时间点B我们不仅可以回顾过去,还可以展望未来,虽然未来的标的价格我们不得而知,但是我们可以通过期权市场去发现投资者对于标的价格来来一段时间波动水平的普遍预期,这种基于期权市场价格计算出来的,反映市场对于未来标的价格波动预期的指标,这就是隐含波动率

例如X公司股票期权以24%的隐含波动率进行交易,而Y公司股票以8%的隐含波动率进行交易,这就反映了出来市场中的一个观点,那就是市场普遍认为,未来X公司股票比Y公司股票的波动性更强。

在这里插入图片描述

  • 已实现波动率:从未来看,波动率的真实值

表示未来的一段时间内,标的价格波动的真实水平,如果我们站在未来时点C,那么它就是历史波动率,但是我们是出于现在这个时点B,因此我们并不能准确的计算出已实现波动率。

已实现波动率通常用于和隐含波动率进行对比,反映出投资者对未来的预期是否准确,换言之就是投资者交易期权是否会盈利。

在这里插入图片描述

隐含波动率计算

def calculateImpv(price, s, k, r, t, cp):"""计算隐含波动率"""# 检查期权价格必须为正数if price <= 0:return 0# 检查期权价格是否满足最小价值(即到期行权价值)meet = Falseif cp == 1 and (price > (s - k) * exp(-r * t)):meet = Trueelif cp == -1 and (price > k * exp(-r * t) - s):meet = True# 若不满足最小价值,则直接返回0if not meet:return 0# 采用Newton Raphson方法计算隐含波动率v = 0.29 # 初始波动率猜测for i in range(50):# 计算当前猜测波动率对应的期权价格和vega值p = calculatePrice(s, k, r, t, v, cp)vega = calculateOriginalVega(s, k, r, t, v, cp)# 如果vega过小接近0,则直接返回if not vega:break# 计算误差dx = (price - p) / vega# 检查误差是否满足要求,若满足则跳出循环if abs(dx) < DX_TARGET:break# 计算新一轮猜测的波动率v += dx# 检查波动率计算结果非负if v <= 0:return 0# 保留4位小数v = round(v, 4)return vdef calculateOriginalVega(s, k, r, t, v, cp):"""计算原始vega值"""    price1 = calculatePrice(s, k, r, t, v*STEP_UP, cp)price2 = calculatePrice(s, k, r, t, v*STEP_DOWN, cp)vega = (price1 - price2) / (v * STEP_DIFF)return vegadef calculatePrice(s, k, r, t, v, cp):"""计算期权价格"""# 如果波动率为0,则直接返回期权空间价值if v <= 0:return max(0, cp * (s - k))d1 = (log(s / k) + (r + 0.5 * pow(v, 2)) * t) / (v * sqrt(t))d2 = d1 - v * sqrt(t)price = cp * (s * cdf(cp * d1) - k * cdf(cp * d2) * exp(-r * t))return price
  • 这个函数的计算过程结合了Newton-Raphson方法和Black-Scholes公式。Black-Scholes公式是一种用来计算欧式期权价格的公式,而Newton-Raphson method是一种用来求解方程根的迭代方法。

在这个函数中,通过解Black-Scholes方程来计算隐含波动率。

BS公式通俗解答

具体来说,Black-Scholes方程是一个偏微分方程,描述了欧式期权价格C(s,t)与基础标的资产价格St、时间t、波动率、行权价格K和无风险利率r之间的关系。通过解这个方程,我们可以找到一个隐含波动率值,使得期权价格与方程的解相等

在这里插入图片描述
这里一共定义了三个函数:calculateImpv,calculateOriginalVega和calculatePrice,分别用于计算隐含波动率、原始vega值以及期权价格,可以看到该策略使用的正式Black-Scholes公式,首先检查波动率是否为0,如果为0,则直接返回期权的空间价值,即max(0, cp * (s - k))。这是因为当波动率为0时,期权价格只与基础资产价格和行权价格有关。

如果波动率不为0,那么会根据Black-Scholes公式计算出两个距离分布函数d1和d2然后根据这些参数计算出期权价格。其中cp代表期权类型(1代表看涨期权,-1代表看跌期权),s代表基础资产价格,k代表行权价格,r代表无风险利率,t代表时间,v代表波动率。

同时在这个情境下,我们可以将期权价格视为一个函数,该函数关于波动率的一阶导数就是vega。因此,通过计算vega并对其进行迭代更新,我们可以更精确地估算出满足某个误差容忍度的波动率值。简单来说,vega在这里起到了一个桥梁的作用,帮助我们将期权价格与波动率联系起来,从而可以通过迭代方法找到合适的波动率值。

在这里插入图片描述

\sigma 就是隐含波动率
r:无风险利率用十年期国债收益率

在这里插入图片描述
在这里插入图片描述

二分法

举一个简单的例子,假定初始猜测某支期权的波动率是 20%,对应该波动率数值估计得到的欧式看涨期权价格是 0.1035 元,显然,比市场价格 0.1566 元更小。

由于期权价格是波动率的增函数,因此合理地估计正确的波动率应该会比 20%更大。然后假定波动率是 30%,对应的期权价格 0.336 元,这个结果又比 0.1566 元高,则可以肯定波动率是介于 20%-30%的区间中。

接下来,取上两次波动率数值的均值,也就是波动率 25%,对应的期权价为 0.1662 元,这个值又比 0.1566 元高,但是合理的波动率所处的区间范围收窄至 20%与 25%之间,然后取均值 22.5%继续计算,

每次迭代都使波动率所处的区间减半,最终就可以计算出满足较高精确度的隐含波动率近似值。

这篇关于期权波动率是什么?怎么计算?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/827561

相关文章

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,