本文目录一览:
- 1、期权 价格计算excel
- 2、vb要求变量 不能为该表达式赋值 用excel做期权定价,遇到的问题如图。问题出在 for index=n-1 to 0,
- 3、excel中期权定价模型怎么求解股价波动率
- 4、期权的定价方法
- 5、MATLAB解线性方程组或EXCEL期权定价的公式
- 6、怎么用 Excel 做蒙特卡洛模Ƌ
期权 价格计算excel
期权价格可以用模型计算,以下介绍的是期权价格的构成。在影响期权价格因素中只有波动率是不确定的,也是由投资者自己决定的。
期权价格构成
权利金是期权买方为获得权利而必须向卖方支付的费用。对期权卖方来说,它是卖出期权的收益。大多数交易者进行期权交易的目的,只是为了赚取权利金买、卖的差额。
权利金是由买卖双方竞价产生的。权利金分成两部分,即,内涵价值和时间价值。权利金=内涵价值+时间价值。
1.内涵价值
内涵价值是立即执行期权合约时可获取的利润。
对于看涨期权来说,内涵价值为执行价格低于期货价格的差额。
对于看跌期权来说,内涵价值为执行价格高于期货价格的差额。
2.时间价值
时间价值是指期权到期前,权利金超过内涵价值的部份。即,期权权利金减内涵价值。一般来说,在其它条件一定的情况下,到期时间越长,期权的时间价值越大。
随着期权到期日的临近,期权时间价值逐渐衰减。在到期日,期权不再有时间价值。期权价值全部为内涵价值。
一般来说,平值期权时间价值最大,交易通常也最活跃。期权处于平值时,期权向实值还是虚值转化,方向难以确定,转为实值则买方盈利,转为虚值则卖方盈利,故投机性最强,时间价值最大。
实值期权权利金=内涵价值 + 时间价值;
平值期权权利金=时间价值;
虚值期权权利金=时间价值。
vb要求变量 不能为该表达式赋值 用excel做期权定价,遇到的问题如图。问题出在 for index=n-1 to 0,
Index是VB保留字,不能用作变量名,改用其他如Index1或i等等
补充一句:For循环的变量初值是可以用n - 1的形式的。专家说错了!
excel中期权定价模型怎么求解股价波动率
简单的话就通过隐含波动率的曲面进行插值,如果想精确的话,是远比B-S顺推麻烦N倍,呵呵
期权的定价方法
这是一个老题目了,在知乎里也有一些类似的问题,但总感觉所有回答都有所欠缺,所以希望在这里对所有的数值方法进行一个梳理。按照我个人的分类,期权定价的数值方法分为五个大类:解析解方法,树方法,偏微分方程数值解方法,蒙特卡洛方法,傅立叶变换方法。
1)解析解方法:
一个期权定价问题,其实就是根据已知的随机微分方程(SDE)模型,然后来求解关于这个随机过程函数表达式的过程。这也是为什么随机微积分和Ito lemma会是金融工程的核心知识之一,因为Ito直接告诉了我们一个随机过程的函数所满足的新SDE:
/rm{d}f(t, X_{t})=/frac{/partial f}{/partial t}/rm{d}t + /frac{/partial f}{/partial X_t}/rm{d}X_t + /frac{1}{2}/frac{/partial^2 f}{/partial X_t^2}/rm{d}[X, X]_t
然后,如果我们可以求出这个SDE的解析解,那么一个欧式无路径依赖期权的价格就是它在终值时刻折现的期望值。这就是一种期权定价的解析解方法,当然你也可以利用PDE来求解,由于Feynman Kac定理的存在,PDE和条件期望的答案会是一致的。
而这类方法的优点是显而易见的,一旦解析解存在,那么期权的价格公式计算速度就会非常之快,不论做拟合还是优化都会有效率上质的提升,而这类方法的缺点也很明显,那就是,对于大部分模型和大部分奇异期权,解析解未必存在。
2)树方法
之所以叫树方法而不叫二叉树,是因为我们也将讨论三叉树模型,但其实本质思想是一模一样的。
如果告知你了一个标的资产的波动率,那么你可以通过下述式子构造一个N段的二叉树的上下波动:
u = /rm{e}^{/sigma/sqrt{T/N}}, d = /rm{e}^{-/sigma/sqrt{T/N}}
然后利用逆推,来得到初始时刻的期权价格。
那么三叉树呢?首先要明白一个道理,除了满足了下列条件的三叉树模型(u是上叉,d是下叉,l是中叉)
其余的三叉树都是incomplete market。在其余的树模型下,我们只能做到super-replicate,而不能完成perfect hedge。而这独有的一种三叉树模型,也成为了最常用的树模型之一。或许有人好奇为什么有二叉树了,还有人使用更麻烦的三叉树。这是因为三叉树的收敛速度要高于二叉树。
那么树模型的优缺点又是什么呢?树模型有一个任何连续时间模型都无法取代的优点,那就是每一个定价,在树模型里,不论美式、欧式、路径依赖、奇异,通过Backward Induction Principle得到价格,永远都是伴随着显式对冲策略的。而在连续时间模型里,想获得连续时间对冲策略的这类问题,是一个倒向随机微分方程(BSDE)问题,有很多时候并不是那么好解决的,尤其是当期权有奇异或美式属性的时候。
另一方面,树模型缺点也显而易见,高维度问题树模型是不能解决的,所以对于多个标的资产的问题,尤其是具有相关系数的资产,我们只能诉之于他法。而从速度上来讲,树模型的收敛速度是要低于PDE方法的。
3)PDE方法
很多对于quantitative finance陌生的人也会听说过Black Scholes PDE。而实际上,不同的随机模型,都会对应不同的PDE。BS PDE只不过是单资产符合几何布朗运动随机模型的PDE表达罢了。因为对于期权,我们往往知晓它最终到期日的payoff,所以我们用payoff函数来作为这个PDE的终值条件。
如果PDE存在解析解,最优办法自然也是求解析解。然而,如果解析解不存在,我们就必须诉诸数值方法。最常用的数值解方法就是有限差分,也就是将所有变量构造一个网格,然后利用网格上的差分方法来估计偏导数,进而将PDE问题转化为代数问题。而对于期权定价的PDE,我们会根据期权的性质,获得这个PDE终值条件和边值条件。然而,有时候根据不同的模型,我们可能得到的并不是一个简单的PDE,而可能是PIDE(partial integral differential equation),也就是在PDE中多了积分项,这时候,我们需要同时再借助数值积分来完成数值计算。
PDE的数值问题自然还有很多的选择,有限元、谱方法都在列。但期权定价PDE本身并不像很多物理PDE有很大的非线性程度,边界也并没有那么奇怪,所以基本上有限差分是可以解决绝大部分问题的。
有限差分法分三种:显式差分,隐式差分,交错差分。我们不深入研究算法,但几个点就是:稳定性上,显式差分是条件稳定的,另外两种都是无条件稳定;计算复杂度上,显示最简单,隐式次之,交错最繁琐;精确性上,显式、隐式是同阶的,交错差分的特殊情形,显式和隐式各占一半时,也就是Crank-Nicolson差分,精度会在时间上也上升一阶。
另外,在期权定价中PDE有两大类,正向和倒向。传统的BS PDE就是倒向的一个典型例子,它的终值条件就是期权的payoff function。而一个倒向PDE所对应的正向PDE,它不再是期权价格满足的PDE,而是这个标的的“价格密度”所满足的PDE。这个“价格密度”被称为State price,或者Arrow Debreu price,抑或是Green function。而这个在我之前的一篇文章有介绍过
Arrow Debreu price与快速拟合
而PDE方法的缺点主要有两点:路径依赖问题,高维度问题。很多路径依赖问题的PDE形式是很麻烦,甚至无法表达的,比如亚氏期权,比如回望期权。而对于高维度问题,如果PDE的数值方法会从平面网格上升到空间网格,在复杂度上不但繁琐,而且在边值条件上更难以控制。而PDE的优点则是速度快,而且根据差分的数值方法,在计算Greeks的时候不需要加以再次的bumping计算。举个例子,如果不降维,一个具有两个assets的期权的有限差分就是这样的一个立方网格:
4)蒙特卡洛方法
蒙特卡洛方法是目前应用范围最广泛的方法了。因为不存在提前行权属性的期权价格其实就是一个期望,所以我们就可以通过模拟很多的路径,来用平均数估计真实期望。而美式或百慕大这种具有提前行权属性的期权,它的期权价格其实是一个随机优化问题。这类问题我们可以采用regression-based Monte Carlo,也就是最小二乘蒙特卡洛,利用regression来估计conditional NPV,然后再用蒙特卡洛求解当前价值。
所以说,蒙特卡洛方法是最为general的方法了。然而,蒙特卡洛的缺点也是显而易见:因为要模拟上百万条路径,而且对于奇异期权还要做路径上的计算,美式更要做回归,蒙特卡洛方法成为了计算时间长的代名词。但幸运的是,我们有三种提速的方法:1,利用方差缩减,在保证方差恒定的基础上,可以减少模拟路径;2,利用Multi-level 蒙特卡洛,减少complexity;3,利用GPU或超级计算机,进行并行计算。
对于普通蒙特卡洛方法,上述三种方法都是可行的,而且GPU的提速是非常显著的。对于方差缩减,得强调一点的就是,一般而言,最简单的方式是对偶变量,其次是控制变量,然后是利用条件期望,最难的是importance sampling,而在效果和适用范围上,它们的排序往往是刚好相反的。比如美式期权的最小二乘蒙特卡洛,方差缩减的最有效手法就是important sampling,其他方法的效果很小。
这里另外再着重强调一下最小二乘蒙特卡洛。最小二乘蒙特卡洛的流程大致如下:首先,正向模拟标的路径;其次,倒向在每个时间节点,对所有路径值进行回归,估算条件期望,直到初始时间点;最后,求平均。所以值得注意的一点就是,在这里,如果单纯使用GPU cluster进行提速,效果并不是很理想,因为路径模拟并不是最消耗时间的步骤,对所有路径回归才是。虽然如此,但其实还是可以用GPU cluster来对回归精度加以提升,比如可以将路径进行归类,然后将global regressor转换成多个local regressor。
总的来说,蒙特卡洛方法是期权定价中适用范围最广的数值方法,但也是最慢的方法。然而,我们可以利用方差缩减、复杂度缩减,以及GPU计算来优化我们的蒙特卡洛算法,达到提速与增加精确性的目的。
5)傅立叶方法
傅立叶方法也被称为特征函数法,利用的就是对于很多的模型,它们的特征函数往往是显式表达的,比如靠具有independent increment的infinitely divisible process来决定的模型,因为在这样的情况下,我们有Levy-Khintchine representation,很多拟合性质很好的过程,比如Variance Gamma,Normal Inverse Gaussian都属于这一类。而特征函数实际上可以看作是一个随机变量的傅立叶变换,这也就是这个名字的由来。
如果我们有显式表达的特征函数,我们可以通过傅立叶逆变换来得到原随机变量的密度,进而达到求解期权价格的目的。一般来讲,这样的方法要比PDE方法更加快速,因为数值积分的速度要比微分方程数值解的速度要快。然而,这类方法的缺陷也是显而易见的,路径依赖性和维度问题,以及我们必须要有显式表达的特征函数。
总结:
在这里,我们只讲一些面上的东西。具体深入的东西,我会在公众号:衍生财经上详谈。
MATLAB解线性方程组或EXCEL期权定价的公式
楼主你好,看见你提问Excel的这个问题,嘿嘿,好像在那里看见过,所以我来解答你,不过我怕我说的不是很清楚,这样好了我给你个网址你进去看看,里面绝对可以解决你的问题的答案,我基本都是在那边学的,什么都有,绝对全面,网址是
,你记得只找你的问题,看的太多小心眼花!.....
怎么用 Excel 做蒙特卡洛模Ƌ
下面是在Excel中模拟一只股票价格的例子。假设股票价格
的对数收益率服从正态分布,均值为0,每日变动标准差为0.1,
模拟股票价格1年的路径,过程如下:
用到两个内置函数,即用rand()来产生0到1之间的随机数,然后用norminv()来获得服从既定分布的随机数,即收益率样本=norminv(rand(), 0, 0.1)。假定股票价格的初始值是100元,那么模拟的价格就是 S=100 * exp(cumsum(收益率样本))。
其中的cumsum()不是Excel的内置函数,其意思就是收益率样本的累积,每个时刻的值都是当前样本及此前所有样本的和,如,收益率样本从单元格C3开始,当前计算C15对应的模拟价格,则模拟价格计算公式是:100 * exp(sum($C$3:C15))。
由此可以得到股票价格的一条模拟路径。
其他非正态分布也可以通过类似方式得到分布的抽样,即分布函数的逆函数,这些函数Excel都内置了。所以,做蒙特卡洛模拟的时候,关键是先确定所需模拟的分布,然后进行抽样,然后应用层面的各种公式就可以在抽样的基础上进行计算了。
--------以下是补充的--------
根据上面提到的思路,其实可以很便捷地为期权做定价。下面就用蒙特卡洛方法为一个普通的欧式看涨期权定价(蒙特卡洛在为普通期权plain vanilla option定价时不占优势,因为相对于解析法而言计算量很大。但是,如果要给结构比较复杂的奇异期权定价时,可能蒙特卡洛法就比较实用,有时可能成为唯一的方法)。
1)假设这个期权是欧式看涨期权,行权价格为50元,标的股票当前的价格也是50元,期权剩余时间是1天。
2)假设标的股票的价格服从对数正态分布,即股票的每日收益率服从正态分布,均值为0,每日标准差为1%。
根据分布假设,首先用rand()函数产生在0到1之间的均匀分布样本。为了提高精确度,这里抽样的数量为1000个(其实1000个是很少的了,通常需要10万个甚至50万个,但是在Excel表格中操作这么多数字,不方便,这是Excel的不足之处)。
下一步,用norminv(probability, mean, std)函数来获得股票收益率分布的1000个抽样,其中的probability参数由rand()产生的抽样逐个代入,mean=0.0, std = 0.01。注意这里抽样得到的日度收益率。也就是说,这个样本对应的下一个交易日股票价格的收益率分布。
下一步,股票价格=50×exp(收益率样本),得到股票价格分布的抽样,有1000个样本。
根据我做的实验,这1000个样本的分布图形(histogram)跟对数正态分布是比较接近的,如下图所示:
图的横轴是股票价格,纵轴是样本中出现的频率。
得到了股票价格未来一天分布的样本之后,就可以以此样本来计算期权的价格了。
欧式看涨期权的定义为:
C=max(S-K,0)
所以,根据这个计算公式可以计算出在到期那天在特定的价格下期权的价值。在Excel中,相当于 期权价值=max(股票价格样本 - 50,0)。由此就可以得到了该期权未来1天价值的样本。
然后,将未来价值贴现回来(用无风险利率贴现,假设无风险利率为0.05,则贴现公式是=exp(-0.05/360)×期权价值,得到期权价格的1000个样本。
最后,对期权价格的1000个样本求平均,Excel函数average(期权价格样本),就可以得到期权的价格了。
我这里算出来的是:0.2015元。
而根据Black-Scholes期权定价公式算出来的理论价格则是0.2103元。二者比较接近,但是还是有差距。
而且,每次刷新Excel表格,就重新做一次模拟,得到的模拟价格变动比较大,有时是0.2043元,有时是0.1989元。由于这个抽样的数量比较小(1000个样本),所以估算的结果受到样本的影响会比较大。如果把抽样数量提高100倍甚至500倍,那么样本变动的影响可能会小一个或者两个数量级。但是计算量就大了,如果计算机性能不够高,那么利用Excel来做的话,比较困难。
这就是我的工作台:
------ 再来一个 --------
看到有人提到利用蒙特卡洛方法来估计圆周率Pi,挺有意思,也简单,所以就在Excel中做了一个实验。
基本原理在于在直角坐标系中的第一个象限中的一个单位圆,如下图所示:
在这个面积为1的正方形中,有四分之一的圆,圆的半径与正方向的边长都是1。那么根据圆的面积公式,这个图形中阴影部分的面积应该是 Pi/4。
下面开始进入蒙特卡洛的解法。
即,如果我们对这个正方形平面中的点进行均匀地抽样,随着抽样点的增多,那么落入阴影内的点的数量与总抽样数量的比,应该基本上等于阴影的面积Pi/4与整个正方形面积1的比,即Pi/4。用数学表示,就是
阴影内的样本点数量 ÷ 总数量 = Pi/4
所以,Pi = 4 × 阴影内的样本点数量 ÷ 总数量。
下面就在Excel中进行实验。
用rand()函数生成2000个随机数,作为随机样本点的X轴坐标,
再用rand()函数生成2000个随机数,作为随机样本点的Y轴坐标。
如此就得到了2000个随机样本点,这些点的X轴坐标和Y轴坐标都大于零且小于1,所以是在前面所说的正方形之中的点。
下一步,判断样本点是否处于阴影之内,由于这个阴影就是单位圆在直角坐标系第一想象的四分之一,所以圆阴影内的点都符合如下不等式:
翻译到Excel中,就是用IF函数来判断,例如:
IF(A2^2 + B2^2 =1, 1, 0)
即,如果样本点在阴影中,得到1,否则得到0。这样就把样本点区分开来了。
最后,把所有得到的1和0加总,就知道所有样本点中处于阴影中样本点的数量了。
最后根据
Pi = 4 × 阴影内的样本点数量 ÷ 总数量
就可以算出Pi来了。
我这个试验中算出来的 Pi=3.142。
以下是样本点的散点图:
由于样本数量有限,所以计算出来的Pi的精度并不高。
以下是工作界面,挺简单的。
来源:知乎