楼主: xyhwwwww
2768 2

[其它] 求助KMV模型相关的MATLAB问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

90%

还不是VIP/贵宾

-

威望
0
论坛币
1755 个
通用积分
0
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
601 点
帖子
45
精华
0
在线时间
82 小时
注册时间
2009-10-12
最后登录
2021-11-28

楼主
xyhwwwww 发表于 2017-2-27 23:14:39 |AI写论文
500论坛币
function [ DD,EDF ] = KMVcompute( E,SD,LD,r,T,EquityTheta)
%计算违约距离和违约概率

DP=SD+0.5*LD;%计算违约概率
D=DP;%债务的市场价值,这里做简便计算
[Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta);%计算资本的市场价值和资本的波动率
DD=(Va-DP)/(Va*AssetTheta);%违约距离计算
EDF=normcdf(-DD);%计算违约概率


end


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)
%KMV中x以及资产波动率的寻找
K=E/D;
x0=[1,1];%搜素初始点
VaThetaX=fsolve(@(x) KMVfun(K,r,T,EquityTheta,x), x0);%联立方程优化,求解x与公司资产波动率
Va=VaThetaX(1)*E;%公司资产市场价值=x*公司股权价值
AssetTheta=VaThetaX(2);%公司资产价值波动率


---------------------------------------------
以上是求KMV的matlab模型,求助此模型可以反向求解吗,就是已知E,r,T,EquityTheta,DD的情况下,我想反向求出D/DP。
。。能通过matlab实现么,或者有什么近似可取的方法,我自己试了下,实在弄不出来,求大神帮助!



关键词:matlab问题 MATLAB matla KMV模型 atlab function 方程组 模型 价值

沙发
xyhwwwww 发表于 2017-2-27 23:45:07
本人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);%公司资产价值波动率

藤椅
zhangyutai 学生认证  发表于 2017-8-26 16:25:29
xyhwwwww 发表于 2017-2-27 23:45
本人MATLAB新手,啥都不会,只能依葫芦画瓢自己改了下,但是总是显示迭代超次数,不知道是哪里出错了还是怎 ...
楼主资产价值和波动率能算出来吗?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-22 03:05