開始使用免費開始

把你的程式碼轉成債券定價函式

在前面的練習中,你已經一步一步完成如何計算債券的價值。不過,若要重複對許多債券做同樣的步驟,會相當費時。所幸,你可以建立一個函式,讓這些計算能針對不同債券重複執行。

你建立的函式需要有彈性,能讓你輸入債券的關鍵特性。在我們先前的例子中,你需要讓函式可以納入債券的面額(par value)、票面利率(coupon rate)、到期年數(time to maturity),以及殖利率(yield)。

在這個練習中,你會建立函式 bondprc,它接受這四個輸入來計算債券的價值。回想一下,建立函式可以使用 function(input 1, input 2, ...) { [lines of code] }

本練習屬於課程

在 R 中進行債券評價與分析

檢視課程

練習說明

  • 你的工作空間中已經產生一個部分完成的函式 bondprc。請完成這個函式:建立 function() 指令,並提供四個輸入名稱:面額用 p、票面利率用 r、到期年數用 ttm、殖利率用 y
  • 驗證 bondprc 函式是否回傳 $95.79 的價格,條件為面額 $100、票面利率 5%、到期年數 5 年、到期殖利率 6%。

動手互動練習

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

# Create function
bondprc <- ___(___, ___, ___, ___) {
  cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  cf <- data.frame(cf)
  cf$t <- as.numeric(rownames(cf))
  cf$pv_factor <- 1 / (1 + y)^cf$t
  cf$pv <- cf$cf * cf$pv_factor
  sum(cf$pv)
}

# Verify prior result
bondprc(___, ___, ___, ___)
編輯並執行程式碼