始める無料で始める

ブラック–ショールズによるオプション価格

オプションは、資産価格リスクを管理するために世界で最も広く使われている「デリバティブ」です。この演習では、ブラック–ショールズのオプション価格理論を使って、IBM株のヨーロピアン・コール・オプションの価格を計算します。IBM_returns データはワークスペースに読み込まれています。

まず、IBM_returns のボラティリティ sigma を、年率換算した標準偏差として計算します。

次に、この演習および次の演習のために用意された black_scholes() 関数を使い、2つの異なるボラティリティ水準(sigmasigma の2倍)でオプション価格を求めます。

権利行使価格 K(投資家がIBMを買う権利を持つが義務はない価格)は80、無リスク金利 r は2%、スポット価格 S(市場価格)は90です。

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

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

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

コースを見る

演習の手順

  • IBM_returns のボラティリティを、年率換算した標準偏差 sigma として計算します(第1章で年率換算を行いました)。
  • ボラティリティが sigma のとき、用意された black_scholes() 関数を使ってブラック–ショールズのヨーロピアン・コールの価格 value_s を計算します。
  • 次に、ボラティリティが 2 * sigma のときのブラック–ショールズ価格 value_2s を求めます。
  • ボラティリティが「増加」したときにオプション価格がどう変化するか確認するため、value_svalue_2s を表示します。

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

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

# Compute the volatility as the annualized standard deviation of IBM returns
sigma = np.sqrt(____) * IBM_returns.____

# Compute the Black-Scholes option price for this volatility
value_s = black_scholes(S = 90, X = 80, T = 0.5, r = 0.02, 
                        sigma = ____, option_type = "call")

# Compute the Black-Scholes option price for twice the volatility
value_2s = ____(S = 90, X = 80, T = 0.5, r = 0.02, 
                sigma = ____, option_type = "call")

# Display and compare both values
print("Option value for sigma: ", ____, "\n",
      "Option value for 2 * sigma: ", ____)
コードを編集して実行