債券の概算デュレーションを計算する
デュレーションの有用な近似式として、概算デュレーション(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 つのオブジェクト(
px、px_up、px_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