今週は大変な一週間でした。週明けからVIX指数が高まっており、それによってEAが期待通りの働きをする事が難しくなって大きな損失を被った人も多いようです。
自分はといえば、こうした事を危惧している声を耳にしていながらあまり考えずにEAを動かした結果週の前半は大敗を喫し、反省してEAを停めた後半は損失を回避する事に成功といった具合でした。
ここで、VIX指数というものはとても重要なものかもしれないという意識を始めて持つ事となり、本腰をいれて調べてみる事にしました。
そもそもVIX指数って?
通称恐怖指数(fear index)。
何やら恐ろしげな響きを持つこの指数はシカゴのオプション取引所が公表しているもので、S&P500のオプション取引におけるボラティリティ(値動きの変動の激しさ)をベースに算出されるものです。
ざっくりまとめると、この値が高い程人々が相場の先行きに不安を感じている事を示しています。例えば過去に高値を記録した時には何が起きていたかを見てみましょう。
- 1990年8月23日 イラク軍クウェート侵攻…36.47
- 1997年10月28日 アジア通貨危機…48.64
- 1998年10月8日 ロシアデフォルト(LTCM破綻)…49.53
- 2001年9月21日 アメリカ同時多発テロ…49.35
- 2002年7月24日 エンロン不正会計事件…48.46
- 2002年8月5日 ワールドコム破綻…45.21
- 2003年3月12日 イラク戦争勃発…34.40
- 2008年9月18日 リーマン・ブラザーズ破綻…42.16
- 2008年10月24日 世界金融危機…89.53(1993年以降の最高値)
- 2010年5月21日 ギリシャを筆頭とするPIIGSの国債懸念…48.20
- 2011年8月9日 S&Pが米国債を格下げ…47.56
- 2011年10月4日 ギリシャ国債のデフォルト危機…46.88
- 2015年8月24日 中国経済失速懸念…53.29
- 2018年2月6日 米雇用統計での賃金上昇をきっかけとした長期金利上昇、VIXショック「変動幅は過去最大規模」…50.30
こうした世界情勢が大きく動くような時は相場が荒れて従来のテクニカルが通用しにくくなるという事だと自分は解釈しました。
VIX指数が高まったらEAは止めるべきか?
テクニカルが通用しにくくなるという事は、テクニカルで動くEAにとっては大変危険な状態だという事です。
実際にVIX指数が高まった今週、EAがポジションを持っては負け、持っては負け・・・と延々負け続ける様を見た今、その危険性を身を持って体験した事から「VIXが高まっている時はEAは止めるべき」と自分の中ではほぼ結論が出ています。
しかし、これでは今週たまたま負けただけではないかという事もありうるので、昨年の自分自身の取引履歴を使って調べてみる事にしました。
「EAのバックテストは重要な経済指標の発表などであっても停止する事なく動かし続けた結果を表している。それで利益が出ているのだからフォワードでも動かしっぱなしで問題ない。そもそも自動売買と言うくらいなのだから、EAを停めたり再開したりといった人手を介入する事なく利益を出せて然るべき」
昨年の自分はこのように考えていたため、3月頃にEAを使い始めてから年末に至るまで記憶が正しければ一度もEAを一時停止させるという事は行っていません。それで利益出てたのかといえば全然NOで原資の約8%を失う結果となった訳ですが、それはそれとして、今回の検証にはもってこいのデータであると考えられます。
昨年の取引履歴にVIXフィルタを適用してみる
VIX指数を利用したフィルタ、それ自体は珍しいものではありません。調べてみるとしきい値を20とし、これを超えると取引は控えるという使い方が一般的なようです。しかし、18にするとより効果があったとするブログも見受けられたため、今回は20と18の2パターンで検証してみる事にします。
方法は至って単純です。
- myfxbookから取引履歴をCSVで取得
- trading viewのVIXチャートで、18または20を超えている期間を確認、CSV化
- 上記のデータを突き合わせ、VIXが高い時の取引を無かった事にする
- 成績がどのように変化するかを比較する
これがTradingViewのVIXチャートです。本元のシカゴのオプション取引所や、YahooファイナンスなどVIXチャートを公開しているところは他にもあるのですが、軒並み月足・週足・日足のみで分単位・時間単位のチャートを公開しているのはTradingViewだけでした。
時間足は30分足です。昨年3月からの取引履歴を検証したいので、この期間のデータが存在する最も細かい足が30分足だったためです。
という訳で30分足のVIXチャートに18と20の位置に水平線を引き、地道にそれらの線を上に抜けた日時と下に抜けた日時とを記録していきます。trading viewに課金していれば、チャートデータをCSVでダウンロード出来るようなのですが無課金なので地道にチャートを読んで期間を目視で確認しながら手動でちまちま打ち込んでCSV化しました。大変だった・・・
なお、チャートのタイムゾーンはあらかじめmyfxbookの取引履歴に記録されている日時のタイムゾーンに合わせてあります。
このCSVと、myfxbookから取得した取引履歴のCSVとを使って検証を行います。検証にはPythonで作成したプログラムを使用しました。
果たして結果は!?
とまぁ、自分なりに頑張ったので検証の過程を力説したいのですが皆様が求めているのは結果でしょうから、結果を発表します。
2019/03〜2019/12の取引
フィルタ | 勝率 | 取引回数 | 平均獲得pips | 総合獲得pips |
---|---|---|---|---|
なし(リアルな取引履歴そのもの) | 64.14% | 2451 | -0.54pips | -1318.40pips |
VIX18以上で取引停止 | 64.02% | 1979 | -0.36pips | -721.40pips |
VIX20以上で取引停止 | 64.08% | 2319 | -0.44pips | -1025.70pips |
まずは昨年3月から年末までの取引履歴を使った検証結果です。VIXが18以上のとき、または20以上のときにエントリーしているポジションをまるごと無かった事にしたらどうなるかというデータです。
な、なんという事でしょうか・・・!少なからず効果はあるだろうとは思っていましたが、ここまで劇的に変わるとは思いませんでした。
VIX18フィルタ、VIX20フィルタ、どちらも明確に成績が改善されている事がわかります。特にVIX18フィルタは適用時のpipsが平均/総合ともにフィルタ無しと比較して2倍弱という大きな効果を発揮しています。それでもまだ年間マイナスな収益なのは悲しいところですが・・・(;´Д`)
VIX | 勝率 | 取引回数 | 平均獲得pips | 総合獲得pips |
---|---|---|---|---|
VIX18を超えている期間の成績 | 64.62% | 472 | -1.26pips | -597.00pips |
VIX20を超えている期間の成績 | 65.15% | 132 | -2.22pips | -292.70pips |
VIX指数が高まっている期間に行われたトレードを抽出してみると、上記のようになりました。
勝率こそ差は見られないものの、1トレードあたりの平均獲得pipsが明らかに悪い事がわかると思います。この期間のトレードは勝っても利幅が小さいか、または負けた時に大きく負けやすい、という傾向があるという事です。
2020/01〜2020/2の取引
フィルタ | 勝率 | 取引回数 | 平均獲得pips | 総合獲得pips |
---|---|---|---|---|
なし(リアルな取引履歴そのもの) | 65.71% | 557 | 0.77pips | 431.30pips |
VIX18以上で取引停止 | 66.87% | 492 | 1.15pips | 564.00pips |
VIX20以上で取引停止 | 67.57% | 518 | 1.31pips | 679.40pips |
今度は今年の成績を使った検証結果です。
こちらもまだ2ヶ月ぶんしかデータが無いにも関わらず、フィルタの有無が成績に大きな影響を及ぼしている事がわかります。
VIXが18を超えている期間はどのくらいあるか?
ここまでで、VIXフィルタを用いてEAの稼働を時には停止させる事が成績の向上・安定化に有効である可能性が高い事がわかりました。
しかし、自分もそうなのですが「EAが動いていないと面白くない」と感じる方も一定数存在するのです。「実際どのくらいEAが止まるんだ?」という疑問を感じたので、VIX18および20を超えている期間について調べました。
TradingViewの1時間足チャートで確認するとこのような感じになります。(自分のPCは画面が小さい(11インチ)ので一年分は入り切らず、12月がちょっと切れちゃっていますが・・・)
真ん中の2本の線が、それぞれVIX18と20のラインになっています。
具体的に数字を出すと、2019年3月から2020年2月29日までのちょうど1年間で、VIXが18を超えていた期間は49.47日、VIXが20を超えていた期間は14.74日でした。
一年間の中での2週間くらいならともかく、50日は流石に「今日もEAが動かない日かぁ」と明確に感じられるでしょうね。EAをできるだけ動かし続けたい方ははVIX20を、より安定感を重視する方はVIX18を、それぞれフィルタの閾値として用いるのが良いのではないかと思いました。
なお、今回は検証していませんがVIXの影響を受けやすいのは特に朝スキャ型のEAだと言われているようです。自身のポートフォリオとも相談して決めるのが良さそうですね。
VIXフィルタを導入する事に決めた
自分はどうするかといえば、確かにEAが動いていないと面白くないのですが、安定を重視してVIX18のフィルタを採用しようと思っています。
しかし、年間50日近くもEAを停止させるとなると毎回自分で設定を変えるのは非常に面倒で、正直やりたくはありません。作業頻度が増えるとミスを誘発する恐れも出てきます。
そこで今回購入したのがこちら、【EATradeStop】というスクリプトです。
詳細は商品ページを各自参照していただくとして、ざっくり紹介すると以下のような機能を持ったスクリプトです。MT4に設置して使用するもので、1つの購入で5口座まで利用可能なようです。
- 指定した曜日、時間で自動停止
- 指標時の前後で指定した時間だけ自動停止
- 重要度で動作を分けることができます(例えば 重要度:大のみ停止、重要度:中/小では停止しないなど)
- 除外するEAのマジックナンバーを指定可能
- 停止時にポジションクローズと待機注文のキャンセルも可能
- 停止に失敗した場合には警告メールを送信
- 指定した指標(国別)を対象にできる(例:USDとJPYのみ対象 等)
- 緊急停止機能(スマートフォンなどからの停止指示)
- 証拠金維持率停止機能
- 過大損失緊急停止機能
- 恐怖指数(VIX)停止機能
他にもこのように経済指標カレンダーを参照して自動的にEAを停止/再開するタイプの商品は存在しますが、VIXを利用した機能を持っているものは中々無いようですね。
経済指標についても、今回と同じように過去のリアルな取引履歴を利用して「指標の発表時に律儀に停めていたら成績はどう変化していたのか?」を検証してみようと思っています。
とりあえず、現在はVIX指数が18や20どころではない程高い値を示しており、コロナウイルスを始め世界が落ち着くまではEAは動かさずに様子見に徹するのが間違いなさそうです。
今回は以上になります。文章ばかりで読みづらかったかと思いますが、読んでくださりありがとうございました。
自分はとくに知識があるという訳ではないので、こうした地道な検証を時々報告する事で、界隈に少しでも貢献出来たら嬉しいなと思っています。それではまた!