期权在matlab中的论文,[转载]期权定价的Matlab实现(以欧式看涨期权为例)
二叉树模型
考虑到欧式期权的特性,忽略中间过程,直接关注末期状态及其概率分布。
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实现(以欧式看涨期权为例)相关推荐
- matlab中e用什么表示什么,matlab中e怎么表示
方法/步骤 1.自然数对数 log(x) 我们在MATLAB主窗口中输入a1=log(2.7183),回车,我们可以看到a1近似为1,e约等 于2. MATLAB中 如何输入对数函数? 方法/步骤 1 ...
- fname什么意思matlab,matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思?
导航:网站首页 > matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思? matlab中f(:,1)是什么意思 matlab中f(:,:,3)是什么意思? 相关问题: ...
- matlab的length是什么,大家好!matlab中length是什么意思?,matlab中的length表示什么?应该如何使用?...
导航:网站首页 > 大家好!matlab中length是什么意思?,matlab中的length表示什么?应该如何使用? 大家好!matlab中length是什么意思?,matlab中的leng ...
- matlab中 y =ft(x)的意思,matlab中y=fft(x)语句的意思
matlab傅里叶变换中fft(x,n),x,n分别是什么含义? fft(x,n)是一维快速傅里叶变换,x相当于信号,n是变换点数.离散傅里叶变换DFT的快速算法就是FFT. matlab中FFT函数 ...
- matlab中ode指令,[转载]MATLAB中ODE的使用
ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二三阶算法.ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四五阶算法.ode113 解非刚性微分方程,变精度 ...
- matlab怎么提取小数部分,[转载]如何在Matlab中得到一个单、双精度数的整数部分和小数部分?...
对于一个单.双精度数,获得其单独的整数部分或小数部分在一些程序中有特殊的作用.如对一个数进行去模运算.对一幅图像进行剪切使其高.宽是某个数的整数倍等等. 对于取整,在C语言中有专门的取整符号[],在M ...
- 在matlab中使用spm8,[转载]在matlab中同时使用spm2,spm5,spm8
1.设置好spm2,spm5,spm8的路径.例如,都放置在"D:Analysis_Software" 2.新建一个文件夹spm_paths,用于放置调用spm2,spm5,spm ...
- matlab中load函数是什么意思,MATLAB中load函数的用法
转载自https://ww2.mathworks.cn/help/matlab/ref/load.html load 将文件变量加载到工作区中全页折叠 语法load(filename)load(fil ...
- 如何在matlab中建立水箱模型_在MATLAB中实现水箱液位控制系统的设计
在 MATLAB 中实现水箱液位控制系统的设计 [摘要] 本论文的目的是设计双容水箱液位串级控制系统. 在设计中充分利 用计算机技术, 自动控制技术, 以实现对水箱液位的串级控制. 首先对被控对象 的 ...
最新文章
- asp.net实现在网页上自动显示超链接以及Email地址
- 大数据与智能算法(三-集疏运应用)-SMU在线学习笔记
- 关于NullPointerException
- boost::system::error_code相关的测试程序
- 新商业蓝皮书2021
- Ubuntu删除和新建用户
- JS-深入理解继承(非class方式与class继承)
- mysql创建存储过程意义_浅谈一下mySql中创建存储过程
- 正经程序员是怎么完美度过元旦假期的?
- python中可变集合set和不可变集合frozenset的区别
- 后台处理客户端控件上传的文件(input type=file)
- C++的隐式转换和explicit关键字
- dede后台登陆提示 验证码不正确 解决办法
- mac 10.8 montion lion 山狮系统上 安装 rails 和 oci8 连 oracle 数据库
- 戴尔服务器r330系统设置,DELL台式机330的BIOS设置中文图解
- noip2007 守望者的逃离 (贪心)
- 5G无用时代的终结—从iPhone 12系列到vivo 6G应用场景的展望
- openssl RSA 内存读取密钥
- English Summary~August
- aaron note mysql
热门文章
- c语言socket教学视频,C语言—— socket编程
- html复选框美化插件,Labelauty – jQuery单选框/复选框美化插件
- 【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】
- 易语言c编译程序集,植物大战僵尸。易语言.版本 2.程序集 窗口程序集1.程序集...
- 《用户思维 众创时代下的用户获取.体验.转化与留存》读书笔记
- 项目经理用一个计算机模型估算成本,PMP每日一练
- 《打开量化投资的黑箱》 阅读笔记
- 技校计算机专业都学什么课程,技校人工智能主要学什么 人工智能专业是什么...
- tp6 使用lock_关于thinkphp连贯操作加锁的详细介绍lock
- Petri网pnml解析成关联矩阵后生成可达图