期权定价模型

期权定义

期权,是指一种合约,源于十八世纪后期的美国和欧洲市场,该合约赋予持有人在某一特定日期或该日之前的任何时间以固定价格购进或售出一种资产的权利。期权定义的要点如下:

1、期权是一种权利,期权合约至少涉及买家和出售人两方。持有人享有权利但不承担相应的义务。

2、期权的标的物。期权的标的物是指选择购买或出售的资产。它包括股票、政府债券、货币、股票指数、商品期货等。期权是这些标的物“衍生”的,因此称衍生金融工具。值得注意的是,期权出售人不一定拥有标的资产。期权是可以“卖空”的。期权购买人也不一定真的想购买资产标的物。因此,期权到期时双方不一定进行标的物的实物交割,而只需按价差补足价款即可。

3、到期日。双方约定的期权到期的那一天称为“到期日”,如果该期权只能在到期日执行,则称为欧式期权;如果该期权可以在到期日及之前的任何时间执行,则称为美式期权。

4、期权的执行。依据期权合约购进或售出标的资产的行为称为“执行”。在期权合约中约定的、期权持有人据以购进或售出标的资产的固定价格,称为“执行价格”。

期权价格特性

  1. 内在价值与时间价值

期权价格(或者说价值)=期权的内在价值+时间价值。

期权的内在价值,是多方可能行使期权时所获回报最大贴现的较大值。看涨期权的“所获回报”为St-X,看跌期权为X-St ,这里的T是指多方行使期权的时刻。由于欧式期权和美式期权可执行的时间不同,其内在价值的计算也就有所差异。

附:欧式期权和美式期权的区别

  1. 行权时间不同

欧式期权只能在合同约定的到期日行权,美式期权可以在到期日以及到期日之前的任何时间点行权,即美式期权意味着持有者有更高的自由度,更大的选择权。

  1. 在其他条件相同的情况下,美式期权的价值≥欧式期权的价值

期权价值=期权内在价值+时间价值

期权内在价值是指假设当前立即决定行权或弃权的期权价值,实际上是当前时点的净收入。影响期权内在价值的因素包括两项,一是执行价格,二是现行股价。

以看涨期权(买权)为例,当现行股价大于执行价格时,站在当前时点,立即行权可获利,期权内在价值=现行股价-执行价格,此时期权处于实值状态(溢价);当现行股价等于执行价格时,立即行权无意,持有者不会选择立即行权,期权的内在价值为0,此时,期权处于平价状态;当现行股价小于执行价格时,立即行权受损,持有者不会选择行权,期权内在价值为0,此时期权处于虚值状态。

不管是看涨期权还是看跌期权,期权的内在价值都是非负的。

时间价值也称为时间溢价,由于市场股价未来的变化增加了期权价值的可能性,对于美式期权而言,可行权时间越长,期权的时间溢价越高,期权的时间价值=期权价值-内在价值;期权到期日,期权的时间价值为0,期权价值=内在价值。

在其他条件均相等的情况下,美式期权由于在到期日以及到期日之前均可以选择行权或不行选,选择机会大于欧式期权,同等条件下,美式期权的时间溢价大于等于欧式期权的时间溢价。

  1. 一般情况下,其他条件相同情况下,美式期权的期权价格≥欧式期权的期权价格

期权价格(权利金)是期权持有人为了获得期权(选择权)而付出的成本,价值决定价格,价格是价值的外在表现形式,价格围绕价值上下波动。因美式期权价值≥欧式期权价值,所以一般情况下,在其他条件相同的情况下,美式期权的期权价格≥欧式期权的期权价格。

  1. 实值期权、平值期权与虚值期权

与期权内在价值紧密联系的几个概念是期权的平值点以及对应的实值期权,平值期权与虚值期权。所谓平值点,就是使得期权内在价值由正值变化到零的标的资产价格的临界点。

三者区别:

实值期权In-the-Money (ITM):行权价格小于标的资产当前价格的看涨期权,或行权价格大于标的资产当前价格的看跌期权。

平值期权At-the-Money (ATM):行权价格等于标的资产当前价格的看涨期权和看跌期权。

虚值期权Out-of-the-Money (OTM):行权价格大于标的资产当前价格的看涨期权,或行权价格小于标的资产当前价格的看跌期权。

  1. 期权的时间价值

期权的时间价值是基于期权多头权利义务不对称这一特性,在期权到期前,标的资产价格的变化可能给期权多头带来的收益的一种反映。

期权价格影响因素

期权价格由内在价值和时间价值两部分构成,但凡是影响内在价值和时间价值的因素,就是影响期权价格的因素。总的来看,期权价格的影响因素主要有以下几个,它们通过影响期权的内在价值和时间价值来影响期权的价格。

说明:

