Szacowanie rentowności obligacji

Wycena i analiza obligacji w R

Clifford Ang

Senior Vice President, Compass Lexecon

Wyznaczanie rentowności metodą prób i błędów

  • Dla obligacji będących w obrocie można wyznaczyć rentowność
  • Znając cenę i przepływy pieniężne obligacji, można zgadywać jej rentowność
  • „Poprawna" rentowność zrównuje cenę obligacji z bieżącą wartością jej przepływów pieniężnych
Wycena i analiza obligacji w R

Iterowanie przez różne wartości

  • Obligacja: wartość nominalna $\$100$, kupon 5%, 10 lat do wykupu, cena $\$92,64$
  • Próba 1: 5% → cena $100 (za wysoka)
  • Próba 2: 7% → cena $85,95 (za niska)
  • Próba 3: 6% → cena $92,64 (poprawna)
Wycena i analiza obligacji w R

Automatyzacja procesu

  • Metoda prób i błędów jest nieefektywna
  • Funkcja uniroot() w R pozwala zautomatyzować ten proces
Wycena i analiza obligacji w R

Tworzenie funkcji przy użyciu uniroot()

ytm <- function(cf) {
    uniroot(bval, c(0, 1), cf = cf)$root
}
  • Tworzenie funkcji ytm() przy użyciu uniroot()
  • Funkcja przyjmuje zmodyfikowany wektor przepływów pieniężnych (cf) i używa funkcji wyceny obligacji (bval)
  • c(0,1) ogranicza przedział poszukiwań do rentowności między 0% a 100%
Wycena i analiza obligacji w R

Zmodyfikowany wektor przepływów pieniężnych

cf <- c(-92.64, 5, 5, 5, 5, 5, 5, 5, 5, 5, 105)
  • Pierwszy element to cena obligacji jako liczba ujemna
  • Kolejne elementy to przepływy pieniężne – kupony plus wartość nominalna
  • Ta sama obligacja: cena $-\$92,64$, wartość nominalna $\$100$, kupon 5%, 10 lat do wykupu
Wycena i analiza obligacji w R

Zmodyfikowana funkcja wyceny obligacji

bval <- function(i, cf, t = seq(along = cf))  sum(cf / (1 + i)^t)
  • Należy utworzyć funkcję wyceny obligacji bval() używającą zmodyfikowanego wektora przepływów pieniężnych (cf)
  • Ta sama logika co w funkcji bondprc()
  • Tworzenie wskaźnika czasu (t)
  • Dyskontowanie przepływów pieniężnych przy użyciu stopy procentowej (i)
Wycena i analiza obligacji w R

Czas na ćwiczenia!

Wycena i analiza obligacji w R

Preparing Video For Download...