Kom igångKom igång gratis

Flera argument (2)

Nu ska vi titta på ett lite mer komplext exempel. Minns du nuvärde från kursen Introduction to R for Finance? Om inte kan du se videon för det här. Idén är att du vill diskontera pengar som du får i framtiden med en viss ränta, för att representera värdet av dessa pengar i dagens termer. Följande allmänna formel används för detta:

present_value <- cash_flow * (1 + i / 100) ^ -year

Vore det inte praktiskt att ha en funktion som utför den här beräkningen åt dig? Något i stil med:

present_value <- pv(cash_flow, i, year)

Funktionen ska fungera både om du skickar in enskilda tal som pv(1500, 5, 2) och om du skickar in vektorer av samma längd för att beräkna en hel nuvärdesvektor på en gång!

Funktionen percent_to_decimal() finns tillgänglig för dig att använda.

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

R för finans – fortsättningskurs

Visa kurs

Övningsinstruktioner

  • Fyll i luckorna i funktionen så att den gör följande:
    • Ta emot argumenten: cash_flow, i, year
    • Skapa diskonteringsmultiplikatorn: (1 + i / 100). Använd funktionen percent_to_decimal() för att konvertera i till ett decimaltal.
    • Utför nuvärdesberäkningen. Spara inte resultatet i en variabel. Eftersom det är den sista raden som körs returneras värdet automatiskt.
  • Beräkna nuvärdet av 1 200 dollar, vid en ränta på 7 %, som ska tas emot om 3 år.

Interaktiv övning med praktiskt arbete

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

# Present value function
pv <- function(___, ___, ___) {
    
    # Discount multiplier
    mult <- 1 + ___(i)
    
    # Present value calculation
    ___ * ___ ^ -___
}

# Calculate a present value
___
Redigera och kör kod