首页 > 解决方案 > 贷款支付建模 - 计算内部收益率

问题描述

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

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

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

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

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

但我被困住了

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

我尝试过 pandas pivot 和 reshape 函数。没运气。

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

我的旧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

在此处输入图像描述

标签: pythonpandaspivotreshapeirr

解决方案


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 文档


推荐阅读