求助!KMV信用风险模型Python版的报错问题

看网上很少有KMV信用风险模型的Python代码,有的也是用Matlab改过来的,但是有个Etod的错误,于是自己更改了一下

def KMVOptSearch(E,D,r,T,EquityTheta):def KMVfun(x,E,D,r,T,EqutityTheta):d1 = (np.log(x[0]/D)+(r+0.5*x[1]**2)*T)/x[1]*np.sqrt(T)d2 = d1-x[1]*np.sqrt(T)return [E-x[0]*stats.norm.cdf(d1,0,1)+D*np.exp(-r*T)*stats.norm.cdf(d2,0,1),EqutityTheta-x[0]*stats.norm.cdf(d1,0,1)*x[1]/E]VaThetaX = fsolve(KMVfun,[100,0.001],args=(E,D,r,T,EquityTheta))Va = VaThetaX[0]AssetTheta = VaThetaX[1]return Va, AssetTheta

这里的d1、d2都是原公式做过来的,下面的return后面的也是
但是总是报错!

RuntimeWarning: invalid value encountered in log

谁能告诉我是为什么


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部