債券価格と利回りの関係

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

Joshua Mayhew

Options Trader

政府債の長期利回りの推移

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

債券価格と利回りのプロット

import numpy as np
import numpy_financial as npf
import pandas as pd
import matplotlib.pyplot as plt
bond_yields = np.arange(0, 20, 0.1)
print(bond_yields)
[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3
...
18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9]
Pythonで学ぶ債券の評価と分析

債券価格と利回りのプロット

bond = pd.DataFrame(bond_yields, columns=['bond_yield'])
print(bond)
     bond_yield
0           0.0
1           0.1
..          ...
198        19.8
199        19.9
[200 rows x 1 columns]
Pythonで学ぶ債券の評価と分析

債券価格と利回りのプロット

bond['bond_price'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=10, pmt=5, fv=100)
print(bond)
     bond_yield  bond_price
0           0.0  150.000000
1           0.1  148.731575
..          ...         ...
198        19.8   37.527719
199        19.9   37.319493
[200 rows x 2 columns]
Pythonで学ぶ債券の評価と分析

債券価格と利回りのプロット

plt.plot(bond['bond_yield'], bond['bond_price'])

plt.xlabel('Yield (%)')
plt.ylabel('Bond Price (USD)')
plt.title("10 Year Bond 5% Annual Coupon")
plt.show()

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

価格と利回りの関係

価格は利回りと逆相関

利回り↑ = 割引率↑ = 現在価値↓

価格↑は投資収益(利回り)を低下させる

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

価格と利回りの関係

プレミアム債 vs. ディスカウント債

ディスカウント: 価格 < 100、利回り > クーポン

パー: 価格 = 100、利回り = クーポン

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

価格と利回りの関係

価格/利回りの関係は非線形

描いた線は直線ではない

これは「コンベクシティ」による

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

価格と利回りの関係

要点まとめ:

  • 価格と利回りは逆に動く
  • プレミアム: 価格 > 100、利回り < クーポン
  • ディスカウント: 価格 < 100、利回り > クーポン
  • パー: 価格 = 100、利回り = クーポン
  • 価格/利回りの関係は非線形

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

Ayo berlatih!

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

Preparing Video For Download...