Skip to content

dzotovwork/credit_approver

Repository files navigation

credit_approver

ТЗ:

Есть функция, которая рассчитывает возможность выдачи кредита и возможную сумму, если он предварительно одобрен. Также функция рассчитывает процент ставки по кредиту. На вход передаются такие данные:

  • Возраст [not negative int], лет
  • Пол [F, M]
  • Источник дохода [пассивный доход, наёмный работник, собственный бизнес, безработный]
  • Доход за последний год [int], млн
  • Кредитный рейтинг [-2, -1, 0, 1, 2]
  • Запрошенная сумма [0.1 .. 10], млн
  • Срок погашения [1..20], лет
  • Цель [ипотека, развитие бизнеса, автокредит, потребительский]

Требования:

Условия выдачи кредита:

  1. Если возраст превышает пенсионный возраст на момент возврата кредита --> кредит не выдаётся
  2. Если результат деления запрошенной суммы на срок погашения в годах более трети годового дохода --> кредит не выдаётся
  3. Если кредитный рейтинг -2 --> кредит не выдаётся
  4. Если в источнике дохода указано "безработный" --> кредит не выдаётся
  5. Если годовой платёж (включая проценты) больше половины дохода --> кредит не выдаётся

Суммы кредита: Если работают несколько условий по сумме кредита - выбирается наименьшая

  1. При пассивном доходе выдаётся кредит на сумму до 1 млн, наёмным работникам - до 5 млн, собственное дело - до 10 млн
  2. При кредитном рейтинге -1 выдаётся кредит на сумму до 1 млн, при 0 - до 5 млн, при 1 или 2 - до 10 млн

Условия изменения базовой ставки: Все модификаторы процентной ставки суммируются, применяется итоговый модификатор

  1. -2% для ипотеки, -0.5% для развития бизнеса, +1.5% для потребительского кредита
  2. +1.5% для кредитного рейтинга -1, 0% для кредитного рейтинга 0, -0.25% для кредитного рейтинга 1, -0.75% для кредитного рейтинга 2
  3. Модификатор в зависимости от запрошенной суммы рассчитывается по формуле [-log(sum)]; например, для 0.1 млн изменение ставки составит +1%, для 1 млн - 0%, для 10 млн изменение ставки составит -1%
  4. Для пассивного дохода ставка повышается на 0.5%, для наемных работников ставка снижается на 0.25%, для заемщиков с собственным бизнесом ставка повышается на 0.25%

Способ расчета годового платежа:

  1. Базовая ставка - 10%
  2. Годовой платеж по кредиту определяется по следующей формуле: (<сумма кредита> * (1 + <срок погашения> * (<базовая ставка> + <модификаторы>))) / <срок погашения>

Информация на выходе:

  1. Кредит выдаётся/не выдаётся
  2. Годовой платеж по кредиту

usage

Установка:

  1. Скачайте проект
  2. Установите зависимости использую команду npm i
  3. Откройте index.html в своем браузере

Тестирование

  1. Находясь в корневой директории выполните команду npm run test
  2. Постройте отчет выполив команду npm run report Тестовая модель лежит тут:

сами тесты лежат в папках __tests_

About

Выдать кредит или нет?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors