Duration

Obligationsvärdering och -analys i Python

Joshua Mayhew

Options Trader

Bakgrunden till duration

  • Priser och avkastning rör sig omvänt
  • Vi vet inte hur känslig en obligation är för räntor
  • Duration mäter räntekänslighet
Obligationsvärdering och -analys i Python

Motiverande exempel

  • Ta en 5-årig och en 10-årig obligation, båda med 5% kupong
  • Vid 5% avkastning har båda ett pris på 100 USD:
-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
Obligationsvärdering och -analys i Python

Motiverande exempel

Om räntorna stiger till 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
  • Den 5-åriga obligationen tappade 4,21% av sitt värde, medan den 10-åriga tappade 7,36%

  • Den 10-åriga obligationen var känsligare för ränteförändringar

Obligationsvärdering och -analys i Python

Vad är duration?

  • Duration är den procentuella prisförändringen vid 1% förändring i avkastning (räntor).
  • Högre duration = högre ränterisk
  • Används vanligtvis för att:
    • Mäta ränterisk
    • Säkra ränterisk
    • Förutse vinst och förlust vid ränteförändringar
Obligationsvärdering och -analys i Python

Beräkna duration

Vi använder en förenklad formel för duration:

 

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

 

  • $P_{down}$ = Obligationspris vid 1% lägre avkastning
  • $P_{up}$ = Obligationspris vid 1% högre avkastning
  • $P$ = Obligationspris vid aktuell avkastning
  • $\Delta y$ = Förändring i avkastning (vi använder 1%)
Obligationsvärdering och -analys i Python

Durationsexempel

10-årig obligation, 5% årlig kupong, 4% avkastning till förfall – vad är durationen?

${ 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

En ränteförändring på 1% ger en prisförändring på 7,74% för obligationen.

Obligationsvärdering och -analys i Python

Sammanfattning

  • Obligationer kan reagera olika på samma avkastningsförändring
  • Duration är den procentuella prisförändringen för en obligation vid 1% ränteförändring
  • Duration mäter räntekänslighet
Obligationsvärdering och -analys i Python

Nu kör vi en övning!

Obligationsvärdering och -analys i Python

Preparing Video For Download...