2020.02.10
このツールの機能を、別のツールに組み込みその一部としました
よろしければ、そちらをお使いください
関連リンク
Excelで動くオプション取引の統合ツール(TopT_01)の概要
Excelで動くオプション取引の統合ツール(TopT_01)の使い方 その1(設定マニュアル)
Excelで動くオプション取引の統合ツール(TopT_01)の使い方 その2(機能マニュアル)
但し、TopT_01は、多機能な分処理が重いなどの欠点もあります。
シンプルにIV曲線だけを見たい場合はこちらのツールの方が使い勝手が良い場合もあると思いますので、廃止せずに残しておこうと思います
1.ツールの概要
楽天RSSからデータを取得し、オプションのインプライド・ボラティリティーを計算、リアルタイムでIV曲線(スマイル・カーブ)を描画するツールです
特徴
1.操作はシンプル
・グラフは、「全範囲」、「ATM付近」、「任意範囲」をボタンひとつで切り替えられます
・後場終了後に、「日次締処理」ボタンを実行すれば、前日グラフ、前々日グラフが見られます
(実行しなければ、当日のリアルタイムのグラフだけが使えます)
2.新しい限月の登録の際も複雑な操作はなし
・JPXのサイトからダウンロードしたデータを、本エクセルの該当シートに貼りつけ、「月次繰越」ボタンを実行する
・SQ日を入力し、対応するミニ先物の限月を指定、および、対応するオプションのテーブルを指定する
3.3限月対応、ウィークリーオプション対応
・3つの限月をつかえます。すべて月次のオプションに使ってもいいし、一部をウィークリーオプションに使ってもいいです
4.IVの計算はOTMオプションの売り気配値と買い気配値を加重平均した仲値を利用
・グラフがスムーズになります
・これを利用してリスク指標やOTMのプレミアムを算出しています。それらを使って、ポジションの損益計算、リスク指標、証拠金計算などを行うとメリットが多々あります(今後、そういったツールもリリース予定です)
2.使い方の概要
■上記の図「IV曲線(スマイル・カーブ)の表示」(シート名「IVグラフ)で、
①「グラフの権利行使価格最小値」を入力します
②「全範囲を表示」ボタンを実行で、IV曲線の全範囲が表示されます
「ATM付近を表示」ボタンを実行で、IV曲線のATM付近の表示がされます
③任意設定の横軸・縦軸の最小値最大値を入力します
「任意範囲を表示」ボタン実行で、指定した範囲のIV曲線が表示されます
■ 「設定」シートで、
毎日、日中取引終了後(15:15以降、15:45頃までに)、「日次締め処理ボタン」を実行することにより、前日、前々日のIVが設定されます。
※忘れても、リアルタイムのIV曲線に影響はないです
3.稼働条件
1.楽天RSSが稼働していること
RSSの動作環境
2.EXCEL 2010以上
3.パソコンの性能がある程度必要です
※ 上記の条件は、必須条件でありますが、稼働を保証するものではありません。
RSSが稼働していれば、このマクロ有効ブックのみで動きます。特別なインストール作業は不要です。
※参考:EXCELを作成したPC
2016年製
OS:Windows10 home 64ビット
CPU:InteI Core i5-6400 2,70GHz
RAM:8.00GB
EXCEL 2016 32ビット
立上げに数10秒かかります。
CPU50%程度まで使います
稼働開始すれば、それほどストレスは感じません
4.シートの構成
5.設定方法(基本)
1.「設定」シートで、必要事項を設定する
必要事項は、背景黄色の枠内です
「金利」
無リスク金利を設定します
低金利、マイナス金利の現在、何を設定すればいいか困ると思いますが、私はもう何年も0.1で固定しています。0.1や0.2ぐらいの小さい値ならば、何を設定してもIVに大きな違いがでないので無視してもいいぐらいです。
厳密に設定したい場合は、JPXのサイトをみればどういう値を使っているか調べられます。
先物・オプション銘柄参考情報 :先物・オプションの各銘柄に係る参考情報(清算価格、理論価格、ボラティリティ等)を掲載しています。
「日付調整」
残存日数を、今日ーSQ日 で計算しています。問題がなければ0のままでいいです。
次の例のような場合は、数字を入れると調整ができます。
・深夜取引で、24:00を境に1日進んでしまうのが嫌な場合
・残存日数を、日数でなく、時分秒単位で計算したい場合
限月に対する「SQ日」「参照先物Key」「配当落ち」
限月の第一、第二、第三は便宜上のものです。期近から順番にならんでいる必要はありません
※将来の拡張性確保のため、限月とオプションテーブルを分離しました。IV曲線には影響ありません
「SQ日」:SQ日を設定してください。SQ日は通常金曜になりますが、SQ日チェックが「6」なら金曜日に設定されています
「参照先物Key」:SQ日が同一のミニ先物を対応させます。リストの選択式です。
「配当落ち」:通常0です。Weeklyオプションで利用する項目です。Weeklyオプションの場合、SQ日が一致する先物がないので、Weeklyオプションより後にSQ日を迎えるミニ先物を設定します。オプションのSQ日と先物のSQ日に配当落ちがある場合は、その金額を入れます。わからなければ、適当に5とか10とかの数値を入れて、ザラ場中にグラフが滑らかになっているか(ATMで、「N」型のギザギザになっていないか)を見ます。滑らかであればOK。プット・コールパリティのがあるので、配当落ちが正しく入ると、グラフが滑らかになるのです
「対応限月」 OPのデータ(テーブル_OPA~OPC)と対応する限月を設定する。リストの選択形式です。
「グラフ表示用先物」 IV曲線(スマイルカーブ)の、グラフで使われる先物価格です。リストの選択形式です。
2.先物用のテーブルを設定する
2-1.事前準備
・JPXのサイトから「先物・オプション銘柄参考情報」の最新ファイルを取得する
ダウンロードはこちら 先物・オプション銘柄参考情報
・必要なら(IV曲線のグラフで、前日、前々日を正確に表示したいなら)、
「テーブル_先物」シートを開き、「前日_仲値」、「前々日_仲値」のメモをとる
2-2.シート「RSSの元S」を開き、すべての数値と値をクリアします。
シートのデータが入っている部分を選択し、キーボードの「delete」キーでクリア
※行の削除、列の削除を使わないでください。このシートにリンクを貼っている式がエラーとなります。
2-3.JPXのサイトから取得した「先物・オプション銘柄参考情報」から、ミニ先物のデータをコピーします
左から2列目が、「FUT_NK225M_」で始まるのがミニ先物です。必要な限月を(3限月分)をコーピーしてください
余分に取得する分には問題ないです。先頭の3行が利用されます。
2-4.コピーしたデータを、シート 「RSSの元S」 に、貼りつけてください
※JPXの 「先物・オプション銘柄参考情報」 と、 「RSSの元S」 は、レイアウトを一致させています。
必要項目は、RSSで使うコード、限月だけです。
つまり、JPXからダウンロードしてコピペせず、手動変更でも問題なく稼働します
2-5.「設定」シートを開き、「先物_月次繰越」ボタンを実行します
※ボタン実行前に、バックアップをとることをお勧めします
2-6.2-1でメモした、 「前日_仲値」、「前々日_仲値」を 「テーブル_先物」シートの該当箇所に記述します
3.オプション用のテーブルを設定する
3-1.事前準備
・JPXのサイトから「 オプション理論価格等情報 」の最新ファイルを取得する
ダウンロードはこちら オプション理論価格等情報一覧
3-2.シート「RSSの元?」を開き、すべての数値と値をクリアします
シートのデータが入っている部分を選択し、キーボードの「delete」キーでクリア
※行の削除、列の削除を使わないでください。このシートにリンクを貼っている式がエラーとなります。
※「RSSの元?」は、「RSSの元A」 「RSSの元B」 「RSSの元C」の3種類用意しています。
それぞれが、オプション用のテーブル「テーブル_OPA」 「テーブル_OPB」 「テーブル_OPC」と対応しています
それぞれのテーブルには、オプションの1限月分のデータがまるごと格納されます
3-3.JPXのサイトから取得した「 オプション理論価格等情報 」から、オプションの当該限月データをコピーします
一番左の列が「NK225E」で始まるのが、 日経225オプション(従来限月取引)です
「 NK225WE 」で始まるのは、 日経225オプション(Weeklyオプション)
必要な限月を(1限月分)をコーピーしてください
3-4.コピーしたデータを、 「RSSの元?」 に、貼りつけてください
※JPXの 「オプション理論価格情報」 と、 「RSSの元?」 は、レイアウトを一致させています。
3-5.「設定」シートを開き、「OP?_月次繰越」ボタンを実行します
※ボタン実行前に、バックアップをとることをお勧めします
3-6.テーブル_OP? の使う予定がないなど過剰なデータをクリアします
※下図を参照
※この作業をしなくても、動作「可能」です。但し、動作が変になる場合があります。
楽天RSSでは、取得できる銘柄数の上限が300銘柄になっています。超えるとエクセルの動作が変になります。
この作業は、上限数を超えないようにするために行う作業です。
クリア終了後、「権利行使価格」の▼をクリック、「昇順(S)」をクリックし、昇順でソートを実施します
※下図の赤丸で囲った部分です
クリアする箇所(削除ではない)
・プットが1円売り気配で、今後復活することもないだろう(使われることがないだろう)という、権利行使価格
クリア幅(先頭列~列名「C売気配数量1」)
・コールがディープインしていて(深くITMになっていて)、今後使われることがないだろうという、権利行使価格
クリア幅(列名「C買気配値1」~ 「C売気配数量1」 )
・プットがディープンしていて (深くITMになっていて)、今後使われることがないだろうという、権利行使価格
クリア幅(列名「P買気配値1」~ 「p売気配数量1」 )
・コールが1円売り気配で、今後復活することもないだろう(使われることがないだろう)という、権利行使価格
クリア幅(先頭列~列名「C売気配数量1」)
・そもそも権利行使価格が設定されていないエリア
クリア幅(先頭列~列名「C売気配数量1」)
結果、何もしない部分は、ATMを中心とした範囲になります。どれぐらい残すかは好みです。私は下方向に1500円以上、上方向に1000円以上、合わせて3000円幅程度を残すようにしています。削除しすぎて、将来、ATMの銘柄がなくなってしまうと、動作が変になります。その際は、削除した部分を再度追加する必要があります。
クリア終了後、「権利行使価格」の▼をクリック、「昇順(S)」をクリックし、昇順でソートを実施します
※図の赤丸で囲った部分です
6.設定方法(権利行使価格の追加)
1.新しく追加される権利行使価格のRSS用コードを調べる
JPXのサイトで追加情報が発表されます 権利行使価格の新規・追加設定
「5.設定方法(基本)」のところで使った、 オプション理論価格等情報一覧 でもわかりますが、情報が1日遅れになります
2. シート「RSSの元?」の最下部に、「オプション理論価格等情報一覧」とレイアウトを揃えて、「権利行使価格」、「限月」。プットの「RSS用コード」、コールの「RSS用コード」を設定する
3.シート「RSS関数生成?」を開き、追加された式の範囲を選択する
※ シート「RSSの元?」 で追加した行と同じ行に、RSS用の式などが生成されます
4.シート「テーブル_OP?」を開き、下部のデータが入ってない場所に、「形式を選択して貼り付け」→「値」を実行
下の2つの図は、貼りつけ前、貼り付け後
※この状態では、貼りつけた式が式として認識されず、文字列として認識されています
5.文字「=」を、等号「=」 に置換する
4.で貼りつけられた領域をそのままにして、(別のところをクリックするなどで解除されたら、選択しなおして)
「ホーム」-「検索と置換」-で「置換」を選択
「検索する文字列(N)」 に 「=」
「置換後の文字列(E)」 に 「=」
を入力後、「すべて置換(A)」を実行する
これで、文字列が式に置き換えられます
6.権利行使価格で昇順ソート
シート「テーブル_OP?」 の左から2列目「権利行使価格」の▼をクリック、「昇順(S)」をクリックし、昇順でソートを実施します
7.ダウンロード
note.com のサイトからダウンロードできます
このサイトで紹介するツールのダウンロードは、https://note.com/nk1ok にまとめています
このツール のダウンロードurlは下記です
オプションのスマイルカーブを表示 日経225オプションのIV曲線をリアルタイムで表示するEXCELツール
https://note.com/nk1ok/n/n6f9db88ad3c7