本人MATLAB新手,啥都不会,只能依葫芦画瓢自己改了下,但是总是显示迭代超次数,不知道是哪里出错了还是怎么
function F=KMVfun(E,DD,r,T,EquityTheta,x)
EtoD=E/exp(log(x(1)*E)-DD*x(2)*sqrt(T)+(r-0.5*x(2)^2)*T);
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];%根据最优化函数 需要列出方程组
function [Va,AssetTheta]=KMVOptSearch(E,DD,r,T,EquityTheta)
%KMV中x以及资产波动率的寻找
x0=[1,1];%搜素初始点
VaThetaX=fsolve(@(x) KMVfun(E,DD,r,T,EquityTheta,x), x0);%联立方程优化,求解x与公司资产波动率
Va=VaThetaX(1)*E;%公司资产市场价值=x*公司股权价值
AssetTheta=VaThetaX(2);%公司资产价值波动率


雷达卡



京公网安备 11010802022788号







