Разница между 1.17
и текущей версией
АннуитетныйПлатеж.
@@ -1,15 +1,127 @@
-- Аннуитетный платеж (Аннуитет)
+= Аннуитетный платеж (Аннуитет)
-Кредит с параметрами: величина кредита — $$P$$ рублей, номинальная процентая ставка — $$j$$ процентных пунктов, используются сложные проценты, срок — $$m$$ лет, ежемесячная капитализация процентов, равномерные (аннуитетные) платежи $$A$$.
+''''''ToDo'''''' статьи:
+ * пример на ЯзыкR:
+ * таблица погашения
+ * проценты и основной долг в погашении
+ * визуализация принципа сложного процента
+ * убрать ненужные знаки умножения
+ * переписать определение
+ * общее описание
+
+- Определение
+
+ '''Аннуитет''' : платеж по кредиту, равномерный в течение всего срока действия кредитного договора, позволяющий полностью покрыть сумму основного долга и начисленных процентов к последнему платежу по кредиту
+
+- Вывод формулы
+
+Кредит с параметрами: величина кредита — $$ P $$ рублей, номинальная процентая ставка — $$ j $$ процентных пунктов, используются сложные проценты, срок — $$ m $$ лет, ежемесячная капитализация процентов, равномерные (аннуитетные) платежи $$ A $$.
+
+Необходимо рассчитать величину аннуитета $$ A $$.
+
+Рассчитаем сначала величину эффективной ставки процента: $$ i = j over 12 $$ и срок кредита в периодах погашения (в месяцах): $$ n = m cdot 12 $$.
+
+На начала 0-го периода (факт выдачи кредита) заёмщик должен банку $$ P $$ рублей, а на конец этого же периода заёмщик должен банку $$ P(1 + i) $$ рублей.
+
+В первом периоде заёмщик заплатит банку аннуитет $$A$$ и останется должен ему $$P (1 + i) - A$$ рублей (сумма оставшейся задолженности после первого платежа, т. е. на начало первого периода). Именно на эту сумму и будет начислять проценты банк (в соответствии с принципом сложного процента). В результате заёмщик к концу первого периода станет должен банку: $$ left ( P (1 + i) - A right ) cdot (1 + i) = P cdot (1 + i) sup 2 - A cdot (1 + i)$$ .
+
+На начало второго периода заёмщик будет должен $$P cdot (1 + i) sup 2 - A cdot (1 + i) - A$$, а к его концу $$ left ( P cdot (1 + i) sup 2 - A cdot (1 + i) - A right ) cdot (1 + i)$$.
+
+В самом конце, в $$n$$-ом периоде, после последнего платежа заёмщик полностью погасит как сумму основного долга, так и проценты (если доживёт --АтрашкевичАндрей):
+
+%EQ
+P cdot (1 + i) sup n - A cdot (1 + i) sup {(n - 1)} - A cdot (1 + i) sup {(n - 2)} - A cdot (1 + i) sup {(n - 3)} - ~ ldots ~ - A cdot (1 + i) - A= 0
+%EN
+
+Преобразуем это выражение для того, чтобы выразить из него искомую величину $$A$$:
+
+%EQ
+P cdot (1 + i) sup n - A cdot left ( (1 + i) sup {(n - 1)} + (1 + i) sup {(n - 2)} + (1 + i) sup {(n - 3)} + ~ ldots ~ + (1 + i) + 1 right ) = 0
+%EN
+
+или
+
+%EQ
+P cdot (1 + i) sup n - A cdot left ( (1 + i) sup {(n - 1)} + (1 + i) sup {(n - 2)} + (1 + i) sup {(n - 3)} + ~ ldots ~ + (1 + i) sup 1 + (1 + i) sup 0 right ) = 0
+%EN
+
+В больших скобках стоит геометрическая прогрессия, состоящая из $$n$$ членов, с первым членом $$b sub 1 = 1$$ и знаменателем $$q = (1 + i)$$. Напомним, что сумма первых $$n$$ членов геометрической прогрессии может быть вычислена по формуле $$S sub n = b sub 1 cdot {{1 - q sup n} over {1 - q}}$$.
+
+Таким образом:
+%EQ
+P cdot (1 + i) sup n - A cdot left ( 1 cdot {{1 - (1 + i) sup n} over {1 - (1 + i)}} right ) = 0
+%EN
+
+%EQ
+P cdot (1 + i) sup n - A cdot {{1 - (1 + i) sup n} over {-i}} = 0
+%EN
+
+%EQ
+P cdot (1 + i) sup n - A cdot {{(1 + i) sup n - 1} over {i}} = 0
+%EN
+
+%EQ
+P cdot (1 + i) sup n = A cdot {{(1 + i) sup n - 1} over {i}}
+%EN
+
+В итоге:
+
+%EQ
+A = {P ~ i ~ (1 + i) sup n} over {(1 + i) sup n - 1}
+%EN
+
+-- Пример кода на R
+
+Пример: квартира в Сыктывкаре, стоимостью 3 млн. рублей. Первоначальный взнос составляет 20%, срок кредита — 20 лет, годовая ставка процента — 15% с ежемесячной капитализацией (начислением процентов каждый месяц по принципу сложных процентов).
+
+===
+ #
+ aparment.price <- 3E6
+ initial.payment.rate <- 0.20
+ mortgage.amount <- aparment.price * (1 - initial.payment.rate)
+
+ #
+ nominal.rate <- 0.15
+ rate <- nominal.rate / 12
+
+ # число периодов погашения:
+ n.years <- 20 # срок в годах: m
+ n <- n.years * 12 # срок в месяцах: n
+ # функция, вычисляющая аннуитетный платеж в зависимости от:
+ # величины кредита: P,
+ # процентной ставки: i,
+ # срока кредита: n
+ CalculateAnnuity <- function(P, i, n) {
+ annuity <- (P * i * (1 + i) ** n)/((1 + i) ** n - 1)
+ return (annuity)
+ }
+ # в переменную monthly.annuity передадим значение аннуитетного платежа,
+ # соответствующего параметрам нашего примера, и выведем значение этой переменной
+ (monthly.annuity <- CalculateAnnuity(mortgage.amount, rate, n))
+ # составим график платежей
+ vec.dates <- seq(Sys.Date(), by = 'month', length = (n + 1))
+ vec.annuity <- rep(monthly.annuity, (n + 1))
+ vec.num.of.payment <- c(0:n)
+ df.pay.list <- data.frame(vec.dates, vec.annuity, vec.num.of.payment)
+ names(df.pay.list) <- c('Date of Payment', 'Annuity Payment', 'Number of Payment')
+ df.pay.list[[, 'Outstanding Amount Start']] <- NA
+ df.pay.list[[, 'Outstanding Amount Finish']] <- NA
+ for (i in 0:n){
+ if (i == 0) {
+ df.pay.list[[, 'Outstanding Amount Start']][[(i + 1)]] <- mortgage.amount
+ df.pay.list[[, 'Outstanding Amount Finish']][[(i + 1)]] <- mortgage.amount * (1 + rate)
+ } else {
+ df.pay.list[[, 'Outstanding Amount Start']][[(i + 1)]] <- (
+ df.pay.list[[, 'Outstanding Amount Finish']][[i]] - df.pay.list[[, 'Annuity Payment']][[(i + 1)]]
+ )
+ df.pay.list[[, 'Outstanding Amount Finish']][[(i + 1)]] <- (
+ df.pay.list[[, 'Outstanding Amount Start']][[(i + 1)]] * (1 + rate)
+ )
+ }
+ }
+ df.pay.list[[, 'Outstanding Amount Start']] <- round(df.pay.list[[, 'Outstanding Amount Start']], 2)
+ df.pay.list[[, 'Outstanding Amount Finish']] <- round(df.pay.list[[, 'Outstanding Amount Finish']], 2)
+ df.pay.list
+===
-Необходимо рассчитать величину аннуитета $$A$$.
-
-Рассчитаем сначала величину эффективной ставки процента: $$i = j over 12$$ и срок кредита в периодах погашения (в месяцах): $$n = m cdot 12$$.
-
-На начала 0-го периода заёмщик должен банку $$P$$ рублей, а на конец этого же периода заёмщик должен банку $$P cdot (1 + i)$$ рублей.
-
-В первом периоде заёмщик заплатит банку аннуитет $$A$$ и останется должен ему $$P cdot (1 + i) - A$$ рублей (сумма оставшейся задолженности после первого платежа). Именно на эту сумму и будет начислять проценты банк.
-
-В результате заёмщик к концу первого периода станет должен банку: $$ left ( P cdot (1 + i) - A right ) cdot (1 + i) = P cdot (1 + i) sup 2 - A cdot (1 + i)$$ (сумма оставшейся задолженности после первого платежа). А после погашения очередного аннуитета $$P cdot (1 + i) sup 2 - A cdot (1 + i) - A$$.
-
-Распишем то же самое для второго периода. Во втором периоде
+# КатегорияФинансоваяМатематика