ブラック・ショールズモデル(Black-Scholes Model)とは何か?
ブラック・ショールズモデルは、株式や為替などの「オプション(金融派生商品)」の理論価格を計算するために考案された数理モデルです。簡単に言うと、「ある銘柄のオプションがいくらくらいの価値があるのか?」を数学的に求める公式で、オプション取引をする投資家や金融機関が価格を算出するときの基準として広く使われています。
1. ブラック・ショールズモデルの歴史
- 開発者と背景
- アメリカの経済学者であるフィッシャー・ブラック (Fischer Black) とマイロン・ショールズ (Myron Scholes) が1973年に発表した論文が元になっています。
- 後にロバート・マートン (Robert C. Merton) も理論面で大きく貢献したことから、ブラック=ショールズ=マートンモデルと呼ばれることもあります。
- 1970年代当時の状況
- 1973年にシカゴ・オプション取引所(CBOE)が設立され、株式オプションの取引が本格的に始まった時期です。
- それまでは、オプションの値段は明確な理論がなく「直感や経験」に頼りがちでした。
- ブラックとショールズの登場により、初めて体系的かつ数学的なオプション価格の算出方法が示され、金融工学の発展に大きく寄与しました。
- 理論が評価された理由
- オプション価格を算出するうえでの合理的な指標が生まれ、投資家が「高すぎる・安すぎる」を判断する基準ができたため、取引が活発化しました。
- ショールズとマートンは、ブラックの死後の1997年にノーベル経済学賞を受賞しています(ブラックは存命中ではなかったため受賞対象外でしたが、業績は高く評価されています)。
2. ブラック・ショールズモデルの基本的な考え方
ブラック・ショールズモデルでは、オプションの価格を決めるために、以下のような前提や変数を設定します。
- 株価の変動
- 株価(や為替などの基礎となる資産)は、時間とともに一定のボラティリティ(変動率)でランダムに変動する(幾何ブラウン運動と呼ばれる確率過程で動く)という仮定を置きます。
- 無リスク金利 (r)
- 投資家は資金を安全資産(国債など)で運用すれば、リスク無しで年率rの利息が得られると想定します。
- オプションの期限 (T)
- コールオプション(買う権利)やプットオプション(売る権利)の「満期日(権利行使期限)」がTであるとします。
- 行使価格 (K)
- オプションを行使するときの価格(コールなら「その価格で買う権利」、プットなら「その価格で売る権利」を持つ)がKです。
- ボラティリティ (σ)
- 資産の価格変動の度合いを表す指標で、値動きの大きさを表します。
これらをもとに、オプション価格を求めるブラック=ショールズ方程式というものが導かれます。式そのものはやや複雑ですが、要点としては「株価の期待値を、リスク無しの資産運用と比べながら、オプションの持つ権利価値を数学的に評価」するイメージです。
3. 個人が利用するにはどうすればいい?
- 証券会社や取引ツールに組み込まれていることが多い
- 今では多くの金融機関やネット証券会社の取引画面に、オプションの理論価格やギリシャ指標(デルタ、ガンマ、セータ、ベガなど)が表示されます。
- これらの数値はブラック・ショールズモデル、あるいはそれを拡張したモデルを用いて自動的に計算されています。
- そのため、個人投資家が「自分で一から計算する」のではなく、証券会社の提供するツールやオンラインのオプション計算サイトを使えばすぐに理論価格を確認できます。
- オンラインのオプション価格計算サイトを使う
- 「オプション価格 計算 ツール」などで検索すると、入力フォーム(株価、行使価格、残存期間、金利、ボラティリティなど)に数字を入れると、瞬時にブラック・ショールズモデルに基づいた理論価格を計算してくれる無料サイトがあります。
- エクセルやプログラミングで自作する
- もし少しプログラミングができるなら、PythonやExcelなどでも比較的簡単に計算式を実装できます。
- ブラック・ショールズ公式は有名なので、サンプルコードやテンプレートがネット上にも多数公開されています。
- 利用する際の注意点
- ブラック・ショールズモデルはあくまで「理論上」の計算モデルであり、現実の市場では様々な要因(相場急変・流動性不足・突発ニュースなど)のため、必ずしも理論価格通りになるわけではありません。
- また、モデルは**「ボラティリティが一定」**であることを前提としますが、実際には刻一刻と変動します。
- それでも、「市場価格が理論価格から大きく乖離しているかどうか」を把握するのには有用です。
4. ブラック・ショールズモデルが果たした役割
- オプション市場の発展
- オプション取引の価格算定に透明性がもたらされ、市場が急速に発展する土台となりました。
- これによって、オプションが「投機の道具」から「リスクヘッジや収益機会を探る手法」へと広く認知されるようになりました。
- 金融工学の基礎
- ブラック・ショールズモデルを出発点として、先物・スワップ・その他デリバティブ商品の価格付け理論が次々と研究・発展していきました。
- 今日の金融工学の基礎とも言われています。
- ポートフォリオ戦略への応用
- オプションを使った戦略(オプションの組み合わせで特定の相場観に対応する)を立案する際にも、モデルで算出した「理論価格」の比較は欠かせません。
5. まとめ
- ブラック・ショールズモデルは、オプション価格を理論的に算出するために生まれた画期的な数理モデルです。
- 1970年代に登場し、オプション市場の拡大と金融工学の発展に大きく貢献しました。
- 個人投資家が利用する場合は、証券会社のツールやオンライン計算サイトなどを使うのが簡単で現実的です。
- ただし、理論は万能ではなく現実の市場状況とのずれもあるため、あくまで「目安としての価値」を理解したうえで活用することが大切です。
もしこれからオプションを学ぼうという方は、まずはオプション取引の仕組みや「コール」「プット」の基本的な概念をしっかり押さえつつ、ブラック・ショールズモデルで計算された理論価格と実際の市場価格の違いを観察してみると、相場のダイナミックさとモデルの面白さが実感できるでしょう。
ここでは、ヨーロピアン・オプション(満期日にのみ権利行使が可能なオプション)のブラック・ショールズモデルの代表的な計算式(コールオプション・プットオプション)を紹介し、それをExcelに実装する手順を「初心者でもわかる」ように説明します。
1. ブラック・ショールズモデルの代表的な計算式
1-1. 共通変数
- S0S_0S0: 現在の株価(原資産価格)
- KKK: 行使価格
- rrr: 無リスク金利(年率)
- σ\sigmaσ: ボラティリティ(年率換算)
- TTT: 残存期間(満期までの年数)
- Φ(⋅)\Phi(\cdot)Φ(⋅): 標準正規分布の累積分布関数(Excelの
NORM.S.DIST(x, TRUE)
などを指す)
1-2. 基本的なパラメータ d1d_1d1 と d2d_2d2
d1=ln(S0K)+(r+σ22)TσTd_1 = \frac{\ln\left(\frac{S_0}{K}\right) + \left(r + \frac{\sigma^2}{2}\right)T}{\sigma \sqrt{T}}d1=σTln(KS0)+(r+2σ2)Td2=d1−σTd_2 = d_1 – \sigma \sqrt{T}d2=d1−σT
- ln(⋅)\ln(\cdot)ln(⋅) は自然対数です。
- σT\sigma \sqrt{T}σT は時間Tの間における、ボラティリティの累積的な要素と考えられます。
1-3. コールオプションの理論価格 (Black-Scholes 公式)
C=S0Φ(d1)−Ke−rTΦ(d2)C = S_0 \Phi(d_1) – K e^{-rT} \Phi(d_2)C=S0Φ(d1)−Ke−rTΦ(d2)
- これは、満期日にその銘柄を「Kで買う権利」の価値を示します。
- e−rTe^{-rT}e−rT は将来の金額を現在価値に割り引くための要素。
1-4. プットオプションの理論価格
P=Ke−rTΦ(−d2)−S0Φ(−d1)P = K e^{-rT} \Phi(-d_2) – S_0 \Phi(-d_1)P=Ke−rTΦ(−d2)−S0Φ(−d1)
- これは、満期日にその銘柄を「Kで売る権利」の価値を示します。
- コールオプションとプットオプションの間には、プット・コール・パリティと呼ばれる関係式があることでも知られていますが、ここでは計算式の基本形のみを紹介します。
2. Excelでの実装方法
ここでは、Excelを使ってヨーロピアン・コールオプションの理論価格を計算する場合を例に説明します。プットオプションの場合も同様に応用できます。
2-1. シートのレイアウト例
- 入力セル(パラメータ)
- セルA2: 「現在の株価 (S0)」
- セルA3: 「行使価格 (K)」
- セルA4: 「無リスク金利 (r)」
- セルA5: 「ボラティリティ (σ)」
- セルA6: 「残存期間 (T, 年単位)」
- 中間計算セル
- セルA8: 「d1d_1d1」
- セルA9: 「d2d_2d2」
- 最終結果セル(出力)
- セルA11: 「コールオプション価格 (C)」
シンプルに行番号を例示しましたが、お好きなレイアウトで構いません。
以下の説明では、入力セルに数値を入れる前提で数式を記述します。
2-2. 実際の数式入力例
A2〜A6にパラメータを入力
セル | 項目 | 入力例 |
---|---|---|
A2 | S0(現在の株価) | 100 |
A3 | K(行使価格) | 95 |
A4 | r(年率, 例:2%→0.02) | 0.02 |
A5 | σ(年率, 例:20%→0.20) | 0.20 |
A6 | T(年数, 例:半年なら0.5) | 1 |
※ここでは例として、株価=100、行使価格=95、金利=2%、ボラティリティ=20%、残存期間=1年という仮定で説明します。
A8: d1 の計算
d1=ln(S0K)+(r+σ22)TσTd_1 = \frac{\ln\left(\frac{S_0}{K}\right) + \left(r + \frac{\sigma^2}{2}\right)T}{\sigma \sqrt{T}}d1=σTln(KS0)+(r+2σ2)T
Excelでは
= (LN(A2/A3) + (A4 + 0.5A5^2)A6 ) / ( A5 * SQRT(A6) )
LN()
は自然対数(ln\lnln)SQRT()
は平方根^
はべき乗を表す
A9: d2 の計算
d2=d1−σTd_2 = d_1 – \sigma \sqrt{T}d2=d1−σT
Excelでは
= A8 – A5 * SQRT(A6)
A11: コールオプション価格 C
C=S0Φ(d1)−Ke−rTΦ(d2)C = S_0 \Phi(d_1) – K e^{-rT} \Phi(d_2)C=S0Φ(d1)−Ke−rTΦ(d2)
Excelの式例
= A2 * NORM.S.DIST(A8,TRUE) – A3 * EXP(-A4*A6) * NORM.S.DIST(A9,TRUE)
NORM.S.DIST(x, TRUE)
は「標準正規分布の累積分布関数 Φ(x)\Phi(x)Φ(x)」を返すExcel関数。EXP()
は指数関数で、EXP(x)
は exe^xex を表す。
2-3. Excel実装の注意点
- 小数の表示形式
- 金利やボラティリティは「0.02(2%)」や「0.20(20%)」と小数で入力する。
- 計算結果がおかしい場合
- どこかのセルに「0」や「マイナスの値」(たとえばボラティリティが0以下など)を入れていないか確認する。
- 関数のスペルミス(
NORM.S.DIST
がNORM.SDIST
等になっていないか)を確認する。
- プットオプションの価格計算
- プットの場合は
P = K e^{-rT} Φ(-d_2) - S_0 Φ(-d_1)
を同様に入力すればよい。 Φ(-x) = 1 - Φ(x)
という関係があるので、Excelでは
= A3 * EXP(-A4*A6) * NORM.S.DIST(-A9, TRUE) – A2 * NORM.S.DIST(-A8, TRUE)
と記述できます。
- プットの場合は
3. 実際の手順まとめ
- Excelシートの準備
- パラメータ入力欄(S0, K, r, σ, T)を用意する。
- 中間計算で d1, d2 を求めるセルを作る。
- コールやプットの理論価格を出力するセルを作る。
- 数式の入力
- d1, d2 をそれぞれ先ほどの式で入力。
- コール価格(C)・プット価格(P)を計算式で入力。
- 標準正規累積分布関数には
NORM.S.DIST(x, TRUE)
を使用する。 - 割引係数 e−rTe^{-rT}e−rT は
EXP(-r*T)
で表す。
- テスト
- 具体例を入れて動作を確認する(例: 株価=100, K=95, r=2%, σ=20%, T=1 など)。
- 計算結果が妥当な値になっているか確かめる。
- 見やすく体裁を整える
- セルに適切な名前(たとえばセルA2に「S0」と名前を付ける機能を使う)をつけると式が分かりやすくなる。
- 金利やボラティリティ入力セルを%表示にするなど。
4. 補足・注意点
- 標準正規分布の計算
- Excel 2010以前のバージョンでは、
NORM.S.DIST
ではなくNORMSDIST
関数を使うなどバージョン差異に注意してください。
- Excel 2010以前のバージョンでは、
- モデルの前提と限界
- ブラック・ショールズモデルは「ボラティリティが一定」「配当がない」などの仮定を置いています。
- 実際の市場では、配当がある銘柄の場合は配当調整版のブラック・ショールズ式など、追加の修正が必要なケースがあります。
- 短期的・大きな相場変動などがあると、理論値と実際のオプション価格が乖離することも多々あります。
- プット・コール・パリティ
- 参考までに、コール・プット間の関係式
- 上記を使うと、たとえばコールが計算できればプットはパリティを使って求めることも可能です(配当がない場合)。
- 実用上のヒント
- プログラミングができる人は、Pythonなどで
math.log()
やmath.exp()
、scipy.stats.norm.cdf()
を使うと、同様の計算をスクリプト化できます。 - Excelでシートを作成しておくと、今後パラメータを変えながらすぐにシミュレーションする際に便利です。
- プログラミングができる人は、Pythonなどで
5. まとめ
- ブラック・ショールズモデルのオプション価格計算式は、上記の d1,d2d_1, d_2d1,d2 を経由して Φ(⋅)\Phi(\cdot)Φ(⋅)(標準正規分布累積関数)を使い計算します。
- Excelでは
NORM.S.DIST()
関数やEXP()
、LN()
、SQRT()
といった標準関数を使うだけで簡単に再現できます。 - コールオプションとプットオプションの計算式を1枚のExcelシートにまとめておけば、様々なパラメータを入力して瞬時に理論価格が確認できるので大変便利です。
これで基本的なブラック・ショールズモデルの計算からExcelでの実装までの流れは押さえられると思います。あとは実際にExcelを触りながら、数値を入力して理論価格が変わる様子をチェックしてみてください。