在期权价值的基础上,市场对期权合约的供需关系决定了期权的市场价格,即权利金。从期权要素来看,期权价格通常会受到标的价格、行权价、合约到期期限、市场无风险利率、标的证券价格波动率等因素的影响。

(1)期权标的价格。标的价格上涨,则认购期权价格上涨,而认沽期权价格下跌。对于前述行权价格为65元的认购期权来说,如果标的价格从63元上涨到68元,那么合约就从虚值变成了实值,因此期权的价格也会相应上涨。而对于同样行权价格为65元的认沽期权来说,如果标的价格从63元涨到68元,期权就从实值变成了虚值,其价格会下跌。

(2)期权的行权价。行权价越高,认购期权的价格越低,认沽期权的价格越高。行权价为55元的认购期权比65元的认购期权贵,这是因为期权买方可以以更优越的价格买入标的证券。同样的道理,行权价为75元的认沽期权比65元的认沽期权贵,因为期权买方可以以更高的价格卖出标的证券。

(3)期权的合约到期期限。对于期权来说,期权到期期限越长,期权买方获利的可能性越大,期权卖方须承担的风险也越大,因此期权价格越高。从另外一个角度看,期权到期期限越长,期权的时间价值也就越高。如果把期权比作保险,保险时间越长,所支付的保险费理应越高。

(4)期权的市场无风险利率。认购期权具有融资买入标的证券的性质,市场无风险利率越高,意味着融资成本越高,认购期权的价格就越高。同理,买入认沽期权可以达到卖空标的证券的效果。如果单纯卖空标的证券,投资者将获得现金收入,而买入认沽期权是没有现金收入的。市场无风险利率越高就越不利于认沽期权投资者,因此认沽期权的价格就越低。

(5)期权标的证券价格波动率。标的证券价格的波动率是用来衡量标的证券未来价格变动不确定性的指标。简单地说,标的证券价格波动率越高,期权合约到期时成为实值期权的可能性就越高,因此相应合约具有更高的价格。波动率分为历史波动率和隐含波动率。

期权价格曲线

  1. 看涨期权价格曲线

期权价格等于内在价值+时间价值。内在价值主要取决于S和X,而时间价值由取决于内在价值、无风险利率、波动率等因素,因此可以得到下面的期权价格曲线:

  1. 看跌期权价格曲线

BSM定价模型

不分红股票的期权定价模型-BSM

BSM(black-scholes-merton)模型假设标的股票在到期日前不支付任何股息,因而给出了欧式期权价格的解析表达式。如果用S0代表当前价格,X代表行使价,r代表连续得利的无风险利率,T代表以年为单位的期权有效期,σ代表股票的波动率,N()是累计标准正态分布函数,那么欧式看涨期权(C)的价格公式和欧式看跌期权(P)的价格公式分别如下:

已知分红股票的欧式期权价格

假设期权的到期日是T,已知标的股票在时间T1将发放红利,T1<T。可以修改原始的BSM模型来给该期权定价就是用以下公式中的S代表So。

BSM 期权定价模型在 Python 中的实现

from scipy import log,exp,sqrt,stats

def bs_call (S,X,T,r,sigma ) :

dl=(log(S/X) + (r+sigma*sigma/2.)*T)/(sigma*sqrt(T))

d2=d1-sigma*sqrt (T)

return S*stats.norm.cdf (dl)-X*exp(-r*T)*stats.norm.cdf(d2)

s0=40;r=0.1; T=0.5;X=42; sigma=0.2

bs_call(s0,X, T, r, sigma)

d=1.5

s=s0-exp(-r*T*d)

bs_call(s,X, T,r,sigma)

二叉树法

二叉树法(CRR法)由CR和Robin在1979年提出,二叉树图方法用离散的模型模拟资产价格的连续运动,利用均值和方差匹配来确定相关参数,然后从二叉树图的末端开始倒推可以计算出期权价格。

应用多步二叉树模型来表示证券价格变化的完整树形结构,其中u>1,d<1。

得到每个节点的资产价格之后,就可以在二叉树模型中采用倒推定价法,从树形结构图的末端t时刻开始往回折现,主期权定价。

用于计算u、d和P的公式如下:

其中每一步上升的概率:

得到风险中性概率以后每一步期权的价格为:

二叉树定价—欧式看涨期权在 Python 中的实现

from math import exp,sqrt

import scipy as sp

def binomialCall(s,x,T,r,sigma,n=1000):

deltaT=T/n

u=exp(sigma*sqrt(deltaT))

d=l/u

a=exp(r*deltaT)

p=(a-d)/(u-d)

