赞
踩
最近学习了一点简单的matlab,之前打算边做边发,但是在腐国csdn很难打开,于是回来集中发一下几个代码。
环境:Matlab R2014b, 64bit.
1. 用matlab实现使用蒙地卡罗方法对期权估值
%Monte Carlo Simulation
%Option value -- Average payoff -- Payoff -- Expiry price
S0=100;
StrikePrice=100;
T=1;
sig=0.3;
r=0.05;
n=1000000;
payoff=0;
sumOfPayoff=0;
optionValue=0;
profit=0;
for i=1:n
S_expiry = S0*exp((r-0.5*sig^2)*T+sig*T^0.5*randn);
payoff = max ((S_expiry - StrikePrice),0) ; %payoff different accr.
sumOfPayoff = sumOfPayoff + payoff;
end
optionValue=exp(-r*T)*(1/n)*sumOfPayoff;
optionValue
% profit= max ((x- StrikePrice),0)-optionValue ;
% plot(profit);
要点有三:
1) 核心在于用lognormal random walk的公式预测asset在expiry的价格,S_expiry = S0*exp((r-0.5*sig^2)*T+sig*T^0.5*r
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。