オプション計算機を作ってみた


最近、週末はもっぱらオプションの勉強をしている。
新しいことを勉強するのは、それはそれで楽しい。

前回の記事で、日経225オプション情報収集用のExcelファイルを紹介した。
このとき、このファイルが少し重いことも紹介した。
Excelファイルを軽くするためには、岡三RSSで取得するデータ量を削減しなければならない。
削減するデータの候補としては、インプライドボラティリティ(IV)やギリシャ指標だろう。
これらを自作システム側で計算させれば良い。

そこで、ふと思った。
これって誰が計算しても同じ結果になるのだろうか?

このExcelファイルを作成したとき、岡三ネットトレーダープレミアムのデータと比較し、動作を確認した。
オプション価格はじめIVやギリシャ指標などのデータは同じ値が表示されていた。

先ほどの疑問が生じ、他の証券会社のデータとも比較してみた。
結果、オプション価格は同じものであったが、IVおよびギリシャ指標の値が違っていた。
なんとなく近いけど明らかに違う値だ。
ドウシテチガウノダ・・・?

色々検索してみた。
どうやら証券会社によってIVやギリシャ指標の計算式に与えるパラメータの値が違うようだ。
その結果、IVやギリシャ指標の値は証券会社により違ってくるとのこと。
ソンナコトモシラナカッタ・・・

オプション価格の計算式には、ブラックショールズモデル(BSモデル)が一般的に用いられていることは以前から知っていた。
この式に与えるパラメータの値が、証券会社によって違うようだ。
その経緯は岡三オンライン証券の下記のページに記載されていた。
https://www.okasan-online.co.jp/fop/beginner/study05.html

BSモデルを知らなければ、上記のページに記載されていることを理解することは難しい。
で、BSモデルについて調べてみた。
(計算式も勉強した。)

BSモデルに与えるパラメータは下記の5つ。

  • 原資産価格
  • 権利行使価格
  • 無リスク利子率(金利)
  • 満期日までの残期間
  • ボラティリティ

ここで、
原資産価格として日経平均をそのまま使えるのか?
という問題があるようだ。

  • ナイトセッションどうすんのよ?
    (夜、日経平均は動かないが、先物とオプションは動く。)
    とか、
  • 配当分どうすんのよ?
    (日経平均は配当分を含んでいるため配当分を割り引いた値を原資産価格としなければならない。なぜなら、使っているモデルが無配当の株式を前提としたモデルだから。)

といった問題。

この問題、上記の岡三オンライン証券でのページでは、(ざっくり要約すると)
「ヨソではてきとーにやっているところもあるけど、ウチはしっかり計算しています。」
とのようで、詳細な計算式は掲載されていないが、複雑な計算をしているようだ。

どういう計算をしているかの記述として、

複数の行使価格のプットコールパリティを算出し、流動性が最も高いと思われるATM近辺のものを中心に合理的と思われる按分方法を用いて基準原資産価格を生成しています。

とある。

ちょっと面倒な計算をしているようだ。
簡単にならないものだろうか?
さっきも書いたが、岡三RSSからIVやギリシャ指標を取得せずに、自分で計算することを考えている。
計算はできるだけ簡単な方が良い。

さらに色々検索してみた。

JPXのページ
https://www.jpx.co.jp/derivatives/products/domestic/225futures/index.html
には、
  \(日経225先物理論価格=日経平均\times e^{(R-Q)T}\)
  \((Rは金利、Qは配当利回り、Tは満期日までの残期間)\)
とある。
ざっくり言えば、
日経平均に金利分を付加し、配当分を割り引いたものが先物価格。

ということは、
BSモデルへ与える原資産価格の項は、
  \(オプションと同限月のミニ先物価格\times e^{-RT}\)
でいいんじゃないの?
(先物価格から金利分を割り引いたものが、日経平均から配当分を割り引いたものになるんでしょ。)
これなら簡単に計算できる。

さらにさらに色々検索してみた。
BSモデルの発展形として発表されたブラック76モデルというのがあるようだ。
先物を原資産とするオプションに適用できるよう発展したモデルとのこと。
BSモデルとブラック76モデル、微妙に数式が違う。
日経225オプションは日経225先物のオプションではないので、
(あくまでも日経平均のオプションだ)
厳密に言えばブラック76モデルを適用するのは間違っているのかもしれない。
が、同限月のミニ先物のオプションという見方も実用上問題ないような気もする。

ちなみに、
  \(原資産価格=ミニ先物価格\times e^{-RT}\)  としたBSモデル

  \(原資産価格=ミニ先物価格\)  としたブラック76モデル
では、
オプション価格(コール価格、プット価格)およびギリシャ指標のうちのベガについてはどちらのモデルでも同じ値となる。
数式を見比べれば一致するのが分かる。
しかし、デルタ、ガンマ、シータで差異が生じる。
ただし、金利が0のとき、これらの値も一致する。
数式を見比べれば一致するのが分かる。

試しに、Excelでオプション計算機を作成し、BSモデル、ブラック76モデルそして岡三RSSのデータと比較してみた。下図。

岡三RSSから採取したオプションのデータは、2019年2月23日(土)5時40分時点のもの。
つまり、2月22日(金)のナイトセッション終了直後のもの。
オプションの期近は3月限で期先が4月限。
3月限だと面白みに欠けるので、日経平均と先物価格の差異の大きい4月限でチェックした。
ちなみに、ミニ先物4月限のナイト終値は21245円で、前日日中の日経平均終値は21425.51円。
180円近くの差異がある。
ターゲット銘柄は最も出来高の多い権利行使価格22500円のコールとした。
この銘柄のIVである、14.74をオプション計算機のボラティリティ欄に入力し、
BSモデルおよびブラック76モデルで算出されるコールの理論価格、ならびにギリシャ指標を比較した。
分かりやすいように、比較対象セルを同一色で色分けしてある。
(同じ色同士で比較する。)
なお、無リスク利子率(金利)は、ここには表示されていないが、岡三RSSで取得した値(-0.0817)。

金利が0に近いためか、BSモデルとブラック76モデルはほぼ一致している。
そして、岡三RSSのデータともだいたい一致しているのが見て取れる。
他の権利行使価格や、コールだけでなくプットも、そして3月限など色々試してみたが、同じような感じだった。

これで行けるやん!

こうやって、オプション計算機を自分で作ってみると、BSモデルに対する理解が深まる。
さらに、オプション計算機を使って、先物価格、残存日数、ボラティリティを色々変化させ、オプション価格の変化を確認することにより、ギリシャ指標の役割を理解するのに役に立つ。

さて、冒頭で書いたように、IVやギリシャ指標を自作システム側で計算させるためには、
自作システムで採用しているプログラミング言語であるC#で機能を実現しなければならない。

そこで、C#でオプション計算機を作ってみた。下図。

\(原資産価格=ミニ先物価格\times e^{-RT}\) としたBSモデルを対象とした。
そして、IVの逆算機能を付けた。
実際に使うときは、オプションの現在値からIVを逆算し、ギリシャ指標を求める。
という流れになる。
そして、自動化の際には、岡三RSSから銘柄毎のオプション価格を取得し、
IVおよびギリシャ指標を計算し自作システムのメモリに格納する。
という使い方になる。(1件1件手打ちしたりしない)

なお、C#版ではブラック76モデルを作成しなかった。
金利を大きくしたとき、BSモデルとブラック76モデルの計算結果で、シータの差異が目立った。
理論として採用すべきなのは、BSモデルの方なのだろうから、BSモデルを採用することとした。

<広告>

TOP