Kom igångKom igång gratis

Plotta förhållandet mellan pris och avkastning

Även om det finns ett omvänt förhållande mellan pris och avkastning är detta förhållande inte linjärt. Det innebär att prisförändringar till följd av en förändrad avkastning kan skilja sig avsevärt beroende på om avkastningen stiger eller sjunker. Vi återkommer till detta viktiga begrepp när vi diskuterar konvexitet i kapitel tre och hur en justering behövs för att ta hänsyn till det kurvilinjära förhållandet mellan en obligations pris och avkastning. Kom tills vidare ihåg att detta omvända förhållande är icke-linjärt.

I den här övningen utgår du från en obligation med ett nominellt värde på 100 dollar, en kupongränta på 10 % och en löptid på 20 år. Observera att detta skiljer sig från obligationen du har arbetat med hittills! Målet är att värdera obligationen vid olika avkastningsnivåer med hjälp av funktionen bondprc(), som finns tillgänglig i din arbetsmiljö.

Den här övningen är en del av kursen

Obligationsvärdering och analys i R

Visa kurs

Övningsinstruktioner

  • Skapa vektorn prc_yld från 2 % (0.02) till 40 % (0.40) med steg om 1 % (0.01) med hjälp av funktionen seq().
  • Använd data.frame() för att konvertera prc_yld till en dataram.
  • Använd den färdigskrivna for-loopen med bondprc() för att beräkna obligationspriset vid olika avkastningsnivåer i prc_yld. Försök att förstå hur loopen beter sig.
  • Objektet prc_yld innehåller nu en kolumn för avkastning (prc_yld) och en kolumn för pris (price). Plotta objektet med den färdigskrivna koden för att se förhållandet mellan pris och direktavkastning (YTM).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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")
Redigera och kör kod