⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 carrchou.m

📁 用matlab实现障碍期权的复制
💻 M
字号:
function [output value]=CarrChou(int,down,out,So,strike,...
B,K,x,sigma,r,q,term)
K=fliplr(K);
x=fliplr(x);
p=1-2*(r-q)/sigma^2;
n=length(K);
P=zeros(n,n);
for i=1:n;
P(:,i)=max(down*(K(1,i)-x'),0);
end;
gvec=(-1*(x'./B).^p).*max(int*(B^2./x'-strike),0);
gvec=gvec-max(int*(x'-strike),0);
alphaout=P\gvec;
[call put]=blsprice(So,K,r,term,sigma,q);
[C1 P1]=blsprice(So,strike,r,term,sigma,q);
priceout=(put*(0.5*down+0.5)+call*(-0.5*down+0.5))*alphaout+...
C1*(0.5*int+0.5)+P1*(-0.5*int+0.5);
alpha=[1;alphaout]*out+[0;-alphaout]*(1-out);
TypeOfOption=[int;ones(length(alphaout),1)*(-down)];
pricevec=[C1*(0.5*int+0.5)+P1*(-0.5*int+0.5);...
(put*(0.5*down+0.5)+call*(-0.5*down+0.5))'];
output=[alpha [strike K]' TypeOfOption pricevec];
value=priceout*out+...
(C1*(0.5*int+0.5)+P1*(-0.5*int+0.5)-priceout)*(1-out);
disp(' Position K Type Price');
disp(output)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -