始める無料で始める

予測価格と実際の価格 I

利回りの水準ごとにデュレーションで予測した債券価格をプロットし、それを実際の価格と比べると、デュレーションの精度を視覚的に確認できます。

この演習では、まず債券のデュレーションを求め、異なる利回り水準での債券価格を計算します。次の演習で、デュレーションからの予測価格を求め、差をプロットします。

対象とする債券は、年限10年、年クーポン5%、最終利回り5%の債券です。

numpynumpy_financialpandasmatplotlib は、それぞれ npnpfpdplt としてすでにインポートされています。

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

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, ____, ____, ____)
コードを編集して実行