Stima del rendimento di un'obbligazione

Valutazione e analisi delle obbligazioni in R

Clifford Ang

Senior Vice President, Compass Lexecon

Trovare il rendimento per tentativi

  • Per le obbligazioni scambiate, si può implicare il rendimento
  • Conosci prezzo e flussi: puoi fare “tentativi” sul rendimento
  • Il rendimento “corretto” rende uguali prezzo e PV dei flussi
Valutazione e analisi delle obbligazioni in R

Iterare su diversi tentativi

  • Obbligazione: valore nominale $100, cedola 5%, 10 anni, prezzo $92,64
  • 1° tentativo: 5% → Prezzo $100 (troppo alto)
  • 2° tentativo: 7% → Prezzo $85,95 (troppo basso)
  • 3° tentativo: 6% → Prezzo $92,64 (corretto)
Valutazione e analisi delle obbligazioni in R

Automatizzare il processo

  • Il metodo per tentativi è inefficiente
  • Possiamo usare uniroot() in R per automatizzare
Valutazione e analisi delle obbligazioni in R

Crea la funzione con uniroot()\n

ytm <- function(cf) {
    uniroot(bval, c(0, 1), cf = cf)$root
}
  • Crea la funzione ytm() con uniroot()
  • Prende un vettore di flussi modificato (cf) e usa la funzione bval
  • c(0,1) limita la ricerca a un rendimento tra 0% e 100%
Valutazione e analisi delle obbligazioni in R

Vettore di flussi modificato

cf <- c(-92.64, 5, 5, 5, 5, 5, 5, 5, 5, 5, 105)
  • Il primo elemento è il prezzo dell’obbligazione inserito come negativo
  • Dal secondo in poi: flussi dell’obbligazione — cedole più valore nominale
  • Stessa obbligazione: prezzo -$\$92.64$, valore nominale $\$100$, cedola 5%, 10 anni
Valutazione e analisi delle obbligazioni in R

Funzione di valutazione modificata

bval <- function(i, cf, t = seq(along = cf))  sum(cf / (1 + i)^t)
  • Crea la funzione di valutazione bval() che usa il vettore di flussi modificato (cf)
  • Logica uguale a bondprc()
  • Crea l’indicatore temporale (t)
  • Attualizza i flussi con il tasso (i)
Valutazione e analisi delle obbligazioni in R

Passons à la pratique !

Valutazione e analisi delle obbligazioni in R

Preparing Video For Download...