贷款支付建模 - 计算 IRR

Modelling Loan Payments - Calculate IRR

处理贷款数据。 我有一个包含以下列的数据框:

df_irr = df1[['id', 'funded_amnt_t', 'Expect_NoPayments','installment']]

贷款ID |资助金额 |预期付款次数 |定额年金。

我用回归分析估计了付款次数。 贷款期限为 36 或 60 个月。

现在我正在尝试计算预期的 irr(return 的内部汇率)。

但我卡住了

我打算使用 numpy.irr 但是,我从来没有机会使用它 - 因为我的日期格式不正确?

我已经尝试了 pandas 枢轴和重塑函数。运气不好。

现金流时间序列: - 列:第 0 个月,...., 60 - 行:每笔贷款的 ID - 第 0 个月的值 = - funded_amount - 0-60 月的值:分期付款,如果 expected_number_of_payments > 个月

我的旧 Stata 代码是:

keep id installment funded_amnt expectednumberofpayments
sort id
expand 61, generate(expand)
bysort id : gen month = _n      
gen cf = 0
replace cf = installment if (expectednumberofpayments+1)>=month
replace cf = funded_amnt*-1 if month==1

enter image description here

numpy.irr 是使用错误的公式。该公式适用于不定期付款(例如第 1 个月 100 美元,第 2 个月 0 美元,第 3 个月 400 美元)。相反,您想使用 numpy.rate。我对此解决方案的数据做了一些假设:

 import numpy as np
 df_irr['rate'] = np.rate(nper=df_irr['Expect_NoPayments'],
                          pmt=df_irr['installment'],
                          pv=df_irr['funded_amnt_t'])

可以在此处找到更多信息 numpy documentation