Meerdere argumenten (2)
Laten we een wat ingewikkelder voorbeeld bekijken. Weet je de term present value nog uit de cursus Introduction to R for Finance? Zo niet, bekijk dan de video hierover hier. Het idee is dat je geld dat je in de toekomst ontvangt, contant maakt tegen een bepaalde rente om de waarde in huidige dollars weer te geven. De volgende algemene formule helpt daarbij:
present_value <- cash_flow * (1 + i / 100) ^ -year
Zou het niet fijn zijn om een functie te hebben die deze berekening voor je doet? Iets in de trant van:
present_value <- pv(cash_flow, i, year)
Deze functie moet werken als je numerieke waarden doorgeeft zoals pv(1500, 5, 2) en ook als je vectoren van gelijke lengte doorgeeft om in één keer een hele vector met contante waarden te berekenen!
De functie percent_to_decimal() is beschikbaar om te gebruiken.
Deze oefening maakt deel uit van de cursus
R voor finance voor gevorderden
Oefeninstructies
- Vul de lege plekken in de functie in zodat deze het volgende doet:
- Vereis de argumenten:
cash_flow,i,year - Maak de discontovermenigvuldiger:
(1 + i / 100). Gebruik de functiepercent_to_decimal()ominaar een decimaal om te zetten. - Voer de contantewaardeberekening uit. Sla dit niet op in een variabele. Als laatste uitgevoerde regel wordt het automatisch geretourneerd.
- Vereis de argumenten:
- Bereken de contante waarde van $1200, tegen een rente van 7%, te ontvangen over 3 jaar.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Present value function
pv <- function(___, ___, ___) {
# Discount multiplier
mult <- 1 + ___(i)
# Present value calculation
___ * ___ ^ -___
}
# Calculate a present value
___