你需要建立3个M文件:
1,KMVfun.m
function F=KMVfun(EtoD,r,T,EquityTheta,x)
d1=(log(x(1)*EtoD)+(r+0.5*x(2)^2)*T)/(x(2)*sqrt(T));
d2=d1-x(2)*sqrt(T);
F=[x(1)*normcdf(d1)-exp(-r*T)*normcdf(d2)/EtoD-1;
normcdf(d1)*x(1)*x(2)-EquityTheta];
2,KMVOptSearch.m
function [Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta)
EtoD=E/D;
x0=[1,1];
VaThetaX=fsolve(@(x)KMVfun(EtoD,r,T,EquityTheta,x),x0);
Va=VaThetaX(1)*E;
AssetTheta=VaThetaX(2);
3,KMVcompute.m
r=0.0328;%数值可以更改,下同
T=1;
DP=57850.53;
D=58254.28;
EquityTheta=0.8352;
E=155221.03;
[Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta)
DD=(Va-DP)/(Va*AssetTheta)
最后运行KMVcompute.m即可!
|