python - 贷款支付建模 - 计算内部收益率
问题描述
处理贷款数据。我有一个包含列的数据框:
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
解决方案
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 文档。
推荐阅读
- angular - 将 mat-form-field 包装到组件中 - mat-error 验证不会在提交时显示
- python-3.x - 日期时间序列的日期时间索引在熊猫中不起作用?
- c# - 在c#中更改存储xml的字符串变量
- elasticsearch - 是否存在一些官方文档来介绍 gc 日志?
- c# - 如何从模型创建下拉列表?
- javascript - 如何使用从 Node.JS 中减去 2 个其他对象获得的数据创建动态对象?
- postgresql - 合并具有不同列的多个表
- python - 从 Seaborn 绘制多个 Y 轴 + 'hue'
- aws-lambda - 有没有办法将公司信息添加到 Alexa 服务并在没有调用名称的情况下使用它?
- java - 通过集成测试执行生产代码时 @Autowired 字段 null