如何使用matlab计算期权价格

2024-05-14

1. 如何使用matlab计算期权价格

参考论文
 期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。
   关键词:Matlab;教学实践
   基金项目:国家自然科学基金项目(70971037);教育部人文社科青年项目(12YJCZH128)
   中图分类号:F83 文献标识码:A
  收录日期:2012年4月17日
   现代金融学与传统金融学最主要的区别在于其研究由定性分析向定量分析的转变。数理金融学即可认为是现代金融学定量分析分支中最具代表性的一门学科。定量分析必然离不开相应计算软件的应用,Matlab就是一款最为流行的数值计算软件,它将高性能的数值计算和数据图形可视化集成在一起,并提供了大量内置函数,近年来得到了广泛的应用,也为金融定量分析提供了强有力的数学工具。
   一、Black-Scholes-Merton期权定价模型
   本节先给出B-S-M期权定价模型的简单推导,下节给出B-S-M期权定价模型的Matlab的实现。设股票在时刻t的价格过程S(t)遵循如下的几何Brown运动:
   dS(t)=mS(t)dt+sS(t)dW(t) (1)
   无风险资产价格R(t)服从如下方程:
   dR(t)=rR(t)dt (2)
   其中,r,m,s>0为常量,m为股票的期望回报率,s为股票价格波动率,r为无风险资产收益率且有0<r<m;dW(t)是标准Brown运动。由式(1)可得:
   lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■] (3)
   欧式看涨期权是一种合约,它给予合约持有者以预定的价格(敲定价格)在未来某个确定的时间T(到期日)购买一种资产(标的资产)的权力。在风险中性世界里,标的资产为由式(1)所刻画股票,不付红利的欧式看涨期权到期日的期望价值为:■[max(S(T)-X,0)],其中■表示风险中性条件下的期望值。根据风险中性定价原理,不付红利欧式看涨期权价格c等于将此期望值按无风险利率进行贴现后的现值,即:
   c=e-r(T-1)■[max{S(T)-X,0}] (4)
   在风险中性世界里,任何资产将只能获得无风险收益率。因此,lnS(T)的分布只要将m换成r即可:
   lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■] (5)
   由式(3)-(4)可得欧式看涨期权价格:
   c=S(t)N(d1)-Xe-r(T-1)N(d2) (6)
   这里:
   d1=■ (7)
   d2=■=d1-s■ (8)
   N(x)为均值为0标准差为1的标准正态分布变量的累积概率分布函数。S(t)为t时刻股票的价格,X为敲定价格,r为无风险利率,T为到期时间。欧式看跌期权也是一种合约,它给予期权持有者以敲定价格X,在到期日卖出标的股票的权力。
   下面推导欧式看涨期权c与欧式看跌期权p的联系。考虑两个组合,组合1包括一个看涨期权加上Xe-r(T-1)资金,组合2包含一个看跌期权加上一股股票。于是,在到期时两个组合的价值必然都是:
   max{X,S(T)} (9)
   欧式期权在到期日之前是不允许提前执行的,所以当前两个组合的价值也必相等,于是可得欧式看涨期权与看跌期权之间的平价关系(put-call parity):
   c+Xe-r(T-t)=p+S(t) (10)
   由式(10)可得,不付红利欧式看跌期权的价格为:
   p=Xe-r(T-t)N(-d2)-S(t)N(-d1) (11)
   二、Black-Scholes-Merton模型的Matlab实现
   1、欧式期权价格的计算。由式(6)可知,若各参数具体数值都已知,计算不付红利的欧式看涨期权的价格一般可以分为三个步骤:先算出d1,d2,涉及对数函数;其次计算N(d1),N(d2),需要查正态分布表;最后再代入式(6)及式(11)即可得欧式期权价格,涉及指数函数。不过,欧式期权价格的计算可利用Matlab中专有blsprice函数实现,显然更为简单:
  [call,put]=blsprice(Price,Strike,Rate,Time,Volatility) (12)
   只需要将各参数值直接输入即可,下面给出一个算例:设股票t时刻的价格S(t)=20元,敲定价格X=25,无风险利率r=3%,股票的波动率s=10%,到期期限为T-t=1年,则不付红利的欧式看涨及看跌期权价格计算的Matlab实现过程为:
   输入命令为:[call,put]= blsprice(20,25,0.03,0.1,1)
   输出结果为:call=1.0083 put=5.9334
  即购买一份标的股票价格过程满足式(1)的不付红利的欧式看涨和看跌期权价格分别为1.0083元和5.9334元。
   2、欧式期权价格的比较静态分析。也许纯粹计算欧式期权价格还可以不利用Matlab软件,不过在授课中,教师要讲解期权价格随个参数的变化规律,只看定价公式无法给学生一个直观的感受,此时可利用Matlab数值计算功能及作图功能就能很方便地展示出期权价格的变动规律。下面笔者基于Matlab展示欧式看涨期权价格随各参数变动规律:
   (1)看涨期权价格股票价格变化规律
   输入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
   c=blsprice(s,x,r,t,v);
   plot(s,c,'r-.')
   title('图1看涨期权价格股票价格变化规律');
   xlabel('股票价格');ylabel('期权价值');grid on
  (2)看涨期权价格随时间变化规律
   输入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
   plot(t,c,'r-.')
   title('图2看涨期权价格随时间变化规律');
   xlabel('到期时间');ylabel('期权价值');grid on
  (3)看涨期权价格随无风险利率变化规律
   s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
   plot(r,c,'r-.')
   title('图3看涨期权价格随无风险利率变化规律');
   xlabel('无风险利率');ylabel('期权价值');grid on
  (4)看涨期权价格随波动率变化规律
   s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
   plot(v,c,'r-.')
   title('图4看涨期权价格随波动率变化规律');
   xlabel('波动率');ylabel('期权价值');grid on
