Zacznij terazZacznij za darmo

Wiele argumentów (2)

Przyjrzyjmy się bardziej złożonemu przykładowi. Pamiętasz wartość bieżącą z kursu Introduction to R for Finance? Jeśli nie, możesz odświeżyć materiał z wideo dostępnego tutaj. Chodzi o to, żeby zdyskontować pieniądze, które otrzymasz w przyszłości, przy określonej stopie procentowej – tak, by odzwierciedlały ich wartość w dzisiejszych złotych. Do tego celu służy następujący ogólny wzór:

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

Czy nie byłoby wygodnie mieć funkcję, która wykonuje to obliczenie za ciebie? Na przykład o takiej postaci:

present_value <- pv(cash_flow, i, year)

Taka funkcja powinna działać zarówno wtedy, gdy przekażesz liczby, np. pv(1500, 5, 2), jak i wtedy, gdy przekażesz wektory jednakowej długości – żeby obliczyć cały wektor wartości bieżących naraz!

Do dyspozycji masz funkcję percent_to_decimal().

To ćwiczenie jest częścią kursu

R dla finansów – poziom średnio zaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij brakujące fragmenty funkcji tak, aby spełniała następujące warunki:
    • Przyjmowała argumenty: cash_flow, i, year
    • Tworzyła mnożnik dyskontowy: (1 + i / 100). Użyj funkcji percent_to_decimal(), aby przekonwertować i na liczbę dziesiętną.
    • Wykonywała obliczenie wartości bieżącej. Nie przypisuj wyniku do zmiennej. Jako ostatnia wykonana linia zostanie on zwrócony automatycznie.
  • Oblicz wartość bieżącą kwoty 1200 USD przy stopie procentowej 7%, która ma zostać otrzymana za 3 lata.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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

# Calculate a present value
___
Edytuj i uruchom kod