Wartość przyszła i częstotliwość kapitalizacji

Wycena i analiza obligacji w Pythonie

Joshua Mayhew

Options Trader

Odsetki składane z wieloma przepływami pieniężnymi

  • Depozyt 1 000 USD
  • Oprocentowanie 3% płatne miesięcznie
  • Miesięczne dopłaty po 100 USD na koniec każdego miesiąca
  • Ile mamy po 3 miesiącach?
Wycena i analiza obligacji w Pythonie

Odsetki składane z wieloma przepływami pieniężnymi

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
Wycena i analiza obligacji w Pythonie

Funkcja wartości przyszłej

  • Poprzednie podejście może być bardzo powtarzalne
  • NumPy Financial upraszcza te obliczenia
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
Wycena i analiza obligacji w Pythonie

Funkcja wartości przyszłej

  • Stopa: 3% za okres (miesięcznie)
  • Liczba okresów: 3 miesiące
  • Płatność: dopłaty po -100 USD na koniec każdego miesiąca
  • PV: depozyt -1 000 USD
Wycena i analiza obligacji w Pythonie

Funkcja wartości przyszłej

npf.fv(rate=0.03, nper=3, pmt=-100, pv=-1000)
1401.82
Wycena i analiza obligacji w Pythonie

Częstotliwości kapitalizacji

Ile mamy po 10 latach inwestowania 1 000 USD (bez dopłat) przy:

  • 5% oprocentowaniu rocznym płatnym rocznie
  • 5% oprocentowaniu rocznym płatnym miesięcznie
  • 5% oprocentowaniu rocznym płatnym dziennie
Wycena i analiza obligacji w Pythonie

Częstotliwości kapitalizacji

  • Stopę dzieli się przez częstotliwość, a liczbę okresów mnoży przez częstotliwość
# 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
Wycena i analiza obligacji w Pythonie

Czas na ćwiczenia!

Wycena i analiza obligacji w Pythonie

Preparing Video For Download...