我知道如何使用numpy irr和npv,但是,当其中一个现金流(终值)依赖于此利率时,我正在努力解决使我的npv=0的利率问题。实际上,我需要找到一种方法来编写goalseek函数,通过更改所有现金流的贴现系数,将净现值设置为0。所以要解决这样的问题:
我需要找到利差度量使我的净现值=市值的位置,第0步,即零值
以下是我迄今为止一直尝试但没有成功的方法:
import numpy as np
from scipy.optimize import newton, fsolve
def fn(x):
return np.npv(x, [-tst['mkt_cap'][i] + (tst['fcfe_1'][i]/(1+ x + tst['10y_tsy'][i])) + (tst['fcfe_2'][i]/(1+ x + tst['10y_tsy'][i])**2) + (tst['fcfe_3'][i]/(1+x+tst['10y_tsy'][i])**3) + ((tst['fcfe_3'][i] * (1+terminal_growth))/(tst['10y_tsy'][i] + x - terminal_growth))])
[newton(fn,x0=0) for x in range(len(tst))]
我还尝试从这里(https://github.com/DrTol/GoalSeek_Python)使用GoalSeek函数
像这样:
[print(GoalSeek(fn,goal,x0)) for i in range(len(tst))]
其中,目标为0,x0=.05,为猜测值
任何帮助都将不胜感激!!多谢各位
编辑:这里是数据帧的一个片段,来自主数据帧而不是“tst”,它只是我测试的一个片段:
其中,“10y_tsy”是每个发行人的10年期政府债券(对于不同的居住国,它们的价值不同),fwiw
目前没有回答
相关问题 更多 >
编程相关推荐