Рубрики
Без рубрики

Python Numpy Code для вычисления, когда ипотека будет свободна от PMI (страхование частного ипотеки)

Друг пытается придумать умный способ использовать Excel Cumipnt / cumprinc, чтобы выяснить, что … Теги с Python, учебником, советами.

Друг пытается придумать умный способ использовать Excel Cumipnt / CumPrinc Чтобы выяснить в каком месяце данный принцип ипотеки снизился бы ниже 80% покупной цены дома (в какой момент они знали бы дольше оплатить дополнительную плату, известную как частное страхование Моргтажи, А.К.А. PMI) .

Если вы вынули 30-летнюю ипотеку в 3,625%, заимствовав 225 000 долларов, чтобы заплатить за дом в размере 250 000 долларов, вы платите PMI до тех пор, пока ваша принципиальная упадка ниже 80% от 250 000 долларов США (То есть, пока вы не заплатили 25 000 долларов США) Отказ

Excel – не уверен, что это можно сделать

Игра с Excel, я понял, что это может спросить немного большую часть Excel – кажется, что это больше исчисления (измеряя вещи как их скорость изменения изменений) чем проблема алгебры (простое «решающее для X», где уравнение не продолжает меняться на вас) Отказ

В конце концов, вы в основном пытаетесь решить для X, где X – 2-й к последнему параметру CumPrinc, и вы уже знаете выходное значение клетки (25,000) .

Что вы пытаетесь сделать, это найти самых маленьких Икс где = CumPrinc (0,03625/12, 30 * 12, 225000, 1, х, 0) приводит к значению, больше или равно 25 000 Отказ

Я нет Excel Whiz, но я не уверен, что вы можете вычислить предложенный параметр для CumPrinc Используя CumPrinc Отказ

CumPrinc Работа состоит в том, чтобы суммировать ценности «принципала в этом месяце» через специфический Диапазон клеток от « таблица амортизации ».

  • В этом случае вы только всегда начинаете с ячейки «Первый месяц».
  • Но CumPrinc ожидает Вы Чтобы сказать это, какая клетка «таблицы амортизации», чтобы остановиться, не ожидается, чтобы понять это для вас.

Почему исчисление

Недавно на радио я услышал, что это объяснило:

  • Алгебра для ответа: «Если вы оставите свой дом на 40 милях в час, и ваш друг уходит в 30 милях в час, направляясь друг к другу, когда ворон летит, когда и где вы встретитесь?»
  • Исчет предназначен для ответа: «Если ваш автомобиль может ускорить« ноль миль в час до шестидесяти миль в час за 10 секунд », – сколько секунд вы пройдете 30 футов, если вы« пол »от мертвой остановки?»

Это определенно похоже на то, что 2-й вид вопроса.

Python – может определенно сделать

Однако на языке императивного программирования мы можем воспользоваться тем, что «ускорение» не совсем похоже на ускорение автомобиля – вместо этого «ускорение» выплачиваемого принципала разбивается на 360 дискретных вхождений оплаты -Сум.

Мы можем обмануть.

Это довольно простой «цикл по всей возможной цене от 1 до 360, пока не дойдешь туда – тогда объявить, какая« X »доставит вас туда « Алгоритм.

Прямо сейчас вы можете использовать numpy модуль PPMT () Функция вести себя как CumPrinc ведет себя, когда месяц начала/конца установлен на тот же номер.

  • Обратите внимание, что Numpy планирует взять PPMT () Из его доступных функций, так Поставь себя с numpy_financial (Установить как Numpy-Financial с дефисом) вместо.

Строительство на коде Pythontic.com AT ” Расчет основных и выплат процентов за кредит с использованием Python и Numpy “:

import numpy_financial as npf
interestRate        = 0.03625
loanDurationMonths  = 30*12;
principalBorrowed   = 225000
salesPrice          = 250000
magic80             = salesPrice*.8 #200,000
pmiGoneAfterPdPrnc  = principalBorrowed - magic80 # 25,000

def paidThisMonth(whichMonthIsIt):
    principalPaidThisMonth = npf.ppmt(interestRate/12, whichMonthIsIt, loanDurationMonths, principalBorrowed);
    return principalPaidThisMonth

def monthsToPayPrincipalBeyond20():
    princPaidSoFar = 0
    whichMonthIsIt = 1
    while princPaidSoFar < pmiGoneAfterPdPrnc and whichMonthIsIt <= loanDurationMonths:
        princPaidSoFar += abs(paidThisMonth(whichMonthIsIt))
        whichMonthIsIt += 1
    return whichMonthIsIt

print("Loan amount:%7.2f"%principalBorrowed);
print("Loan duration in months:%d"%loanDurationMonths);
print("Annual Interest Rate in percent:%2.3f"%(interestRate*100));

magicMonth = monthsToPayPrincipalBeyond20()

print("Your principal will have dropped below %7.2f, eliminating PMI, after month #"%magic80 + str(magicMonth))

Результат

Выход:

Loan amount:225000.00
Loan duration in months:360
Annual Interest Rate in percent:3.625
Your principal will have dropped below 200000.00, eliminating PMI, after month #67

Это примет только над 5,5 года В этой 30-летней ипотеке, чтобы быть свободным от частной ипотечной страховки с 3,625% курс , а Заем $ 225 000 и а $ 250,000 Цена покупки Отказ

Следующие шаги

Конечно, теперь я должен научить моего друга Установите AnaConda и писать python. 🙂

Мы также использовали Python’s Пандас Модуль, чтобы повторить этот вычислений для Много Ипотеки, которые они рассматривают возможность вынимать, подавать данные из электронной таблицы Excel и написание ее в новую электронную таблицу Excel каждый раз, когда программа выполняется.

Если вы не уверены, что вы готовы сделать переход от Excel в Python сами, послушайте Внешний вид Chris Moffitt на Talk Python для меня подкаст, эпизод 200 – стенограмма также доступна Отказ

Дальнейшее чтение

Крис указал, что он вошел в гораздо большую деталь о вычислении таблиц амортизации и проецирует финансовое здравоохранение в случае ипотеки в его блоге, практическим бизнесом Python, несколько лет назад – Go увидеть его пост, Строительство финансовой модели с пандами

Оригинал: “https://dev.to/katiekodes/python-numpy-code-to-compute-when-a-mortgage-will-be-free-of-pmi-private-mortgage-insurance-1i5f”