当前位置:文档之家› 蒙特卡洛期权定价程序

蒙特卡洛期权定价程序

欧式期权蒙特卡洛模拟程序
function [eucall,varprice,ci]=blsmc(S0,K,r,T,sigma,N)
% 输入参数
%S0 初使资产价格T 到期时间
% K敲定价格
% r无风险利率
% sigma 波动率
% N 模拟次数
%%%%%%%%
%输出参数
%eucall 欧式期权价格
%varprice 方差
% ci 95%置信区间
randn('seed',0);
randT=randn(N,1);
nuT=(r-sigma^2/2)*T;
siT=sigma*sqrt(T);
dispayoff=exp(-r*T)*max(0,S0*exp(nuT+siT*randT)-K); [eucall,varprice,ci]=normfit(dispayoff);
蒙特卡洛模拟亚式期权
%Asianmc.m
function [p,aux,ci]=Asianmc(S0,K,r,T,sigma,NRteps,NRepl)
% 蒙特卡洛模拟亚式期权
% 输入参数
%S0 初使资产价格
% T 到期时间
% K敲定价格
% r无风险利率
% sigma 波动率
% NSteps 时间离散数目
% NRepl 模拟次数
%%%%%%%%
%输出参数
%p 权价格
%varprice 方差
% ci 95%置信区间
dt=T/NRteps;
nudt=(r-.5*sigma^2)*dt;
sidt=sigma*sqrt(dt);
randn('seed',0);
randt=randn(NRepl,NRteps);
rand1=nudt+sidt*randt;
rand2=cumsum(rand1,2);%按列求和
path=S0*exp(rand2);
payoff=zeros(NRepl,1);
for i=1:NRepl
payoff(i)=exp(-r*T)*max(0,mean(path(i,:))-K); end
[p,aux,ci]=normfit(payoff);。

相关主题