我已经试着找到/应用python解算器(SciPy/SymPy),但是我不确定如何正确地应用它。你知道吗
我的目标是为最优票面利率找到更好的解算器,从而得出内部收益率等于无风险利率
函数EIRRCal
是返回一个coupon rate
(不是一个最佳值)、IRR
和diff
内部收益率和无风险率之间的差异。你知道吗
我尝试并使用linspace
函数来确定函数的可能结果范围,如下所示(仅是整个代码的一部分):
def optimalCoupon(recovery_rate,marginal_pd_rate,iteration):
coupons = np.linspace(0.001,0.300,iteration)
amat = []
bmat = []
cmat = []
x = recovery_rate
y = marginal_pd_rate
for coupon in coupons:
a_coupon, a_eirr, a_diff = EIRRCal(coupon, period, x, y)
amat.append(a_coupon)
bmat.append(a_eirr)
cmat.append(abs(a_diff))
for index, value in enumerate(cmat):
if value == min(cmat):
lowest_index = index
optimal_coupon = amat[lowest_index]
b_coupon, b_eirr, b_diff = EIRRCal(optimal_coupon, period, x, y)
return [b_coupon, b_eirr, b_diff]
然而,它花费了相当长的处理时间(对于500行数据帧和迭代次数=1000,大约需要7分钟)
目前没有回答
相关问题 更多 >
编程相关推荐