先写一个kmvfun.m文件
function F = KMVfun(EtoD,r,T,EquityTheta,x)
%KMVfun
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];
end
再写一个KMVOptSearch.m文件
function [Va,AssetTheta] = KMVOptSearch(E,D,r,T,EquityTheta)
%KMVOptSearch
EtoD = E/D;
x0 = [1,1];
VaThetax = fsolve(@(x)KMVfun(EtoD,r,T,EquityTheta,x),x0);
Va = VaThetax(1)*E;
AssetTheta = VaThetax(2);
end
最后带入参数运行即可
r=
T=
D=
E=
EquityTheta =
[Va,AssetTheta] = KMVOptSearch(E,D,r,T,EquityTheta)
DD = (Va-D)/(Va*AssetTheta)
EDF = normcdf(-DD)