matlab实验
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
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
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教程
全部0条评论
快来发表一下你的评论吧 !