コードを関数に変換する

Rで学ぶ債券の評価と分析

Clifford Ang

Senior Vice President, Compass Lexecon

債券評価関数

  • 本コースでは多くの債券を評価します
  • 先の章の手順を繰り返します
  • 計算を簡略化するため bondprc() を作成します
Rで学ぶ債券の評価と分析

債券評価の手順

  • これらの入力を一般化:
    • p:額面
    • r:クーポン率
    • ttm:満期までの期間
    • y:利回り
  • 一部のコードも汎用化します
Rで学ぶ債券の評価と分析

債券評価の手順

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - x を y 回繰り返す
  • x = p * r = クーポン支払
  • y = ttm - 1 = 満期までの年数 − 1
  • p * (1 + r) = 元本 + 最後のクーポン
Rで学ぶ債券の評価と分析

債券評価の手順

cf <- data.frame(cf)
  • 変数を追加できるようデータフレームに変換(前節と同様)
cf$t <- as.numeric(rownames(cf))
  • 割引に使う時点インデックスを作成
    • cf ベクターの rownames() は 1, 2, 3, …, 債券の ttm
    • 数値として扱うため as.numeric() が必要
Rで学ぶ債券の評価と分析

債券評価の手順

cf$pv_factor <- 1 / (1 + y)^cf$t
  • 現価係数を計算
cf$pv <- cf$cf * cf$pv_factor
  • 各キャッシュフローの現在価値を計算
sum(cf$pv)
  • 現在価値を合計し債券価値を算出
Rで学ぶ債券の評価と分析

コードをまとめる

  • bondprc() 関数を作成
  • 入力は prttmy
bondprc <- function(p, r, ttm, y){
   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)
}
Rで学ぶ債券の評価と分析

Passons à la pratique !

Rで学ぶ債券の評価と分析

Preparing Video For Download...