LoanPlan
Графики платежей по кредиту в целых копейках: аннуитет, дифференцированный, только проценты, три базиса дней и досрочные погашения. Последний платёж без хвоста от округления.
Счётная машина графика
Столбик монет — остаток долга. Каждый поворот рукоятки печатает строку: проценты, тело и новый остаток. Последняя строка обнуляет столбик ровно, без хвоста.
Деньги без дробей
Суммы хранятся целыми копейками, проценты считаются целочисленно и округляются один раз за период. Аннуитетный платёж — наименьшая сумма в целых копейках, которая гасит кредит в срок: её находит двоичный поиск по тому же расчёту, что печатает таблицу.
Инварианты
Остаток на начало месяца равен остатку на конец прошлого, последний остаток равен нулю, а сумма погашенного тела и досрочных платежей равна выданному кредиту. Дата 31 января переходит в 29 февраля и обратно в 31 марта.
Технически
- Аннуитет, дифференцированный и «только проценты».
- Базисы Actual/365, Actual/360 и 30E/360.
- Досрочные погашения и фиксированная комиссия.
- От 1 до 1 200 месяцев, вход и выход в JSON.
- Целочисленная арифметика без float.