始める無料で始める

債券の概算デュレーションを計算する

デュレーションの有用な近似式として、概算デュレーション(approximate duration)があります。式は $$(P(down) - P(up)) / (2 * P * \Delta y)$$ です。

ここで、\(P\) は債券価格、\(P(down)\) は利回りが低下したときの債券価格、\(P(up)\) は利回りが上昇したときの債券価格、\(\Delta y\) は想定する利回り変化幅です。

完全なデュレーションの定義はより複雑です。興味があれば、拙著の「Fixed Income」章を参照してください。

この演習では、額面 \(100、クーポン率 10%、満期 20 年、満期利回り 10%、想定利回り変化 1%\) の債券について概算デュレーションを計算します。計算には、ワークスペースに読み込まれているおなじみの bondprc() 関数を使います。

この演習はコースの一部です

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

コースを見る

演習の手順

  • 満期利回り 10% を与えて bondprc() で今日の債券価格を計算し、px に保存してから px を表示します。
  • 利回りが 1% 上昇した場合の債券価格を、もう一度 bondprc() を使って計算し、px_up に保存します。
  • 利回りが 1% 低下した場合の債券価格を、3 回目の bondprc() の呼び出しで計算し、px_down に保存します。
  • 3 つのオブジェクト(pxpx_uppx_down)を使って、利回りが 1% 変化すると仮定した概算デュレーションを計算します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Calculate bond price today
px <- bondprc(p = ___, r = ___, ttm = ___, y = ___)
px

# Calculate bond price if yields increase by 1%
px_up <- 
px_up

# Calculate bond price if yields decrease by 1%
px_down <- 
px_down

# Calculate approximate duration
duration <- (___ - ___) / (___ * ___ * ___)
duration
コードを編集して実行