Kom igångKom igång gratis

Omvandla din kod till en obligationsvärderingsfunktion

I de tidigare övningarna gick du steg för steg igenom hur man beräknar värdet på en obligation. Att upprepa alla dessa steg för att värdera många obligationer skulle dock snabbt bli omständligt. Lyckligtvis kan du skapa en funktion som utför samma beräkningar om och om igen för olika obligationer.

Funktionen du skapar måste vara flexibel nog att ta emot obligationens viktigaste egenskaper som indata. Baserat på vårt tidigare exempel behöver funktionen kunna hantera en obligations nominella värde, kupongränta, löptid och avkastning.

I den här övningen skapar du funktionen bondprc, som tar dessa fyra indata och beräknar värdet på en obligation. Kom ihåg att du skapar en funktion med syntaxen function(input 1, input 2, ...) { [kodrader] }.

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

Obligationsvärdering och analys i R

Visa kurs

Övningsinstruktioner

  • En delvis byggd funktion, bondprc, har genererats i din arbetsmiljö. Slutför funktionen genom att konstruera kommandot function() och ange namnen på de fyra indataparametrarna: p för nominellt värde, r för kupongränta, ttm för löptid och y för avkastning.
  • Kontrollera att funktionen bondprc ger ett pris på 95,79 dollar för en obligation med ett nominellt värde på 100 dollar, 5 % kupongränta, 5 års löptid och 6 % avkastning till förfall.

Interaktiv övning med praktiskt arbete

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

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