如何应用更好的Python解算器求解函数

2024-05-15 01:13:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经试着找到/应用python解算器(SciPy/SymPy),但是我不确定如何正确地应用它。你知道吗

我的目标是为最优票面利率找到更好的解算器,从而得出内部收益率等于无风险利率

函数EIRRCal是返回一个coupon rate(不是一个最佳值)、IRRdiff内部收益率和无风险率之间的差异。你知道吗

我尝试并使用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分钟)


Tags: 函数indexratediff算器收益率coupon利率

热门问题