Calcola la duration approssimata di un'obbligazione
Una pratica approssimazione della formula della duration è chiamata duration approssimata ed è data da $$(P(down) - P(up)) / (2 * P * \Delta y)$$
dove \(P\) è il prezzo dell'obbligazione, \(P(down)\) è il prezzo dell'obbligazione se il rendimento diminuisce, \(P(up)\) è il prezzo dell'obbligazione se il rendimento aumenta e \(\Delta y\) è la variazione attesa del rendimento.
La formula completa della duration è più complessa. Se ti interessa, puoi consultare il capitolo "Fixed Income" del mio libro come riferimento per quella formula.
In questo esercizio calcolerai la duration approssimata di un'obbligazione con valore nominale $100, tasso cedolare 10%, 20 anni alla scadenza, rendimento a scadenza 10% e una variazione attesa del rendimento dell'1%. Per fare questo calcolo, usa la ben nota funzione bondprc(), già precaricata nell'ambiente di lavoro.
Questo esercizio fa parte del corso
Valutazione e analisi delle obbligazioni in R
Istruzioni dell'esercizio
- Usa
bondprc()per calcolare il prezzo dell'obbligazione oggi dato un rendimento del 10%. Salva il risultato inpxe poi visualizzapx. - Fai un'altra chiamata a
bondprc()per calcolare il prezzo dell'obbligazione (px_up) se il rendimento aumenta dell'1%. - Fai una terza chiamata a
bondprc()per calcolare il prezzo dell'obbligazione (px_down) se il rendimento diminuisce dell'1%. - Usa i tre oggetti (
px,px_up,px_down) per calcolare la duration approssimata assumendo una variazione dei rendimenti dell'1%.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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