Duration

Valutazione e analisi delle obbligazioni in Python

Joshua Mayhew

Options Trader

Il contesto della duration

  • Prezzi e rendimenti si muovono in senso opposto
  • Non sappiamo quanto un bond sia sensibile ai tassi
  • La duration misura la sensibilità ai tassi d’interesse
Valutazione e analisi delle obbligazioni in Python

Esempio motivante

  • Considera un bond a 5 e uno a 10 anni, entrambi con cedola 5%
  • Con rendimento 5% hanno entrambi prezzo USD 100:
-npf.pv(rate=0.05, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.05, nper=10, pmt=5, fv=100)
100.00
100.00
Valutazione e analisi delle obbligazioni in Python

Esempio motivante

Se i tassi salgono al 6%:

-npf.pv(rate=0.06, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.06, nper=10, pmt=5, fv=100)
95.79
92.64
  • Il bond a 5 anni perde il 4,21%, quello a 10 anni il 7,36%

  • Il bond a 10 anni è più sensibile ai cambi dei tassi

Valutazione e analisi delle obbligazioni in Python

Cos’è la duration?

  • La duration è la variazione % di prezzo per un cambio dell’1% nei rendimenti (tassi).
  • Duration più alta = rischio tasso più alto
  • Tipicamente usata per:
    • Misurare il rischio tasso
    • Coprire (hedge) il rischio tasso
    • Stimare P&L al variare dei tassi
Valutazione e analisi delle obbligazioni in Python

Calcolo della duration

Useremo una formula semplificata per la duration:

 

${\large Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

 

  • $P_{down}$ = Prezzo del bond con rendimento più basso di 1%
  • $P_{up}$ = Prezzo del bond con rendimento più alto di 1%
  • $P$ = Prezzo del bond al rendimento attuale
  • $\Delta y$ = Variazione del rendimento (useremo 1%)
Valutazione e analisi delle obbligazioni in Python

Esempio di duration

Bond a 10 anni, cedola 5% annua, rendimento a scadenza 4%: qual è la sua duration?

${ Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

price = -npf.pv(rate=0.05, nper=10, pmt=5, fv=100)

price_up = -npf.pv(rate=0.06, nper=10, pmt=5, fv=100) price_down = -npf.pv(rate=0.04, nper=10, pmt=5, fv=100)
duration = (price_down - price_up) / (2 * price * 0.01) print(duration)
7.74

Un movimento dell’1% dei tassi genera un cambio del 7,74% nel prezzo del bond.

Valutazione e analisi delle obbligazioni in Python

Riepilogo

  • I bond possono reagire in modo diverso allo stesso cambio di rendimento
  • La duration è la variazione % del prezzo per un cambio dell’1% nei rendimenti
  • La duration misura la sensibilità ai tassi d’interesse
Valutazione e analisi delle obbligazioni in Python

Ayo berlatih!

Valutazione e analisi delle obbligazioni in Python

Preparing Video For Download...