開始使用免費開始

多個引數(2)

來想個更複雜的例子。你還記得在「Introduction to R for Finance」課程中的「現值(present value)」嗎?如果不記得,可以在這裡回顧該影片:here。概念是:你要用特定的利率把未來會收到的金額折現,換算成以今天的美元計價。以下是一個通用公式:

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

如果有一個函式能幫你自動計算,不是更好嗎?例如這種形式:

present_value <- pv(cash_flow, i, year)

這個函式應該要能在你傳入數值時運作,例如 pv(1500, 5, 2),也要能在你傳入等長向量時,一次計算整個現值向量!

你可以使用已提供的 percent_to_decimal() 函式。

本練習屬於課程

R 金融中級

檢視課程

練習說明

  • 將函式中的空白補齊,使其完成以下工作:
    • 要求引數:cash_flowiyear
    • 建立折現乘數:(1 + i / 100)。使用 percent_to_decimal()i 轉為小數。
    • 執行現值計算。不要將結果存成變數。由於它是最後一行執行,會自動回傳。
  • 計算在 3 年後收到、利率為 7%、金額為 $1200 的現值。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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

# Calculate a present value
___
編輯並執行程式碼