二叉树模型:
欧式期权:
function [] = binomialeuro(T,n,k,r,sigma,s0,z)
T % expiration date
n % total number of periods
k % exercise price
r % risk free interest rate
sigma % volatility of
s0 % present price
deltat = T/n
z % devidend
u=exp(sigma*sqrt(deltat));
d=exp(-sigma*sqrt(deltat));
p=(exp((r-z)*deltat)-d)/(u-d);
q=1-p;
for i=1:n+1
s(i)=s0*u^(n+1-i)*d^(i-1); % stock price
w(i)=nchoosek(n,i-1)*p^(n+1-i)*q^(i-1); % probability
x(i)=max(s(i)-k,0); % call option price
y(i)=max(k-s(i),0); % put option price
cv(i)=w(i)*x(i);
pv(i)=w(i)*y(i);
end
C=sum(cv(:))*exp(-r*T)
P=sum(pv(:))*exp(-r*T)
美式看跌期权:
function [] = binomialamer(T,n,k,r,sigma,s0,z)
T % expiration date
n % total number of periods
k % exercise price
r % risk free interest rate
sigma % volatility of
s0 % present price
deltat = T/n
z % devidend
u=exp(sigma*sqrt(deltat));
d=exp(-sigma*sqrt(deltat));
p=(exp((r-z)*deltat)-d)/(u-d);
q=1-p;
for j=1:n
for i=1:j+1
s(j,i)=s0*u^(j+1-i)*d^(i-1);
y(j,i)=max(k-s(j,i),0);
end
end
for w=1:n
f(n-1,w)=max(y(n-1,w),exp(-r*deltat)*(p*y(n,w)+q*y(n,w+1)));
end
for g=n-2:-1:1
for h=1:g+1
f(g,h)=max(y(g,h),exp(-r*deltat)*(p*f(g+1,h)+q*f(g+1,h+1)));
end
end
P=max(exp(-r*deltat)*(p*f(1,1)+q*f(1,2)),0)


雷达卡


京公网安备 11010802022788号







