Převeď svůj kód do funkce pro oceňování dluhopisů
V předchozích cvičeních jsi krok za krokem zjistil/a, jak vypočítat hodnotu dluhopisu. Opakovat všechny tyto kroky pokaždé, když chceš ocenit nový dluhopis, by ale bylo zdlouhavé. Naštěstí si můžeš vytvořit funkci, která stejné výpočty provede automaticky pro různé dluhopisy.
Funkce musí být dostatečně flexibilní, aby ti umožnila zadat klíčové parametry dluhopisu. Pro náš příklad budeš potřebovat, aby funkce pracovala s nominální hodnotou, kuponovou sazbou, dobou do splatnosti a výnosem.
V tomto cvičení vytvoříš funkci bondprc, která přijímá tyto čtyři vstupy a vypočítá hodnotu dluhopisu. Připomeň si, že funkci vytvoříš pomocí function(input 1, input 2, ...) { [lines of code] }.
Toto cvičení je součástí kurzu
Oceňování a analýza dluhopisů v R
Pokyny k cvičení
- V pracovním prostředí máš připravenou částečně sestavenou funkci
bondprc. Dokonči ji tím, že doplníš příkazfunction()a zadáš názvy čtyř vstupů:ppro nominální hodnotu,rpro kuponovou sazbu,ttmpro dobu do splatnosti aypro výnos. - Ověř, že funkce
bondprcvrátí cenu 95,79 \( pro dluhopis s nominální hodnotou 100 \), kuponovou sazbou 5 %, dobou do splatnosti 5 let a výnosem do splatnosti 6 %.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(___, ___, ___, ___)