二叉树模型

考虑到欧式期权的特性,忽略中间过程,直接关注末期状态及其概率分布。

function price=bino(s,k,r,t,v,n)

dt=t/n;

u=exp(v*sqrt(dt));

d=1/u;

p=(exp(r*dt)-d)/(u-d);

for i=0:n

st(i+1)=s*power(u,n-i)*power(d,i);

prob(i+1)=nchoosek(n,i)*power(p,n-i)*power((1-p),i);

end

f=max(st-k,0);

price=prob*f'*exp(-r*t);

end

蒙特卡洛模拟

在此加入对偶变量,减小模拟结果的方差。

%Advanced Monte Carlo method

function eucall=blsmca(s,k,r,t,v,n)

randn('seed',0);

nt=(r-.5*v^2)*t;

sit=v*sqrt(t);

rand=randn(n,1);

discpayoff=exp(-r*t)*max(0,s*exp(nt+sit*rand)-k);

discpayoffl=exp(-r*t)*max(0,s*exp(nt+sit*(-rand))-k);

[eucall,varprice,ci]=normfit([discpayoff;discpayoffl]);

end

有限差分方法

在此为了减小运算量,采用显示有限差分法。(在隐式有限差分法中,需要求解方程)

function mx=fd(s,k,r,t,v)

smax=200;

ds=5;

dt=t/10;

M=round(smax/ds);

N=round(t/dt);

ds=smax/M;

dt=t/N;

mx=zeros(M+1,N+1);

mx(:,1)=smax:-ds:0;

mx(:,N+1)=max(mx(:,1)-k,0);

mx(1,2:N)=smax-k;

mx(M+1,2:N)=0;

vj=2:M;

a=1/(1+r*dt)*(-1/2*r*vj*dt+1/2*v^2*vj.^2*dt);

b=1/(1+r*dt)*(1-v^2*vj.^2*dt);

c=1/(1+r*dt)*(1/2*r*vj*dt+1/2*v^2*vj.^2*dt);

for i=N:-1:2

for

j=2:M

mx(j,i)=a(i)*mx(j-1,i+1)+b(i)*mx(j,i+1)+c(i)*mx(j+1,i+1);

end

end

end

另外,MATLAB中的blkprice函数和blsprice函数算出来得期权价值相差较大,个人觉得布莱克近似模型的有效性值得商榷。

期权在matlab中的论文,[转载]期权定价的Matlab实现(以欧式看涨期权为例)相关推荐

  1. matlab中e用什么表示什么,matlab中e怎么表示

    方法/步骤 1.自然数对数 log(x) 我们在MATLAB主窗口中输入a1=log(2.7183),回车,我们可以看到a1近似为1,e约等 于2. MATLAB中 如何输入对数函数? 方法/步骤 1 ...

  2. fname什么意思matlab,matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思?

    导航:网站首页 > matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思? matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思? 相关问题: ...

  3. matlab的length是什么,大家好!matlab中length是什么意思?,matlab中的length表示什么?应该如何使用?...

    导航:网站首页 > 大家好!matlab中length是什么意思?,matlab中的length表示什么?应该如何使用? 大家好!matlab中length是什么意思?,matlab中的leng ...

  4. matlab中 y =ft(x)的意思,matlab中y=fft(x)语句的意思

    matlab傅里叶变换中fft(x,n),x,n分别是什么含义? fft(x,n)是一维快速傅里叶变换,x相当于信号,n是变换点数.离散傅里叶变换DFT的快速算法就是FFT. matlab中FFT函数 ...

  5. matlab中ode指令,[转载]MATLAB中ODE的使用

    ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二三阶算法.ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四五阶算法.ode113 解非刚性微分方程,变精度 ...

  6. matlab怎么提取小数部分,[转载]如何在Matlab中得到一个单、双精度数的整数部分和小数部分?...

    对于一个单.双精度数,获得其单独的整数部分或小数部分在一些程序中有特殊的作用.如对一个数进行去模运算.对一幅图像进行剪切使其高.宽是某个数的整数倍等等. 对于取整,在C语言中有专门的取整符号[],在M ...

  7. 在matlab中使用spm8,[转载]在matlab中同时使用spm2,spm5,spm8

    1.设置好spm2,spm5,spm8的路径.例如,都放置在"D:Analysis_Software" 2.新建一个文件夹spm_paths,用于放置调用spm2,spm5,spm ...

  8. matlab中load函数是什么意思,MATLAB中load函数的用法

    转载自https://ww2.mathworks.cn/help/matlab/ref/load.html load 将文件变量加载到工作区中全页折叠 语法load(filename)load(fil ...

  9. 如何在matlab中建立水箱模型_在MATLAB中实现水箱液位控制系统的设计

    在 MATLAB 中实现水箱液位控制系统的设计 [摘要] 本论文的目的是设计双容水箱液位串级控制系统. 在设计中充分利 用计算机技术, 自动控制技术, 以实现对水箱液位的串级控制. 首先对被控对象 的 ...

最新文章

  1. asp.net实现在网页上自动显示超链接以及Email地址
  2. 大数据与智能算法(三-集疏运应用)-SMU在线学习笔记
  3. 关于NullPointerException
  4. boost::system::error_code相关的测试程序
  5. 新商业蓝皮书2021
  6. Ubuntu删除和新建用户
  7. JS-深入理解继承(非class方式与class继承)
  8. mysql创建存储过程意义_浅谈一下mySql中创建存储过程
  9. 正经程序员是怎么完美度过元旦假期的?
  10. python中可变集合set和不可变集合frozenset的区别
  11. 后台处理客户端控件上传的文件(input type=file)
  12. C++的隐式转换和explicit关键字
  13. dede后台登陆提示 验证码不正确 解决办法
  14. mac 10.8 montion lion 山狮系统上 安装 rails 和 oci8 连 oracle 数据库
  15. 戴尔服务器r330系统设置,DELL台式机330的BIOS设置中文图解
  16. noip2007 守望者的逃离 (贪心)
  17. 5G无用时代的终结—从iPhone 12系列到vivo 6G应用场景的展望
  18. openssl RSA 内存读取密钥
  19. English Summary~August
  20. aaron note mysql

热门文章

  1. c语言socket教学视频,C语言—— socket编程
  2. html复选框美化插件,Labelauty – jQuery单选框/复选框美化插件
  3. 【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】
  4. 易语言c编译程序集,植物大战僵尸。易语言.版本 2.程序集 窗口程序集1.程序集...
  5. 《用户思维 众创时代下的用户获取.体验.转化与留存》读书笔记
  6. 项目经理用一个计算机模型估算成本,PMP每日一练
  7. 《打开量化投资的黑箱》 阅读笔记
  8. 技校计算机专业都学什么课程,技校人工智能主要学什么 人工智能专业是什么...
  9. tp6 使用lock_关于thinkphp连贯操作加锁的详细介绍lock
  10. Petri网pnml解析成关联矩阵后生成可达图