С незначительными сокращениями взято с хабра по наводке @UpyachkaWarrior. Автор - Игорь Тарасов, директор веб-студии и дата-центра ITSOFT
Расчеты и реализация оставлены во избежание вопросов, а также чтобы показать механику кредитного калькулятора.
Для тех, кому интересны практические примеры (Тинькофф банк, ВТБ, Альфа-банк, Райффайзенбанк, Почта-банк, Промсвязьбанк, Сбербанк) - можно без ущерба для смысла пролистать пару страниц, до раздела "Тинькофф банк обманывает". Итак,
Ряд банков очень жёстко обманывают тех, кто плохо учил математику в школе. Хотя даже если математику в школе не учили и видите переплату по кредиту на год на калькуляторе банка в 7%, но кредит гасится помесячно, то можно грубо сообразить, что ставка по кредиту раза в два больше в годовых. Ставка бы была 7%, если бы вы как с депозитом в банке отдавали кредит с переплатой в 7% в конце года. А при ежемесячных платежах в середине года вы погасите уже половину кредита.
Давайте рассчитаем точную формулу.
Вывод формулы для расчёта процента по кредиту
Сейчас банки в основном предлагают кредиты с ежемесячным погашением равной суммой — аннуитетный платеж.
Пусть s — сумма кредита, x — ежемесячный платёж, p — годовая процентная ставка в процентах, тогда
p/12 — месячная процентная ставка в процентах, (p/12/100)*s — плата за первый месяц пользования кредитом,
(1+p/12/100)*s — долг на конец первого месяца до первого платежа, обозначим для краткости 1+p/12/100=k, тогда
k*s-x — долг на конец первого месяца после первого платежа,
k*(k*s-x)-x=s*k2-x*k-x — долг на конец второго месяца после второго платежа,
k*(s*k2-x*k-x)-x=s*k3-x*k2-x*k-x — долг на конец третьего месяца после третьего платежа,
...
s*kn-x*kn-1-x*kn-2...-x*k2-x*k-x=0 — долг на конец последнего месяца после последнего платежа.
Выносим x за скобку: s*kn-x*(kn-1+kn-2...+k2+k+1)=0
Видим сумму геометрической прогрессии. Сворачиваем по формуле суммы геометрической прогрессии (1-kn)/(1-k). Получаем:
s*kn-x*(1-kn)/(1-k)=0
Это уравнение для k аналитически не решить. Но есть численные методы, которые позволяют с хорошей точностью подобрать значение k. А ещё есть библиотека nerdamer, которой я (здесь и далее: Игорь Тарасов, автор исходной статьи) и воспользовался.
Найдя k, легко находим ставку годового процента:
p=12*100*(k-1)
Данную формулу я запрограммировал в обратном кредитном калькуляторе, снимки которого буду использовать дальше.
Библиотека nerdamer
Подключение
<script src="https://cdn.jsdelivr.net/npm/nerdamer@latest/nerdamer.core.j..."></script>
<script src="https://cdn.jsdelivr.net/npm/nerdamer@latest/Algebra.js"></script>
<script src="https://cdn.jsdelivr.net/npm/nerdamer@latest/Calculus.js"></script>
<script src="https://cdn.jsdelivr.net/npm/nerdamer@latest/Solve.js"></script>
str = s.value+'*k^'+n.value+'-'+x.value+'*(1-k^'+n.value+')/(1-k)';
sol = nerdamer.solve(str, 'k');
console.log(sol.toString());
console.log(sol.toString());
Правда, решение выдаёт и с комплексными числами. Как это отключить я не нашёл.
В настройках есть только параметр SOLVE_RADIUS. Поиск решения только среди действительных чисел возможно бы не подвешивал мой браузер при онлайн просчёте при вводе данных. Поэтому онлайн пересчёт отключил и поставил кнопку Рассчитать. Впрочем, кнопка дала и дополнительный плюс автоматом, что можно послать ссылку на результат.
Тинькофф банк обманывает
Его “от 5.9%” просто ловкость цифр и прям совсем никакого мошенничества.
Под залог квартиры стоимостью от 14.5 миллионов Тинькофф одобрил кредит всего на 6 миллионов и процентной ставкой 7.2% как он сам выразился. Ребята как милые жулики улыбаются и спорят, что у них именно такая процентная ставка, а всё остальное это страхование жизни.
https://usd.itsoft.ru/calc/?s=6127000&x=514200&n=13
Даже если просто взять переплату по кредиту 557600 и разделить на сумму кредита, то получается 9%. А обман Тинькова в том, что он % показывает не годовых, а от основной суммы кредита. Но поскольку, кредит отдаётся помесячно, то проценты на калькуляторе в Тинькофф банке надо грубо умножать на два, ведь через полгода уже половина кредита будет погашено.
Страхование жизни когда в залоге квартира просто верх мошенничества. Квартиру можно скинуть сразу с дисконтом 20%, а с 50% тем более, то есть в случае смерти заёмщика она точно покроет кредит.
ВТБ обманывает
Конечно, не является офёртой, это же надувательство.
Правда там написана ставка в последний год. Но с таким же успехом можно было там написать 0%. Это ничего не значит. Нас же интересует средняя ставка годовых по всем годам.
https://usd.itsoft.ru/calc/?s=5000000&x=437026&n=12
UPDATE
Библиотека nerdamer оказалась всё же глючной, вешала браузер при некоторых значениях. Выкинул её и написал свой код решения уравнения методом деления отрезка пополам. Закешированная версия калькулятора сейчас может не работать, надо по Ctrl+F5 перезагрузить страницу.
UPDATE2
Тут решил Промсвязьбанк на меня наехать. Послал их в комменты на Хабре, но мадам там строит из себя барыню и запугивает юристами. Видно лавры Олежи Тинькова покоя не дают. Подробности тут.
Еще раз: Источник на хабре. Там еще комменты есть, но автора в нечестности, пристрастности или технических ошибках пока не уличили. В отличие от упомянутых автором банков.