Beräkna approximativ duration för en obligation
En användbar approximation av durationformeln kallas approximativ duration och ges av $$(P(down) - P(up)) / (2 * P * \Delta y)$$
där \(P\) är obligationens pris, \(P(down)\) är priset om avkastningen sjunker, \(P(up)\) är priset om avkastningen stiger, och \(\Delta y\) är den förväntade förändringen i avkastning.
Den fullständiga durationformeln är mer komplex. Om du är intresserad kan du läsa kapitlet "Fixed Income" i min bok som referens för den formeln.
I den här övningen beräknar du den approximativa durationen för en obligation med nominellt värde på 100 dollar, 10 % kupongränta, 20 år till förfall, 10 % avkastning till förfall och en förväntad avkastningsförändring på 1 %. Använd din välbekanta bondprc()-funktion, som redan är inläst i arbetsytan.
Den här övningen är en del av kursen
Obligationsvärdering och analys i R
Övningsinstruktioner
- Använd
bondprc()för att beräkna obligationspriset i dag givet 10 % avkastning. Spara resultatet ipxoch visa sedanpx. - Använd ett nytt anrop till
bondprc()för att beräkna obligationspriset (px_up) om avkastningen ökar med 1 %. - Använd ett tredje anrop till
bondprc()för att beräkna obligationspriset (px_down) om avkastningen minskar med 1 %. - Använd dina tre objekt (
px,px_up,px_down) för att beräkna den approximativa durationen med antagandet om en avkastningsförändring på 1 %.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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