Моделирование платежей по кредитам - рассчитать IRR - PullRequest
0 голосов
/ 25 января 2019

Работа с данными займа.У меня есть датафрейм со столбцами:

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

ID ссуды |Финансируемая сумма |Ожидаемое количество платежей |фиксированный взнос аннуитета.

Я подсчитал количество платежей с помощью регрессионного анализа.кредиты имеют срок погашения 36 или 60 месяцев.

Сейчас я пытаюсь рассчитать ожидаемый irr (внутренняя норма доходности).

Но я застрял

Я планировалиспользовать numpy.irr Тем не менее, у меня никогда не было возможности его использовать - поскольку моя дата не в правильном формате?

Я пробовал функции pivot 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

введите описание изображения здесь

1 Ответ

0 голосов
/ 25 января 2019

numpy.irr - неправильная формула для использования. Эта формула предназначена для нерегулярных платежей (например, 100 долларов США в месяц 1, 0 долларов США в месяц 2 и 400 долларов США в месяц 3). Вместо этого вы хотите использовать 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 документация .

...