如何在matlab中用蒙特卡洛模拟计算欧式期权价格

2024-05-18 21:28

1. 如何在matlab中用蒙特卡洛模拟计算欧式期权价格

function [c,p]=ucoption(S,X,sigma,r,T,M)
sig2=sigma^2;
srT=sqrt(T);
srTa=sigma*srT;
c=0;
p=0;
for i=1:M
    ST=S*exp((r-0.5*sig2)*T+srTa*randn);
    c=c+max(ST-X,0);
    p=p+max(X-ST,0);
end
c=c/M;
p=p/M;
[Call,Put] = blsprice(S, X, r, T, sigma);
error=[c,p]-[Call,Put]

%可以试试 [c,p]=ucoption(10,10,0.3,0.05,0.5,10^4*100);

如何在matlab中用蒙特卡洛模拟计算欧式期权价格

2. 如何用matlab编写蒙特卡洛模拟计算VaR的程序

这种资源建议去官网论坛或者一些其他比较知名的大论坛里咨询
如果曾经有人在网上发布,或有网站下载,一般都会被搜索引擎收录,如果搜不到,你可以找一下相关的论坛
最好是那种人气比较高的论坛,注册会员,发帖求助,会有高手帮你的。

3. 如何使用MATLAB进行蒙特卡洛模拟

蒙特卡洛方法于MATLAB中的使用 以我目前粗浅的理解 就是给定参数范围 利用for等循环语句 来进行大量次数的模拟 得出最接近理想值的结果

如何使用MATLAB进行蒙特卡洛模拟

4. 如何利用蒙特卡罗模拟计算期权组合的VaR,求思路

LAMMPS是专门做分子动力学(MD)模拟的程序。它跟蒙卡完全是两种截然不同的方法。简单的蒙卡code规模很小,你可以自己写 —— 需要一个随机数发生器,一个抽样算法(比如metropolis,接近临界时可用swendson-wang),一个构型空间(如离散化的模型.

5. 结合实际问题浅谈如何使用蒙特卡罗算法模拟投

在保证算法和历史数据正确的前提下我们使用计算机模拟主要有以下优点:
1.给最终决策者一个可信的经验数据做参考
2.计算机可以不知疲倦地分析海量信息.并且可以应用多种复杂的模拟算法同时验证
3.算法一般由多人开发,常用算法经过多家公司实践,分析方法较为可靠.
4.最大程序上避免了由个人或团队凭经验决策而出现的投资误判.

实例:
我们要投资1000万给某个项目.该项目预期年销售收入670万元,年销售税金15万元,年经营成本390万元.年折旧费65万元.以项目的投资利润作为项目的考核指标.而项目的年销售收入和年经营成本为不确定因素.我们期望利润率在15%以上.
通过上面的描述可知:
经验利润率 = 年利润率总额/投资总额 = (670-15-390-65)/1000 = 20%
依据经验可知如果该项目利润率大于15%,则该项目具有可行性.但是事实可能跟我们想的不一样,所以就需要做风险分析.
在金融风险分析中,敏感度分析是常用的手段之一.

敏感度分析是指从众多不确定性因素中找出对投资项目经济效益指标有重要影响的敏感性因素

结合实际问题浅谈如何使用蒙特卡罗算法模拟投

6. 谁有最小二乘蒙特卡洛方法的美式期权定价python程序代码

function [c,p]=ucoption(S,X,sigma,r,T,M) sig2=sigma^2; srT=sqrt(T); srTa=sigma*srT; c=0; p=0; for i=1:M ST=S*exp((r-0.5*sig2)*T+srTa*randn); c=c+max(ST-X,0); p=p+max(X-ST,0); end c=c/M; p=p/M; [Call,Put] = blsprice(S, X, r, T, ...

7. 什么是期权调整价差

  瑞迅财经为你解答:
  行权调整价格是因为,公司拿出现金分红了,那么公司的每股净资产就降低了,所以要在每股的原价格上减去每股分到的红利,就是行权后的价格~如果还赠股和送股的话,那么每股的价格行权后就是原来的价格分到送配后的总的股份上。

  股票期权: 期权是指在未来一定时期可以买卖的权力,是买方向卖方支付一定数量的金额(指权利金)后拥有的在未来一段时间内(指美式期权)或未来某一特定日期(指欧式期权)以事先规定好的价格(指履约价格)向卖方购买或出售一定数量的特定标的物的权力,但不负有必须买进或卖出的义务。期权交易事实上是这种权利的交易。买方有执行的权利也有不执行的权利,完全可以灵活选择。 期权分场外期权和场内期权。场外期权交易一般由交易双方共同达成。
  行权是指权证持有人要求发行人按照约定时间、价格和方式履行权证约定的义务。
  美式行权(A):指权证持有人有权在期权存续期内的任何时候执行期权,包括期前和到期日(即一般情况下,行权起始日=权证挂牌首日,行权截止日=权证到期日)。
  欧式行权(E):只能在权证到期日行权(即行权起始日=行权截止日=权证到期日)。
  百慕大混合式(B):介于美式与欧式之间,持有人有权在到期日之前的一个或者多个日期行权(即行权起始日=<行权截止日=<权证到期日)。
  证券给付结算方式:指权证持有人行权时,发行人有义务按照行权价格向权证持有人出售或购买标的证券,即认购权证的持有人行权时,应支付依行权价格及标的证券数量计算的价款,并获得约定数量的标的证券;认沽权证的持有人行权时,应交付约定数量的标的证券,并获得依行权价格及标的证券数量计算的价款。
  现金结算方式:指权证持有人行权时,发行人按照约定向权证持有人支付行权价格与标的证券结算价格之间差额的现金。
更多问题关注威信r,x,1,9,8,8,com,祝你投资愉快!

什么是期权调整价差

8. 如何使用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.
最新文章
热门文章
推荐阅读