(作者单位:南京审计学院数学与统计学院)

 主要参考文献:
[1]罗琰,杨招军,张维.非完备市场欧式期权无差别定价研究[J].湖南大学学报(自科版),2011.9.
 [2]罗琰,覃展辉.随机收益流的效用无差别定价[J].重庆工商大学学报(自科版),2011.
 [3]邓留宝,李柏年,杨桂元.Matlab与金融模型分析[M].合肥工业大学出版社,2007.

如何使用matlab计算期权价格

2. 如何使用matlab计算期权价格

那几种期权的组合?据我所知,期权按估价方向可分为看涨期权和看跌期权,或者叫认估期权和认购期权。按行权期可分为欧式期权和美式期权。你所给出的图是按照卖出期权的人的盈亏而画的图形,因为他得赢利是有限得,即卖出期权所获得得期权费,而他得亏损可能是无限大的。而且卖出的该份期权是看涨期权,因为价格越高,亏损越多。我能看出的就这么多了,希望能对你有一点帮助。

3. 求助,亚式期权定价的matlab程序

比如说欧式期权定价的程序是这个 
function [callprice,putprice]=euro1(S,X,r,T,sigma,N)dt=T/N;u=exp(sigma*sqrt(dt));d=1/u;p=(exp(r*dt)-d)/(u-d);
for i=1:N+1    St(i)=S*power(u,i-1)*power(d,N+1-i);end
for i=1:N+1    Call(i)=max(St(i)-X,0);    Put(i)=max(X-St(i),0);end
for i=N:-1:1    for j=1:i        Call(j)=exp(-r*dt)*(p*Call(j+1)+(1-p)*Call(j));        Put(j)=exp(-r*dt)*(p*Put(j+1)+(1-p)*Put(j));    endend
callprice=Call(1);putprice=Put(1);

求助,亚式期权定价的matlab程序

4. 简单期权计算

95+4.7=99.7 这就是他的行权价格,如果股价到时候变成这么多,则他无任何损失跟盈利,若高于99.7,则他盈利,若低于99.7,则亏损
 
若直接买股票,涨跌各一半的风险
 
若买期权,股价涨则他的盈利等于行权价格减99.7,若跌他的亏损等于 99.7减 行权价格····

5. 如何使用matlab实现Black-Scholes期权定价模型

期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。    

如何使用matlab实现Black-Scholes期权定价模型

6. 如何使用matlab实现Black-Scholes期权定价模型

