求教利用指数效用函数做期权套期保值的matlab程序
发布:lbing2010 | 分类:Matlab软件培训
关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
获取电子版《CDA一级教材》
完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。
TOP热门关键词
源于MichaelMonoyio2004年在JournalofEconomicDynamics&Control杂志上发表的一篇论文OptionpricingwithtransactioncostsusingaMarkovchainapproximation,本人利用文中的算法编了一个matlab程序,利用最大化到 ...
免费学术公开课,扫码加入![]() |
%编写求t=M*deltat时刻价值函数的文件(就不采取买卖交易的情形),之后就可调用
%不带期权的
function f=cfv(n,y)
global p gama S M;
f=p*(-exp(-gama*y*S(M+1,n+1)))+(1-p)*(-exp(-gama*y*S(M+1,n)));
return;
%带期权的
function f=cfvw(n,y)
global p gama S K M;
if K<S(M+1,n)
f=p*(-exp(-gama*(y*S(M+1,n+1)+S(M+1,n+1)-K)))+(1-p)*(-exp(-gama*(y*S(M+1,n)+S(M+1,n)-K)));
elseif K>=S(M+1,n+1)
f=p*(-exp(-gama*y*S(M+1,n+1)))+(1-p)*(-exp(-gama*y*S(M+1,n)));
else
f=p*(-exp(-gama*(y*S(M+1,n+1)+S(M+1,n+1)-K)))+(1-p)*(-exp(-gama*y*S(M+1,n)));
end
return;
%编写一个求两个变量差的正部的函数
function f=Identifyf(a,b)
if a>b
f=a-b;
else
f=0;
end
return;
以上都是M文件。
global p gama S K M;
T=1;M=50;deltat=T/M;sigma=0.25;S0=15;K=15;r=0.15;mu=0.15;
lamda=0.005;gama=0.1;R=exp(r*deltat);
II=ones(M+1,M+1);S=II;
deltay=1*deltat;
p=0.5*(1+mu/sigma*deltat^0.5);
u=exp(sigma*deltat^0.5);d=exp(-sigma*deltat^0.5);
%将S二叉树划
for m=1:(M+1)
for n=1:m
S(m,n)=S0*u^(2*n-m-1);
end
end
%求t=M*deltat时的买卖NT边界上的价值函数
yu0=-3*II;yl0=-3*II;yuw=-3*II;ylw=-3*II;yu=-3*II;yl=-3*II;
for n=1:M
%不带期权
yu0(M,n)=(gama*S(M,n)*(u-d))^(-1)*log((p*(u-R*(1-lamda)))/((1-p)*(R*(1-lamda)-d)));
yl0(M,n)=(gama*S(M,n)*(u-d))^(-1)*log((p*(u-R*(1+lamda)))/((1-p)*(R*(1+lamda)-d)));
Ql0(M,n)=cfv(n,yl0(M,n));
Qu0(M,n)=cfv(n,yu0(M,n));
%带期权
yuw(M,n)=(gama*S(M,n)*(u-d))^(-1)*(log((p*(u-R*(1-lamda)))/((1-p)*(R*(1-lamda)-d)))+(Identifyf(S(M+1,n+1),K)-Identifyf(S(M+1,n),K))*gama);
ylw(M,n)=(gama*S(M,n)*(u-d))^(-1)*(log((p*(u-R*(1+lamda)))/((1-p)*(R*(1+lamda)-d)))+(Identifyf(S(M+1,n+1),K)-Identifyf(S(M+1,n),K))*gama);
Qlw(M,n)=cfvw(n,ylw(M,n));
Quw(M,n)=cfvw(n,yuw(M,n));
end
miny0=min(yl0(M,1:M));maxy0=max(yu0(M,1:M));
minyw=min(ylw(M,1:M));maxyw=max(yuw(M,1:M));
t0=ceil((maxy0-miny0)/deltay)+1;tw=ceil((maxyw-minyw)/deltay)+1;
%求t=M*deltat时刻,最大NT区域的价值函数
II0=ones(M,t0);Q0=II0;Q1=II0;IIw=ones(M,tw);Qw=IIw;Q2=IIw;
%不带期权
for n=1:M
for t=1:t0
y=miny0+(t-1)*deltay;
if yl0(M,n)<=y<=yu0(M,n)
Q0(n,t)=cfv(n,y);
elseif yl0(M,n)>y
Q0(n,t)=exp(gama*R*(1+lamda)*S(M,n)*(yl0(M,n)-y))*Ql0(M,n);
else
Q0(n,t)=exp(gama*R*(lamda-1)*S(M,n)*(y-yu0(M,n)))*Qu0(M,n);
end
end
end
%带期权
for n=1:M
for t=1:tw
y=minyw+(t-1)*deltay;
if ylw(M,n)<=y<=yuw(M,n)
Qw(n,t)=cfvw(n,y);
elseif ylw(M,n)>y
Qw(n,t)=exp(gama*R*(1+lamda)*S(M,n)*(ylw(M,n)-y))*Qlw(M,n);
else
Qw(n,t)=exp(gama*R*(lamda-1)*S(M,n)*(y-yuw(M,n)))*Quw(M,n);
end
end
end
%依次用后向递推探测任一时刻的NT下界、NT上界以及最大NT区域内的价值函数
%不带期权
for m=(M-1):(-1):1
R1=exp(r*(M+1-m)*deltat);
for n=1:m
%NT下界
for t=1:t0
Q(t)=exp(gama*R1*(1+lamda)*t*deltay*S(m,n))*(p*Q0(n+1,t)+(1-p)*Q0(n,t));
end
[QQ,l]=max(Q);
Ql0(m,n)=QQ;yl0(m,n)=miny0+(l-1)*deltay;
clear QQ,y;
%NT上界
for t=1:t0
Q(t)=exp(gama*R1*(lamda-1)*(t0+1-t)*deltay*S(m,n))*(p*Q0(n+1,t)+(1-p)*Q0(n,t));
end
[QQ,u]=max(Q);
Qu0(m,n)=QQ;yu0(m,n)=miny0+(u-1)*deltay;
clear QQ,y;
%最大NT区域的价值函数
for t=1:t0
y=miny0+(t-1)*deltay;
if yl0(m,n)<=y<=yu0(m,n)
Q1(n,t)=p*Q0(n+1,t)+(1-p)*Q0(n,t);
elseif yl0(m,n)>y
Q1(n,t)=exp(gama*R1*(1+lamda)*S(m,n)*(yl0(m,n)-y))*Ql0(m,n);
else
Q1(n,t)=exp(gama*R1*(lamda-1)*S(m,n)*(y-yu0(m,n)))*Qu0(m,n);
end
end
end
Q0=Q1;
end
%带期权
for m=(M-1):(-1):1
R1=exp(r*(M+1-m)*deltat);
for n=1:m
%NT下界
for t=1:tw
Q(t)=exp(gama*R1*(1+lamda)*t*deltay*S(m,n))*(p*Qw(n+1,t)+(1-p)*Qw(n,t));
end
[QQ,l]=max(Q);
Qlw(m,n)=QQ;ylw(m,n)=minyw+(l-1)*deltay;
clear QQ,l;
%NT上界
for t=1:tw
Q(t)=exp(gama*R1*(lamda-1)*(tw+1-t)*deltay*S(m,n))*(p*Qw(n+1,t)+(1-p)*Qw(n,t));
end
[QQ,u]=max(Q);
Quw(m,n)=QQ;yuw(m,n)=minyw+(u-1)*deltay;
clear Q,u;
%最大NT区域的价值函数
for t=1:tw
y=minyw+(t-1)*deltay;
if ylw(m,n)<=y<=yuw(m,n)
Q2(n,t)=p*Qw(n+1,t)+(1-p)*Qw(n,t);
elseif ylw(m,n)>y
Q2(n,t)=exp(gama*R1*(1+lamda)*S(m,n)*(ylw(m,n)-y))*Qlw(m,n);
else
Q2(n,t)=exp(gama*R1*(lamda-1)*S(m,n)*(y-yuw(m,n)))*Quw(m,n);
end
end
end
Qw=Q2;
end
clear tw t0 y Q0 Q1 Q2 Qw;
yl=ylw-yl0;yu=yuw-yu0;
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
您可能感兴趣的文章
人气文章
本文标题:求教利用指数效用函数做期权套期保值的matlab程序
本文链接网址:https://bbs.pinggu.org/jg/ruanjianpeixun_matlabruanjianpeixun_1361224_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。



