Trasforma il codice in una funzione

Valutazione e analisi delle obbligazioni in R

Clifford Ang

Senior Vice President, Compass Lexecon

Funzione di valutazione dei bond

  • Valuteremo molti bond in questo corso
  • Ripeteremo i passaggi del capitolo precedente
  • Creeremo la funzione bondprc() per semplificare i calcoli
Valutazione e analisi delle obbligazioni in R

Passaggi per valutare un bond

  • Generalizza questi input:
    • p valore nominale
    • r tasso cedolare
    • ttm tempo a scadenza
    • y rendimento
  • Rendiamo anche parte del codice più generico
Valutazione e analisi delle obbligazioni in R

Passaggi per valutare un bond

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - ripete y volte il valore x
  • x = p * r = cedola
  • y = ttm - 1 = tempo a scadenza meno un anno
  • p * (1 + r) = capitale + ultima cedola
Valutazione e analisi delle obbligazioni in R

Passaggi per valutare un bond

cf <- data.frame(cf)
  • Converti in data frame per aggiungere variabili (come nella sezione precedente)
cf$t <- as.numeric(rownames(cf))
  • Crea l’indice temporale per l’attualizzazione
    • rownames() di cf è 1, 2, 3, 4, fino a ttm del bond
    • as.numeric() serve per leggere i valori come numeri
Valutazione e analisi delle obbligazioni in R

Passaggi per valutare un bond

cf$pv_factor <- 1 / (1 + y)^cf$t
  • Calcola il fattore di PV
cf$pv <- cf$cf * cf$pv_factor
  • Calcola il PV di ciascun flusso
sum(cf$pv)
  • Somma i PV per ottenere il valore del bond
Valutazione e analisi delle obbligazioni in R

Racchiudi il codice

  • Crea la funzione bondprc()
  • Prende in input p, r, ttm e y
bondprc <- function(p, r, ttm, y){
   cf <- c(rep(p * r, ttm - 1), p * (1 + r))
   cf <- data.frame(cf)
   cf$t <- as.numeric(rownames(cf))
   cf$pv_factor <- 1 / (1 + y)^cf$t
   cf$pv <- cf$cf * cf$pv_factor
   sum(cf$pv)
}
Valutazione e analisi delle obbligazioni in R

Passons à la pratique !

Valutazione e analisi delle obbligazioni in R

Preparing Video For Download...