参考论文  期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。    关键词:Matlab;教学实践    基金项目:国家自然科学基金项目(70971037);教育部人文社科青年项目(12YJCZH128)    中图分类号:F83 文献标识码:A   收录日期:2012年4月17日    现代金融学与传统金融学最主要的区别在于其研究由定性分析向定量分析的转变。数理金融学即可认为是现代金融学定量分析分支中最具代表性的一门学科。定量分析必然离不开相应计算软件的应用,Matlab就是一款最为流行的数值计算软件,它将高性能的数值计算和数据图形可视化集成在一起,并提供了大量内置函数,近年来得到了广泛的应用,也为金融定量分析提供了强有力的数学工具。    一、Black-Scholes-Merton期权定价模型    本节先给出B-S-M期权定价模型的简单推导,下节给出B-S-M期权定价模型的Matlab的实现。设股票在时刻t的价格过程S(t)遵循如下的几何Brown运动:    dS(t)=mS(t)dt+sS(t)dW(t) (1)    无风险资产价格R(t)服从如下方程:    dR(t)=rR(t)dt (2)    其中,r,m,s>0为常量,m为股票的期望回报率,s为股票价格波动率,r为无风险资产收益率且有0<r<m;dW(t)是标准Brown运动。由式(1)可得:    lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■] (3)    欧式看涨期权是一种合约,它给予合约持有者以预定的价格(敲定价格)在未来某个确定的时间T(到期日)购买一种资产(标的资产)的权力。在风险中性世界里,标的资产为由式(1)所刻画股票,不付红利的欧式看涨期权到期日的期望价值为:■[max(S(T)-X,0)],其中■表示风险中性条件下的期望值。根据风险中性定价原理,不付红利欧式看涨期权价格c等于将此期望值按无风险利率进行贴现后的现值,即:    c=e-r(T-1)■[max{S(T)-X,0}] (4)    在风险中性世界里,任何资产将只能获得无风险收益率。因此,lnS(T)的分布只要将m换成r即可:    lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■] (5)    由式(3)-(4)可得欧式看涨期权价格:    c=S(t)N(d1)-Xe-r(T-1)N(d2) (6)    这里:    d1=■ (7)    d2=■=d1-s■ (8)    N(x)为均值为0标准差为1的标准正态分布变量的累积概率分布函数。S(t)为t时刻股票的价格,X为敲定价格,r为无风险利率,T为到期时间。欧式看跌期权也是一种合约,它给予期权持有者以敲定价格X,在到期日卖出标的股票的权力。    下面推导欧式看涨期权c与欧式看跌期权p的联系。考虑两个组合,组合1包括一个看涨期权加上Xe-r(T-1)资金,组合2包含一个看跌期权加上一股股票。于是,在到期时两个组合的价值必然都是:    max{X,S(T)} (9)    欧式期权在到期日之前是不允许提前执行的,所以当前两个组合的价值也必相等,于是可得欧式看涨期权与看跌期权之间的平价关系(put-call parity):    c+Xe-r(T-t)=p+S(t) (10)    由式(10)可得,不付红利欧式看跌期权的价格为:    p=Xe-r(T-t)N(-d2)-S(t)N(-d1) (11)    二、Black-Scholes-Merton模型的Matlab实现    1、欧式期权价格的计算。由式(6)可知,若各参数具体数值都已知,计算不付红利的欧式看涨期权的价格一般可以分为三个步骤:先算出d1,d2,涉及对数函数;其次计算N(d1),N(d2),需要查正态分布表;最后再代入式(6)及式(11)即可得欧式期权价格,涉及指数函数。不过,欧式期权价格的计算可利用Matlab中专有blsprice函数实现,显然更为简单:   [call,put]=blsprice(Price,Strike,Rate,Time,Volatility) (12)    只需要将各参数值直接输入即可,下面给出一个算例:设股票t时刻的价格S(t)=20元,敲定价格X=25,无风险利率r=3%,股票的波动率s=10%,到期期限为T-t=1年,则不付红利的欧式看涨及看跌期权价格计算的Matlab实现过程为:    输入命令为:[call,put]= blsprice(20,25,0.03,0.1,1)    输出结果为:call=1.0083 put=5.9334   即购买一份标的股票价格过程满足式(1)的不付红利的欧式看涨和看跌期权价格分别为1.0083元和5.9334元。    2、欧式期权价格的比较静态分析。也许纯粹计算欧式期权价格还可以不利用Matlab软件,不过在授课中,教师要讲解期权价格随个参数的变化规律,只看定价公式无法给学生一个直观的感受,此时可利用Matlab数值计算功能及作图功能就能很方便地展示出期权价格的变动规律。下面笔者基于Matlab展示欧式看涨期权价格随各参数变动规律:    (1)看涨期权价格股票价格变化规律    输入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;    c=blsprice(s,x,r,t,v);    plot(s,c,'r-.')    title('图1看涨期权价格股票价格变化规律');    xlabel('股票价格');ylabel('期权价值');grid on   (2)看涨期权价格随时间变化规律    输入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);    plot(t,c,'r-.')    title('图2看涨期权价格随时间变化规律');    xlabel('到期时间');ylabel('期权价值');grid on   (3)看涨期权价格随无风险利率变化规律    s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);    plot(r,c,'r-.')    title('图3看涨期权价格随无风险利率变化规律');    xlabel('无风险利率');ylabel('期权价值');grid on   (4)看涨期权价格随波动率变化规律    s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);    plot(v,c,'r-.')    title('图4看涨期权价格随波动率变化规律');    xlabel('波动率');ylabel('期权价值');grid on (作者单位:南京审计学院数学与统计学院)   主要参考文献: [1]罗琰,杨招军,张维.非完备市场欧式期权无差别定价研究[J].湖南大学学报(自科版),2011.9.  [2]罗琰,覃展辉.随机收益流的效用无差别定价[J].重庆工商大学学报(自科版),2011.  [3]邓留宝,李柏年,杨桂元.Matlab与金融模型分析[M].合肥工业大学出版社,2007.

