Будущая стоимость и частота начисления процентов

Оценка и анализ облигаций в Python

Joshua Mayhew

Options Trader

Сложные проценты с несколькими денежными потоками

  • Вклад 1 000 USD
  • Процентная ставка 3% в месяц
  • Пополнения по 100 USD в конце каждого месяца
  • Сколько будет на счёте через 3 месяца?
Оценка и анализ облигаций в Python

Сложные проценты с несколькими денежными потоками

deposit_fv = 1000 * (1 + 0.03) ^ 3

topup_1_fv = 100 * (1 + 0.03) ^ 2
topup_2_fv = 100 * (1 + 0.03) ^ 1
topup_3_fv = 100
print(deposit_fv + topup_1_fv + topup_2_fv + topup_3_fv)
1401.82
print(deposit_fv + topup_1_fv + topup_2_fv + topup_3_fv - 1000 - 100 - 100 - 100)
101.82
Оценка и анализ облигаций в Python

Функция будущей стоимости

  • Предыдущий подход быстро становится громоздким
  • NumPy Financial позволяет упростить эти вычисления
import numpy_financial as npf

?npf.fv
Signature: npf.fv(rate, nper, pmt, pv)

Given: * an interest `rate` compounded once per period, of which there are
* `nper` total
* a (fixed) payment, `pmt`
* a present value, `pv`
Return: the value at the end of the `nper` periods
Оценка и анализ облигаций в Python

Функция будущей стоимости

  • Ставка: 3% за период (в месяц)
  • Количество периодов: 3 месяца
  • Платёж: пополнения −100 USD в конце каждого месяца
  • PV: вклад −1 000 USD
Оценка и анализ облигаций в Python

Функция будущей стоимости

npf.fv(rate=0.03, nper=3, pmt=-100, pv=-1000)
1401.82
Оценка и анализ облигаций в Python

Частота начисления процентов

Сколько будет через 10 лет при вкладе $1 000 (без пополнений) при:

  • 5% годовых с начислением раз в год
  • 5% годовых с начислением ежемесячно
  • 5% годовых с начислением ежедневно
Оценка и анализ облигаций в Python

Частота начисления процентов

  • Ставка делится на частоту, а число периодов умножается на неё
# Using annual compounding frequency
npf.fv(rate=0.05, nper=10, pmt=0, pv=-1000)
1628.89
# Using monthly compounding frequency
npf.fv(rate=0.05/12, nper=10*12, pmt=0, pv=-1000)
1647.01
# Using daily compounding frequency
npf.fv(rate=0.05/365, nper=10*365, pmt=0, pv=-1000)
1648.66
Оценка и анализ облигаций в Python

Давайте потренируемся!

Оценка и анализ облигаций в Python

Preparing Video For Download...