matlab金融分析实验

matlab实验

10人已加入

描述

matlab金融分析实验

12.1知识要点和背景:最优投资组合及其计算

12.1.1包含无风险证券的投资组合
12.1.2无风险证券投资组合的计算
mzy1.m
【   ra=0.12;rb=0.08;rf=0.06;rp=0.1;
Aeq=[ra,rb,rf;1 1 1];beq=[rp 1]';lb=[0 0 -100]';
x0=[1 1 1]'/3;
[x,fval]=fmincon('mzy1f',x0,[],[],Aeq,beq,lb,[],[]),
pause;x0=x
[x,fval]=fmincon('mzy1f',x0,[],[],Aeq,beq,lb,[],[]),
 x0=[6/19,20/19,-7/19]    】
mzy1f.m
【    function f=mzy1f(x)
 v(1,1)=10;v(1,2)=0;v(1,3)=0;v(2,1)=0;v(2,2)=1;v(2,3)=0;v(3,:)=0;
  f=x'*v*x;      】
12.2 机会的价值
12.2.1 简单二项式模型机会价值
 以上计算方法是从期末开始向期初倒推,称为后向式动态规划。Maltab程序为:
mzy2.m           % 一期二项式方法计算Call options
【    clear;
S0=input('输入当前股票价格:');
E=input('输入协定执行价格:');
u=input('输入上升比例u:');
d=input('输入下降比例d:');
r=input('输入无风险利率r:');
if any(S0 <= 0 | E<=0 | r<0 | u<=0 | d<0 | u<1+r | 1+r    error(sprintf('输入 S0, E, u, d 和 r > 0. 输入 u>(1+r)>d.'))
    break
end
fu=max(u*S0-E,0);fd=max(d*S0-E,0);
p=(1+r-d)/(u-d);f=(p*fu+(1-p)*fd)/(1+r);
disp('所求的合约价值为:');f  】

12.2.2  两期二项式模型机会价值
mzy3.m        (一期二项式方法计算Call options)
【   clear;
SO=input('输入当前股票价格:');
E=input('输入协定执行价格:');
u=input('输入上升比例u:');
d=input('输入下降比例d:');
r=input('输入无风险利率r:');
if any(SO <= 0 | E<=0 | r<0 | u<=0 | d<0 | u<1+r | 1+r   error(sprintf('输入 SO, E, u, d 和 r > 0. 输入 u>(1+r)>d.'))
   break
end
fuu=max(u*u*SO-E,0);fud=max(u*d*SO-E,0);
fdd=max(d*d*SO-E,0);p=(1+r-d)/(u-d);
fu=(p*fuu+(1-p)*fud)/(1+r);fd=(p*fud+(1-p)*fdd)/(1+r);
f=(p*fu+(1-p)*fd)/(1+r);
disp('所求的合约价值为:'); f       】
12.2.3 观察与思考

200多个MATLAB经典教程和MATLAB论文请查看matlab教程

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • matlab

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分