Oblicz przybliżony czas trwania (duration) obligacji
Przydatnym przybliżeniem wzoru na duration jest tzw. przybliżone duration, dane wzorem $$(P(down) - P(up)) / (2 * P * \Delta y)$$
gdzie \(P\) to cena obligacji, \(P(down)\) to cena obligacji przy spadku rentowności, \(P(up)\) to cena obligacji przy wzroście rentowności, a \(\Delta y\) to oczekiwana zmiana rentowności.
Pełny wzór na duration jest bardziej złożony. Jeśli chcesz się z nim zapoznać, możesz zajrzeć do rozdziału „Fixed Income" w mojej książce.
W tym ćwiczeniu obliczysz przybliżone duration obligacji o wartości nominalnej 100 USD, oprocentowaniu kuponu 10%, terminie wykupu 20 lat, rentowności 10% oraz oczekiwanej zmianie rentowności o 1%. Do obliczeń użyj dobrze ci już znanych funkcji bondprc(), która jest wczytana w środowisku roboczym.
To ćwiczenie jest częścią kursu
Wycena i analiza obligacji w R
Instrukcje do ćwiczenia
- Użyj
bondprc(), aby obliczyć dzisiejszą cenę obligacji przy rentowności 10%. Zapisz wynik dopx, a następnie wyświetlpx. - Wywołaj
bondprc()ponownie, aby obliczyć cenę obligacji (px_up) przy wzroście rentowności o 1%. - Wywołaj
bondprc()po raz trzeci, aby obliczyć cenę obligacji (px_down) przy spadku rentowności o 1%. - Korzystając z trzech obiektów (
px,px_up,px_down), oblicz przybliżone duration przy założeniu zmiany rentowności o 1%.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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