v=[[0.0 for j in sp.arange(i+l)J for i in sp.arange(n+l)

for j in sp.arange(n+l):

v[n][j]J=max(s*u**j*d**(n-j)-x,0.0)

for i in sp.arange(n-l,-1,-1):

for j in sp.arange(i+l):

v[i][j]=exp(-r*deltaT)*(p*v[i+l][j+l]+(1-p)*v[i+l][j])

return v[0][0]

binomia1Call(40,42,0.5,0.1,0.2,1000)

二叉树—美式看涨期权在 Python 中的实现

def binomialCallAmerican(s,x, T ,r, sigma,n=1000):

deltaT=T/n

u=exp(sigma*sqrt(deltaT))

d=l/u

a=exp(r*deltaT)

p=(a-d)/(u-d)

v=[[0.0 for j in sp.arange(i+1)] for i in sp.arange(n+l)]

for j in sp.arange(n+l):

v[n][j]=max(s*u**j*d**(n-j)-x,0.0)

for i in sp.arange(n-1, -1, -1):

for j in sp.arange(i+l):

vl=exp(-r*deltaT)*(p*v[i+l][j+l]+(1-p)*v[i+l][j])

v2=max(x-s,0)

v[i][j]=max(vl,v2)

return v[0][0]

call=binomialCallAmerican(40,42,0.5,0.1,0.2,1000)

round(call,2)

蒙特卡罗模拟与期权定价

概述

蒙特卡罗模拟,是一种通过模拟标的资产价格的随机运动路径得到期权价值期望值的数值方法,也是一种应用十分广泛的期权定价方法。由于风险中性定价法可以使问题大大简化,因此主要介绍在风险中性世界中的蒙特卡罗模拟,其基本原理也适用于现实世界。

基本过程

在风险中性世界中,蒙特卡罗模拟期权定价法的基本思路是:由于大部分期权(如欧式期权)价值等于期权到期回报的期望值的贴现,因此先模拟风险中性世界中标的资产价格的多种运动路径,然后计算所有路径结果下的期权回报均值,最后用无风险利率贴现就可以得到期权价值。

以一个简单的欧式期权F(St,t)(即只有两个状态变量,资产价格St和时间t,且利率为常数)为例,可以说明蒙特卡罗模拟的基本方法:

  1. 从初始时刻的标的资产价格开始,直至到期为止,为St取一条在风险中性世界中跨越整个有效期的随机路径,这是众多路径中的一条。
  2. 计算出这条路径下期权的回报。
  3. 重复上面两个步骤,得到许多样本结果,即风险中性世界中期权回报的大量可能取值。
  4. 计算这些样本回报的均值,得到风险中性世界中预期的期权回报值。
  5. 用无风险利率贴现,得到这个期权的当前估值。

技术实现

在风险中怀世界中,服从几何布朗运动且连续收益率为q的标的资产价格所遵循的随机过程可以写作:

也可以写作:

为了模拟St的路径,我们把期权的有效期分为N个长度为Δt的时间段。

由上面的近似方程分别为:

还可以写为:

式中St是t时刻S的价值:

ε是从标准正态分布中抽取的一个随机样本。因此,蒙特卡罗模拟就是离散地模拟资产价格St的时间序列,这样,只要得知初始时刻t的St值,随机抽取一个εt,就能算出Δt时刻的价值St+Δt,接着2Δt时的值又能从Δt时的St+Δt值计算得到。因此,通过N个正态分布的随机取样就可以组建一条资产价格的蒙特卡罗模拟样本路径,并得到相应的回报值。重复以上的模拟至足够多的次数,计算回报值的平均值,折现后就得到了期权的估值,另外也可以顺便得到所估计期权的标准差。

代码模拟定价

假设有一份期限为六个月的股票期权,标的资产股票价格为 5.29 元,期权执行价格为 6 元,

年化无风险利率和年化波动率分别为 4%和 24%,用蒙特卡洛模拟法求看涨期权和看跌期权

的价格(模拟 1 万次)。

import numpy as np

from numpy.random import standard_normal

def callMonteCarlo(S,X,r,sigma,t,n):

z=standard_normal(n)

St=S*np.exp((r-0.5*sigma**2)*t+sigma*z*np.sqrt(t))

return sum(np.maximum(0,St-X))*(np.exp(-r*t))/n

def putMonteCarlo(S,X,r,sigma,t,n):

z=standard_normal(n)

St=S*np.exp((r-0.5*sigma**2)*t+sigma*z*np.sqrt(t))

return sum(np.maximum(0,X-St))*(np.exp(-r*t))/n

c=callMonteCarlo(5.29,6,0.04,0.24,0.5,10000)

p=putMonteCarlo(5.29,6,0.04,0.24,0.5,10000)

print('蒙特卡洛模拟算出的看涨期权价格为{:.4f},看跌期权价格为{:.4f}'.format(c,p))

蒙特卡洛模拟算出的看涨期权价格为 0.1520,看跌期权价格为 0.7450

期权的定义与BSM定价相关推荐

  1. 凤凰式期权matlab代码,美式期权二叉树定价及MATLAB程序.doc

    美式期权二叉树定价及MATLAB程序 金融随机分析课程 美式期权的二叉树定价 1.对于连续随机游走: 可以用离散格随机游走模型来表示,即标的资产的价格只在离散时间点,2,3,-,N取值,表示很小但非无 ...

  2. 期权专题6:BSM期权定价

    目录 1. 模型简介 2.模型公式 3.代码复现 4.参数影响 S-标的价格 K-行权价格 vol-波动率 T-剩余期限 r-无风险利率 1. 模型简介 BSM(布莱克-斯科尔特-莫顿)模型是最常见, ...

  3. ETF期权显著提高标的证券定价效率

    上证报中国证券网讯 期权一直被誉为"金融衍生品这顶皇冠上的明珠".大量理论研究和境内外期权市场实践均表明,股票期权有助于提升标的证券的流动性和定价效率,降低波动性,吸引长期和增量资 ...

  4. 探索有交易成本的环境下期权Delta对冲频次与定价效果的关系

    1.理论背景 金融机构在场外市场向客户卖出期权后会面临风险管理问题.如果出售的期权刚好与交易所内的期权相同,那么这家金融机构可以在交易所买入相同的期权来对冲其风险暴露.但是如果在场外卖出的期权比较特殊 ...

  5. 金融经济学(王江)第五章 期权:一个套利定价的例子

    完全市场期权定价 第五章 期权:一个套利定价的例子 5.1 期权的性质 5.1.1 期权的定义: 5.1.2期权价格影响因素: 5.1.3 期权的价值: 5.1.4 期权的价格上下界 5.2关于期权是 ...

  6. 52 SD配置-定价配置-定义定价程序确定

    业务背景:定义定价程序确定 事务码:OVKK SPRO路径:SPRO->销售和分销->基本功能->定价->定价控制->定义并分配定价过程->定义定价程序确定 第1步 ...

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

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

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

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

  9. 带有下标的赋值维度不匹配_不稳定的期权时间价值

    教科书上的期权公式:期权价格=内在价值+时间价值.这是个静态的表述,假设标的.波动率在到期前不在变化.实际上,在存续期间,这块时间价值将会受到"方向.波动率.时间"等维度影响. 期 ...

  10. 美式期权定价python_【定价】二叉树(CRR)欧式/美式期权定价的原理及Python实现...

    二叉树一种常用的期权定价方法,相比BSM模型,这个方法适用范围更广,可以为美式期权等一些其他品种定价.该方法是保持波动率不变的条件下,将价格路径做简化,根据简化的路径做分析和计算. 本文首先介绍使用二 ...

最新文章

  1. 越线人群计数--Crossing-line Crowd Counting with Two-phase Deep Neural Networks
  2. 都说 HashMap 是线程不安全的,到底体现在哪儿?
  3. C#反射使用方法过程及步骤
  4. 每天一道LeetCode-----根据先序遍历和中序遍历还原二叉树
  5. Scrapy-redis实现分布式爬取的过程与原理
  6. 更司马懿学管理计算机,跟司马懿学管理(一)无悔的选择是好选择
  7. 使用信号实现异步通知机制的例子
  8. 10个 NPM 使用技巧
  9. SVN 客户端的安装与配置
  10. [转]Windows 7自带很好用的磁盘检查与修复的环境
  11. 基于M6097 switch的STP协议调试方法
  12. 腾讯企业邮箱的邮局服务器设置,网易邮件客户端如何配置腾讯企业邮箱 并设置服务器邮件同步-♚付涛纪实阁♚...
  13. 数据平滑处理——log1p()和exmp1()
  14. delphi java aes_Delphi AES加密(转)
  15. 计算机网络 同步传输和异步传输
  16. 云-腾讯云:实时音视频
  17. Excel中ISEVEN函数用法之判断数值奇偶性
  18. Excel2016通过宏生成拼音码
  19. random.seed(0)
  20. 史上最简单-在 windows+python3.6 环境下创建自己的YOLOv3 [ VOC2007 ] 数据集

热门文章

  1. IM云通信行业步入快车道,融云或将和Twilio一样实现资本上市
  2. 迅捷路由器造成计算机无法上网,迅捷(FAST)300M无线路由器设置后不能上网的解决方法...
  3. 决策树算法原理——cart
  4. 3. 用户/管理员注册登录 - 如何使用个人Facebook来登录门户网站
  5. 100-1000的水仙花数 有哪些?
  6. 如何证明pi是无理数
  7. ap计算机知识点总结,AP统计学考试知识点汇总
  8. 编程实践精华总结集锦系列1: SpringBoot/Maven/IDEA/Java/Kotlin/Redis等等
  9. WPF老矣,尚能饭否——且说说WPF今生未来(下):安心
  10. 错误:Redis----(error) MISCONF Redis is configured to save RDB snapshots