估計債券殖利率

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

Clifford Ang

Senior Vice President, Compass Lexecon

用試誤法找殖利率

  • 對可交易債券,可以推算其殖利率
  • 若知道價格與債券現金流,你可以「猜測」殖利率
  • 「正確」的殖利率會讓債券價格等於其現金流的現值(PV)
在 R 中進行債券評價與分析

反覆嘗試不同猜測

  • 考慮一檔面額 $100、票面利率 5%、到期 10 年、價格 $92.64 的債券
  • 第 1 次猜:5% → 價格 $100(偏高)
  • 第 2 次猜:7% → 價格 $85.95(偏低)
  • 第 3 次猜:6% → 價格 $92.64(正確)
在 R 中進行債券評價與分析

自動化流程

  • 試誤法效率不佳
  • 幸好可以用 R 的 uniroot() 來自動化
在 R 中進行債券評價與分析

用 uniroot() 建立函式

ytm <- function(cf) {
    uniroot(bval, c(0, 1), cf = cf)$root
}
  • 使用 uniroot() 建立 ytm() 函式
  • 函式接收修改後的現金流向量(cf),並使用修改版債券評價函式(bval
  • c(0,1) 將搜尋區間限制在 0% 到 100% 的殖利率
在 R 中進行債券評價與分析

修改後的現金流向量

cf <- c(-92.64, 5, 5, 5, 5, 5, 5, 5, 5, 5, 105)
  • 第 1 個元素是債券價格,以負號輸入
  • 第 2 個元素起是債券現金流:票息加面額
  • 同一檔債:價格 -$\$92.64$、面額 $\$100$、票面利率 5%、到期 10 年
在 R 中進行債券評價與分析

修改版債券評價函式

bval <- function(i, cf, t = seq(along = cf))  sum(cf / (1 + i)^t)
  • 建立使用修改後現金流向量(cf)的債券評價函式 bval()
  • 邏輯與 bondprc() 相同
  • 建立時間指標(t
  • 以利率(i)貼現現金流
在 R 中進行債券評價與分析

一起來練習吧!

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

Preparing Video For Download...