Calculează durata aproximativă a unei obligațiuni
O aproximare utilă a formulei duratei se numește durata aproximativă și este dată de $$(P(down) - P(up)) / (2 * P * \Delta y)$$
unde \(P\) este prețul obligațiunii, \(P(down)\) este prețul obligațiunii dacă randamentul scade, \(P(up)\) este prețul obligațiunii dacă randamentul crește, iar \(\Delta y\) este modificarea anticipată a randamentului.
Formula completă a duratei este mai complexă. Dacă ești curios, poți consulta capitolul „Fixed Income" din cartea mea ca referință pentru acea formulă.
În acest exercițiu, vei calcula durata aproximativă a unei obligațiuni cu valoare nominală de $100, rată a cuponului de 10%, scadență de 20 de ani, randament la scadență de 10% și o modificare anticipată a randamentului de 1%. Pentru acest calcul, folosește funcția bondprc() cu care ești deja familiarizat — aceasta a fost preîncărcată în spațiul de lucru.
Acest exercițiu face parte din cursul
Evaluarea și analiza obligațiunilor în R
Instrucțiuni pentru exercițiu
- Folosește
bondprc()pentru a calcula prețul curent al obligațiunii la un randament de 10%. Salvează rezultatul înpx, apoi afișeazăpx. - Apelează din nou
bondprc()pentru a calcula prețul obligațiunii (px_up) dacă randamentul crește cu 1%. - Apelează
bondprc()a treia oară pentru a calcula prețul obligațiunii (px_down) dacă randamentul scade cu 1%. - Folosește cele trei obiecte (
px,px_up,px_down) pentru a calcula durata aproximativă, presupunând o modificare a randamentului de 1%.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Calculate bond price today
px <- bondprc(p = ___, r = ___, ttm = ___, y = ___)
px
# Calculate bond price if yields increase by 1%
px_up <-
px_up
# Calculate bond price if yields decrease by 1%
px_down <-
px_down
# Calculate approximate duration
duration <- (___ - ___) / (___ * ___ * ___)
duration