Формула расчета аннуитетного процента вроде как проста и описана на многих ресурсах связанных с кредитами, к примеру в статье
Формула и расчет аннуитетного платежа по кредиту. В виде кода это примерно так:
function annuity(credit, procent, mounths) {
const p = procent / 100 / 12;
return credit * (p + p / (Math.pow(1 + p, mounths) - 1));
}
При частично досрочных погашениях возможны два варианта:
- Уменьшение срока
- Уменьшение платежа
Первое это очевидно, уменьшается сумма задолженности и вычислить это достаточно просто.
Но как расчитывается уменьшение платежа?