本稿では、Excelのワークシート関数を用いて、オプション価格とボラティリティの計算を行う。
オプション価格の計算式
ブラック・ショールズの公式により、コールのオプション価格は次のように表される。ここで\(N(z)\)は標準正規分布の累積分布関数である。
\(\quad C=SN(d_1)-Ke^{-r(T-t)} N(d_2) \)
ただし、
\(\quad N(z)=\dfrac{1}{\sqrt{2\pi}}\displaystyle\int_{-\infty}^{z}e^{-\frac{y^2}{2}}dy \)
\(\quad d_1=\dfrac{ln(\dfrac{S}{K})+(r+\dfrac{\sigma^2}{2})(T-t)}{\sigma\sqrt{T-t}}\)
\(\quad d_2=\dfrac{ln(\dfrac{S}{K})+(r-\dfrac{\sigma^2}{2})(T-t)}{\sigma\sqrt{T-t}}=d_1-\sigma\sqrt{T-t}\)
\(\quad S\):原資産価格、\(K\):権利行使価格、\(r\):無リスク利子率、\(\sigma\):ボラティリティ、
\(\quad T\):満期日、\(t\):現在
プットのオプション価格は、次のように表される。
\(\quad P=-SN(-d_1)+Ke^{-r(T-t)} N(-d_2) \)
配当込みのコールのオプション価格は、\(q\)を配当利回りとして、次のように表される。
\(\quad C=e^{-q(T-t)}SN(d_1)-Ke^{-r(T-t)} N(d_2) \)
ただし、
\(\quad d_1=\dfrac{ln(\dfrac{S}{K})+(r-q+\dfrac{\sigma^2}{2})(T-t)}{\sigma\sqrt{T-t}}\)
\(\quad d_2=\dfrac{ln(\dfrac{S}{K})+(r-q-\dfrac{\sigma^2}{2})(T-t)}{\sigma\sqrt{T-t}}=d_1-\sigma\sqrt{T-t}\)
プットのオプション価格は、次のように表される。
\(\quad P=-e^{-q(T-t)}SN(-d_1)+Ke^{-r(T-t)} N(-d_2) \)

Excelでのオプション価格の計算
日経225オプションを例に、Excelワークシート関数を用いて、オプション価格のシミュレーターを作る。
非危険利子率として、代表的な新発10年物日本国債利回りを用いる。2026年8月12日終値の2.850%より、\(r=0.0285\)とする。
配当利回りとして、日経225の平均予想配当利回りの1.61%より、\(q=\)0.0161とする。
ボラティリティは、市場の動向により変動する。証券会社のオプション価格一覧に、オプションタイプ(コール、プット)、権利行使価格毎に、IV(インプライドボラティリティ)が記載されているので、これを用いるとよい。本稿では28%、\( \sigma=\)0.28とした。
標準正規分布の累積分布関数は、NORM.S.DIST関数を用いる。
\(\quad標準正規分布=NORM.S.DIST(z,関数形式)\)
確率変数\(z\)の値として、コールのオプション価格の式の第1項には\(d_1\)を、第2項には\(d_2\)を入力する。関数形式は、“TRUE”を入力することで累積分布関数となり、“FALSE”と入力することで確率密度関数となる。累積分布を求めるので、ここでは“TRUE”を入力する
\(T-t\)は満期までの日数を表す、1年間を1とするので、次のように計算する。
\(\quad T-t=\dfrac{満期までの日数}{1年間の日数}=\dfrac{満期までの日数}{365}\)
分子の(満期までの日数)の計算は、Days関数を用いる。開始日は現在、終了日はSQ日を設定する。
\(\quad満期までの日数=DAYS(終了日,開始日)\)
計算例を以下に示す。
セルC14にコールオプション価格、セルC15にプットオプション価格が計算されている。

もしくは、分母を(1年間の取引日の数)、分子を(満期までの取引日の数)として、次のように計算する。なお、終了日を含むので、次のように計算する。
\(\quad T-t=\dfrac{満期までの取引日の数}{1年間の取引日の数}\)
分子の(満期までの取引日の数)の計算は、NetworkDays関数を用いる。なお、NETWORKDAYS関数は、終了日も数えるので、次のように計算する。次のように表される。
\(\quad分子=満期までの取引日の数=NETWORKDAYS(開始日,終了日,[祭日])-1\)
開始日は現在、終了日はSQ日を設定する。
祭日は、月曜日から金曜日のうち、取引未実施日を設定する。2026年は、1月1日、1月2日、11月23日、12月31日となっている。
分母の(1年間の取引日の数)の計算も、NetworkDays関数を用い、次のように表される。
\(\quad分母=1年間の取引日の数=NETWORKDAYS(開始日,終了日,[祭日])\)
開始日は1月1日、12月31日を設定する。祭日は、上記である。
計算例を以下に示す。
セルC19にコールオプション価格、セルC20にプットオプション価格が計算されている。

本稿では、Excelに用意されているワークシート関数を使いましたが、オプション価格を計算する関数を自前で作成すると、複雑な計算式をその都度入力しなくてもよいですし、複数の処理を簡単にこなせるので、お勧めします。自前の関数を作成する方法は、追って解説したいと思います。
Excelでのボラティリティの計算
オプション価格は、計算に必要なパラメータが揃っていれば、解析的に求めることができる。一方、ボラティリティ\(\sigma\)は解析解が無いため、収束計算により求めることになる。
Excelスプレッドシートのゴールシークの機能を用いて、ボラティリティ\(\sigma\)を求めることを試みる。前段の事例をそのまま使用する。
データタブのWhat-If分析のゴールシークを押下すると、ポップアップが表示される。数式入力セルとして、コールのオプション価格の計算式が入っているセルC14を、その目標値として100を、変化させるセルとして、ボラティリティ\(\sigma\)のセルC8を入力する。OKボタンを押下すると、収束計算され、ボラティリティ\(\sigma\)が0.2831263と求まる。
(ポップアップへの入力)

(収束計算後)

本稿では、Excelでオプション価格とボラティリティを計算する方法を解説しました。オプション投資をされる方にお役立ていただければ幸いです。
【オプション投資に関する免責事項】
本ブログで発信している情報は、オプション取引の仕組みや戦略に関する情報提供を目的としており、特定の取引を推奨・勧誘するものではありません。オプション取引は高いレバレッジ効果により、短期間で手元資金を上回る非常に大きな損失が発生するリスクがあります。特にオプションの「売り(ショート)」戦略には原理的に無限大の損失リスクが存在します。
実際の取引にあたっては、取引ルールやリスクを十分に理解された上で、必ずご自身の判断と自己責任において行ってください。本ブログの情報に基づいて被ったいかなる損害・損失についても、当方は一切の責任を負いかねます。
