全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1498 0
2013-07-15
%KMV方程组
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];



function [Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta)
%KMVOptSearch
EtoD=E/D;
VX=fsolve(@(x)KMVfun(EtoD,r,T,EquityTheta,x), [1,1]);
Va=VX(1)*E;
AssetTheta=VX(2);

%以下计算KMV模型
%r: 无风险利率
r=0.0225;

%T: Time to expiration
T=1;%输入 月数

%DP:违约点
%SD: 短期负债  LD: 长期负债
SD=3146285612.57;%输入
LD=691144080.36;%输入
%计算违约点
DP=SD+0.5*LD;

D=DP;%债务的市场价值,可以修改


%PriceTheta:  股票市场价格日波动ln(x2/x1)
PriceTheta=0.409;%(输入)
%EquityTheta: 年化市场波动率
EquityTheta=PriceTheta*sqrt(240);
%AssetTheta: volatility of asset

%E:股票总市值:流动股+股票价格*非流动股,此处非流通股的价值怎么计算需要再商讨
E= 9986380800;
%Va: 资产价值

%以下计算资产价值以及资产价值波动率
[Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta);

%计算违约距离
DD=(Va-DP)/(Va*AssetTheta);
%计算违约率
EDF=normcdf(-DD);


运行后报错:


??? Input argument "x" is undefined.

Error in ==> KMV_DD at 3
d1=( log(x(1)*EtoD)+(r+0.5*x(2).^2)*T ) / ( x(2)*sqrt(T));



这是啥原因啊~~~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群