[買入,賣出] = TrinomialEuro(s0,k,T,n,r,sigma)
% s0基礎資產價格
% k行使價
% T到期日期
步驟數百分比
%無風險利率
% sigma庫存變動率
deltat = T/n;
u = exp(sigma * sqrt(deltat));
d = 1/u;
m = 1;
p=(exp(2*r*deltat)+sigma^2*deltat-(d+1)*exp(r*deltat)+d)/((u^2-1)-(u-
1)*(d+1));
q =(exp(r * deltat)-1-(u-1)* P)/(d-1);
m = 1-Q-P;
為
i=1:n+1
為
j=1:n+2-i
s(i,j)=s0*u^(i-1)*m^(j-1)*d^(n+2-i-j);
w(i,j)=nchoosek(n,i-1)*p^(i-1)*nchoosek(n+1-i,j-1)*m^(j-1)*q^(n+2-i-j
);
x(i,j)=max(s(i,j)-k,0);
y(i,j)=max(k-s(i,j),0);
cv(i,j)=w(i,j)*x(i,j);
pv(i,j)=w(i,j)*y(i,j);
結束
結束
call = sum(cv(:)* exp(-r * T);
put = sum(PV(:)* exp(-r * T);
price = max(exp(-r * deltat)*(p * f(1,1)+q*f(1,2)),0);