始める無料で始める

オプションを使ったヘッジ

IBM を1銘柄だけ保有する投資ポートフォリオがあるとします。ここでは、IBM のヨーロピアン・プット・オプションを使った「デルタ・ヘッジ」でポートフォリオのリスクを抑えます。

まず、Black-Scholes オプション価格理論を用いて、行使価格 X が 80、満期までの時間 T が半年(1/2 年)のヨーロピアン・プットを評価します。無リスク金利は 2%、スポット価格 S は最初は 70 です。

次に、bs_delta() 関数でこのオプションの delta を計算し、株価が 69.5 に「変化」したときにヘッジを構築します。これにより、オプションと株式を組み合わせたデルタ・ニュートラルなポートフォリオになります。

black_scholes()bs_delta() の両関数はワークスペースで利用できます。

black_scholes()bs_delta() のソースコードはこちらで確認できます。

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

Pythonで学ぶ定量的リスク管理

コースを見る

演習の手順

  • スポット価格 70 におけるヨーロピアン・プットの価格を計算します。
  • 提供されている bs_delta() 関数を使い、スポット価格 70 におけるオプションの delta を求めます。
  • スポット価格が 69.5 に下落したときの value_change(オプション価値の変化)を計算します。
  • スポット価格の変化額と、1/delta を重みとして掛けた value_change の合計が 0(に近い値)になることを確認します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Compute the annualized standard deviation of `IBM` returns
sigma = np.sqrt(252) * IBM_returns.std()

# Compute the Black-Scholes value at IBM spot price 70
value = black_scholes(S = ____, X = 80, T = 0.5, r = 0.02, 
                      sigma = sigma, option_type = "put")
# Find the delta of the option at IBM spot price 70
delta = bs_delta(S = ____, X = 80, T = 0.5, r = 0.02, 
                 sigma = sigma, option_type = "put")

# Find the option value change when the price of IBM falls to 69.5
value_change = ____(S = 69.5, X = 80, T = 0.5, r = 0.02, 
                             sigma = sigma, option_type = "put") - ____

print( (69.5 - 70) + (1/delta) * ____ )
コードを編集して実行