IniziaInizia gratis

Trasforma il tuo codice in una funzione di valutazione obbligazionaria

Negli esercizi precedenti hai seguito, passo dopo passo, come calcolare il valore di un’obbligazione. Tuttavia, ripetere tutti quei passaggi per valutare molte obbligazioni sarebbe scomodo. Per fortuna, puoi creare una funzione che esegua sempre gli stessi calcoli per obbligazioni diverse.

La funzione che crei deve essere flessibile e permetterti di inserire le caratteristiche chiave dell’obbligazione. Riprendendo il nostro esempio precedente, ti servirà che la funzione consideri il valore nominale (par), il tasso cedolare (coupon rate), il tempo alla scadenza (time to maturity) e il rendimento (yield).

In questo esercizio creerai la funzione bondprc che prende questi quattro input per calcolare il valore di un’obbligazione. Ricorda che per creare una funzione puoi usare function(input 1, input 2, ...) { [lines of code] }.

Questo esercizio fa parte del corso

Valutazione e analisi delle obbligazioni in R

Visualizza il corso

Istruzioni dell'esercizio

  • Una funzione parzialmente costruita, bondprc, è stata generata nel tuo workspace. Completa la funzione costruendo il comando function() e fornendo i nomi dei quattro input: p per il valore nominale, r per il tasso cedolare, ttm per il tempo alla scadenza e y per il rendimento.
  • Verifica che la funzione bondprc restituisca un prezzo di $95.79 per il valore di un’obbligazione con valore nominale di $100, tasso cedolare del 5%, 5 anni alla scadenza e rendimento a scadenza del 6%.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create function
bondprc <- ___(___, ___, ___, ___) {
  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)
}

# Verify prior result
bondprc(___, ___, ___, ___)
Modifica ed esegui il codice