予測価格と実際の価格 I
利回りの水準ごとにデュレーションで予測した債券価格をプロットし、それを実際の価格と比べると、デュレーションの精度を視覚的に確認できます。
この演習では、まず債券のデュレーションを求め、異なる利回り水準での債券価格を計算します。次の演習で、デュレーションからの予測価格を求め、差をプロットします。
対象とする債券は、年限10年、年クーポン5%、最終利回り5%の債券です。
numpy、numpy_financial、pandas、matplotlib は、それぞれ np、npf、pd、plt としてすでにインポートされています。
この演習はコースの一部です
Pythonで学ぶ債券の評価と分析
演習の手順
- 債券のデュレーションとドル・デュレーションを求めてください。
- 0 から 10 まで 0.1 刻みの債券利回りの配列を作成し、この配列を
bond_yieldという名前のpandasの DataFrame に変換してください。 - 各利回り水準に対応する債券価格を格納する
price列を追加してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____
# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____
# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])
# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)