Beberapa argumen (2)
Mari kita pikirkan contoh yang lebih rumit. Apakah Anda ingat konsep present value dari kursus Introduction to R for Finance? Jika tidak, Anda dapat meninjau videonya di sini. Gagasannya adalah Anda mendiskontokan uang yang akan Anda terima di masa depan pada tingkat bunga tertentu agar merepresentasikan nilai uang tersebut dalam dolar saat ini. Rumus umum berikut dikembangkan untuk membantu hal ini:
present_value <- cash_flow * (1 + i / 100) ^ -year
Bukankah akan lebih mudah jika ada fungsi yang melakukan perhitungan ini untuk Anda? Mungkin dengan bentuk seperti ini:
present_value <- pv(cash_flow, i, year)
Fungsi ini harus berfungsi jika Anda memasukkan numerik seperti pv(1500, 5, 2) dan juga harus berfungsi jika Anda memasukkan vektor dengan panjang yang sama untuk menghitung seluruh vektor nilai kini sekaligus!
Fungsi percent_to_decimal() tersedia untuk Anda gunakan.
Latihan ini adalah bagian dari kursus
R Tingkat Menengah untuk Keuangan
Petunjuk latihan
- Lengkapi bagian kosong dalam fungsi agar melakukan hal berikut:
- Mewajibkan argumen:
cash_flow,i,year - Membuat pengali diskonto:
(1 + i / 100). Gunakan fungsipercent_to_decimal()untuk mengonversiike desimal. - Melakukan perhitungan nilai kini. Jangan simpan dalam variabel. Sebagai baris terakhir yang dieksekusi, hasilnya akan dikembalikan secara otomatis.
- Mewajibkan argumen:
- Hitung nilai kini dari $1200, pada tingkat bunga 7%, yang akan diterima 3 tahun dari sekarang.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Present value function
pv <- function(___, ___, ___) {
# Discount multiplier
mult <- 1 + ___(i)
# Present value calculation
___ * ___ ^ -___
}
# Calculate a present value
___