IniziaInizia gratis

Rappresentare la relazione prezzo/rendimento

Sebbene tra prezzo e rendimento ci sia una relazione inversa, questa relazione non è lineare. Ciò significa che le variazioni di prezzo dovute a cambiamenti nel rendimento possono essere molto diverse a seconda che il rendimento salga o scenda. Torneremo su questo concetto fondamentale quando parleremo di convessità nel Capitolo Tre e di come sia necessario un aggiustamento per tenere conto della relazione curvilinea tra il prezzo di un'obbligazione e il suo rendimento. Per ora, ti basta ricordare che questa relazione inversa è non lineare.

In questo esercizio, supponi di avere un'obbligazione con valore nominale di $100, cedola del 10% e 20 anni alla scadenza. Nota che è diversa dall'obbligazione su cui hai lavorato finora! Il tuo obiettivo è valutare questa obbligazione a diversi livelli di rendimento usando la tua funzione bondprc(), disponibile nel tuo workspace.

Questo esercizio fa parte del corso

Valutazione e analisi delle obbligazioni in R

Visualizza il corso

Istruzioni dell'esercizio

  • Crea il vettore prc_yld dal 2% (0.02) al 40% (0.40) con incrementi dell'1% (0.01) usando la funzione seq().
  • Usa data.frame() per convertire prc_yld in un data frame.
  • Usa il ciclo for già scritto con bondprc() per calcolare il prezzo dell'obbligazione ai diversi livelli di rendimento in prc_yld. Cerca di capire il comportamento del ciclo.
  • Il tuo oggetto prc_yld ora contiene una colonna per il rendimento (prc_yld) e una per il prezzo (price). Rappresenta graficamente questo oggetto usando il codice già scritto per vedere la relazione tra prezzo e rendimento a scadenza (YTM).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Generate prc_yld
prc_yld <- seq(___, ___, ___)

# Convert prc_yld to data frame
prc_yld <- data.frame(___)

# Calculate bond price given different yields
for (i in 1:nrow(prc_yld)) {
     prc_yld$price[i] <- bondprc(100, 0.10, 20, prc_yld$prc_yld[i])  
}

# Plot P/YTM relationship
plot(___,
     type = "l",
     col = "blue",
     main = "Price/YTM Relationship")
Modifica ed esegui il codice