ブラック–ショールズによるオプション価格
オプションは、資産価格リスクを管理するために世界で最も広く使われている「デリバティブ」です。この演習では、ブラック–ショールズのオプション価格理論を使って、IBM株のヨーロピアン・コール・オプションの価格を計算します。IBM_returns データはワークスペースに読み込まれています。
まず、IBM_returns のボラティリティ sigma を、年率換算した標準偏差として計算します。
次に、この演習および次の演習のために用意された black_scholes() 関数を使い、2つの異なるボラティリティ水準(sigma と sigma の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_sとvalue_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: ", ____)