替代的現金流向量程式碼
在上面的例子中,你可能直接把現金流向量寫成 cf <- c(3, 3, 3, 3, 3, 3, 3, 103)。
不過,這樣有點繁瑣。另一種作法是使用 rep() 指令來建立現金流向量。輸入 rep(x, y) 會自動把 x 重複 y 次。舉例來說,rep(1, 4) 等同於輸入 c(1, 1, 1, 1)。
在這個練習中,你會撰寫一個更通用的函式,根據一組輸入來建立現金流向量:r 代表票面利率(coupon rate)、p 代表票面價值(par value)、ttm 代表到期年限(time to maturity)。為了達成這點,你將善用 rep() 指令。
本練習屬於課程
在 R 中進行債券評價與分析
練習說明
- 使用
rep()與輸入變數r、p、ttm撰寫一個替代的現金流函式,並將此新函式存為alt_cf。 - 使用
alt_cf產生一個現金流向量,其中票面利率(r)為 3%(0.03)、票面價值(p)為 $100、到期年限(ttm)為 8 年。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Code cash flow function
alt_cf <- function(r, p, ttm) {
c(rep(p * r, ___ - 1), ___ * (1 + ___))
}
# Generate cf vector
alt_cf(r = ___, p = ___, ttm = ___)