7. matlab中用二叉树方法求欧式期权价格的script,求各位大神把脚本求出来啊,在线等挺急的

function EXS()
S=input('30:\n');%请输入当前股价
K=input('35:\n');%请输入股票执行价格
r=input('0.03:\n');%请输入无风险利率
theta=input('0.01:\n');%请输入波动率
T=input('2:\n');%请输入到期时间
bc=input('0.1:\n');%请输入步长
q=input('0.1:\n');%请输入股息率
KZ=input('1\n');%是否为看涨期权?若是请输入1,若不是请输入其他任意值
u=exp(theta*(T/bc)^0.5);

matlab中用二叉树方法求欧式期权价格的script,求各位大神把脚本求出来啊,在线等挺急的

8. 期权如何定价

  在期权运用中,大部分投资者无需知道模型的计算,不用拆解定价模型,只需要了解每个模型需要哪些因素、有什么差异、适用范围和优缺点,然后通过在期权计算器上输入变量即可得到期权的价格。期权行情软件也一般会自带期权计算器,直接给出理论价格。但是,缺点是投资者不知道这些理论价格采用的是哪个模型,也不知道输入的无风险利率以及价格波动水平等变量是多少。不过有些期权行情软件可以由投资者自行去设定无风险利率和波动率水平参数,另外,网上也有各种期权计算器。


  在分析定价模型前,先了解一下它的原理和假设条件。

  期权的定价模型源自“随机漫步理论”,也就是认为标的资产的价格走势是独立的,今天的价格和昨天的价格没有任何关系,即价格是无法预测的。另外,市场也需要是有效市场。在这个假设下,一连串的走势产生“正态分布”,即价格都集中在平均值周围,而且距离平均值越远,频率便越会下跌。

  举个例子,这种分布非常类似小孩玩的落球游戏。把球放在上方,一路下滑,最后落到底部。小球跌落在障碍物左边和右边的概率都是50%,自由滑落的过程形成随机走势,最后跌落到底部。这些球填补底部后,容易形成一个类似正态的分布。

  正态分布的定义比较复杂,但我们只需了解它是对称分布在平均值两边的、钟形的曲线,并且可以找出价格最终落在各个点的概率。在所有的潜在可能中,有68.26%的可能性是分布在正负第一个标准差范围内,有13.6%的可能性是分布在正负第二个标准差范围内,有2.2%的可能性是分布在正负第三个标准差范围内。

  期权的定价基础就是根据这个特征为基础的,即期权的模型是概率模型,计算的是以正态分布为假设基础的理论价格。但实际标的资产的价格走势并不一定是正态分布。比如,可能会出现像图片中的各种不同的状态。

  应用标准偏差原理的布林带指标,虽然理论上价格出现在三个标准偏差范围外的概率很低,只有0.3%(1000个交易日K线中只出现3次),但实际上,出现的概率远超过0.3%。因为期货价格或者说股票价格不完全是标准正态分布。两边的概率分布有别于标准正态分布,可能更分散,也可能更集中,表现为不同的峰度。比如股票价格的分布更偏向于对数正态分布。那么在计算期权价格的时候,有些模型会对峰度进行调整,更符合实际。

  另外,像股票存在成长价值,存在平均值上移的过程,而且大幅上涨的概率比大幅下跌的概率大,那么它的价格向上的斜率比向下的斜率大,所以平均值两边的百分比比例会不一样。为了更贴近实际,有些期权定价模型也会把偏度的调整计入定价。