既知の利回りで債券キャッシュフローを割引する
債券のキャッシュフローを整理したので、各キャッシュフローの現在価値を計算し、債券価格を求める手順に進みます。債券の価値は、キャッシュフローの現在価値の合計であることを思い出してください。
この演習では、各キャッシュフローに対する適切な現在価値係数 pv_factor を計算し、各キャッシュフローの現在価値 pv を求めます。最後に pv を合計して、債券の価値を算出します。
この債券の利回りは 6% で、これが割引率として用いられます。前の演習で作成したデータフレーム cf は、ワークスペースに用意されています。
この演習はコースの一部です
Rで学ぶ債券の評価と分析
演習の手順
- データフレーム
cfに新しい列tを作成し、キャッシュフローを受け取る年を示します。ここでは、年はデータフレームの行名(1、2、3など)に相当します。そのため、rownames()を使ってtを設定できます。値が数値になるようにas.numeric()を使用してください。 - もう一つの新しい列
pv_factorをcfに作成し、各年の現在価値係数を保存します。各年の現在価値係数は、1 を利回り(この場合は 6%、つまり0.06)に 1 を加え、それを時間変数(t)のべき乗にしたもので割って計算します。 cfにpv列を作成し、各年のキャッシュフローの現在価値を保存します。現在価値は、キャッシュフロー(cf)にその年の現在価値係数(pv_factor)を掛けて計算します。- 最後に、
sum()を使ってpvの値を合計し、債券の価値を求めます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Add column t to cf
cf$t <- as.numeric(___(___))
# Calculate pv_factor
cf$pv_factor <- 1 / (1 + ___)^___
# Calculate pv
cf$pv <- ___ * ___
# Calculate the bond price
sum(___$___)