Alternativ kod för kassaflödesvektor
I exemplet ovan kan du ha kodat kassaflödesvektorn genom att skriva cf <- c(3, 3, 3, 3, 3, 3, 3, 103).
Detta kan dock kännas lite omständligt. Ett alternativ är att koda kassaflödesvektorn med kommandot rep(). Genom att skriva rep(x, y) upprepas x automatiskt y gånger. Till exempel är rep(1, 4) likvärdigt med c(1, 1, 1, 1).
I den här övningen konstruerar du en mer generell funktion för att beräkna en kassaflödesvektor utifrån en serie indata: r för kupongränta, p för nominellt värde och ttm för löptid. Du utnyttjar kommandot rep() för att åstadkomma detta.
Den här övningen är en del av kursen
Obligationsvärdering och analys i R
Övningsinstruktioner
- Koda en alternativ kassaflödesfunktion med
rep()och indatavariablernar,pochttm. Spara den nya funktionen somalt_cf. - Använd
alt_cfför att generera en kassaflödesvektor med kupongränta (r) på 3 % (0.03), nominellt värde (p) på 100 dollar och löptid (ttm) på 8 år.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Code cash flow function
alt_cf <- function(r, p, ttm) {
c(rep(p * r, ___ - 1), ___ * (1 + ___))
}
# Generate cf vector
alt_cf(r = ___, p = ___, ttm = ___)