製作の背景
自分は常日頃から、「FXのレバレッジという強力な武器を、投機ではなく投資にする方法はないか?」と考えています。
第一弾の「オセアニアブラザーズ」以降、新しいロジックは作れないかと思い約2年間で実に37個のEAを開発しましたが、どれもバックテストを長期にすると上手くいかなかったり、バックテストは好調でもフォワードテストだと利益が出せなかったりして、お蔵入りしました。
そして38個目が、このシステムトレード第二弾「ゴートゥーエブリデイ」です。
このロジックなら自分の中で販売できるレベルのシステムトレードだと思い、公開に至りました。
ポイント①
「実需に基づく仲値トレード」
第一弾である「オセアニアブラザーズ」が「リピート系」と呼ばれるジャンルに該当するのと同様に、「ゴートゥーエブリデイ」は「仲値トレード」と呼ばれるジャンルに該当します。
仲値(なかね)とは、銀行等の金融機関が毎日午前10時に公示する一日の為替レートです。このレートを元に、海外と取引のある企業がドル建て決済を行うために円をドルに両替したりします。
この仲値が午前9時55分時点でのレートで決まります。
企業の取引はキリが良い五十日(ごとおび)に集中する傾向があります。「5と10のつく日」は事前に企業から銀行へ支払い依頼があり、それらが仲値が決まるタイミングで決済されるケースが多いという傾向です。
その際にドル買いが多ければ午前9時55分に向けてUSD/JPYは上昇していくと考えられます。この傾向に順張りするのが「仲値トレード」と呼ばれるものです。
説明が難しい指標が沢山ある中で、経済活動の実需に裏打ちされた仲値トレードは一定の優位性を持っていると言われています。
ポイント②
「テクニカル分析を合わせる」
「本当に毎日9時55分に向けてUSD/JPYが上がるのであれば、そもそもEAに任せる必要はあるのでしょうか?」
「仲値トレードには、なぜ沢山の手法があるのでしょうか?差はあるのでしょうか?」
実は「仲値」という現象は、有名なファンダメンタルズの割には比較的曖昧で弱い現象なのです。
「実需にドル買いでなく、ドル売りが多かったとしたら?」
「9時55分に向けて上がるのは分かったとして、いつから上がるの?」
「毎日上がるの?五十日なら必ずに上がるの?」
「世の中全体が円高傾向の時に、どれくらい自信を持ってUSD/JPYを買って良いの?」
「前日夜に雇用統計やCPI発表など、仲値よりも大きなファンダメンタルズが発表されたときにも有意なの?」
一言で仲値トレードと言っても単純なものでなく、いくつも疑問が湧いてきます。
有意な法則性を見つけて、バックテストをしてパラメーターを調整して、フォワードテストで再現性を確認して、EAにすることができれば勝てるのではないかと思い、「ゴートゥーエブリデイ」を開発しました。
シンプルな仲値トレードを勝率で表してみましょう。
毎日3時間前に買い、9時54分に売る:勝率53%
ほぼランダムに近い差を「誤差」、根拠に意味が見いだせる差を「有意差」と呼びますが、53%は誤差に近いのかも知れません。
五十日に限定して取引:勝率56%
理論的には勝率が50%より大きければ「大数の法則」に従い、繰り返すほど利益は出るはずです。でも56%だと少し心許ないですよね。
五十日かつ金曜日に限定して取引:勝率74%
勝率74%であれば間違いなく有意差と呼ぶことができ、かなり有利なトレードが出来そうです。
ですがが「五十日かつ金曜日」って、年に何回トレードできるのでしょうか?
「ゴートゥーエブリデイ」では「エントリーしても良いか」「買うタイミングはいつか」を図るために、テクニカル分析も併用します。
この結果、全体では安定して勝率66%、五十日かつ金曜日には74%を実現することができました。
オセアニアブラザーズのように常勝とはいきませんが、この勝率でトレードを繰り返すことで、9年間でCAGR(年平均成長率)が47.68%、トータルリターン3,241%となりました。(レバレッジ25倍の国内業者でのバックテスト)
ソフトウェアの仕様上、$表記ですが円に読み換えてください
ポイント③
「曜日ごと・五十日ごと・月ごとのチューニング」
仲値という現象は、曜日ごと・五十日ごと・月ごとに異なる性質を持ちます。
「ゴートゥーエブリデイ」では、その性質に合わせてロット数・エントリー条件・利確損切条件を調整することが可能です。
まずはどのような傾向があるか見ていきましょう。
曜日ごとの傾向
まずは曜日ごとの傾向を見ていきましょう。
表の列は左から、CAGR(年平均成長率・年利)、純益(円)、勝率、プロフィットファクタ、最大ドローダウン、総取引数、傾向(グラフ)です。
傾向が右肩上がりだと、仲値トレードが有利であると直感的に分かります。
傾向グラフで見ると一目瞭然ですね。曜日別に顕著な差があることが分かりました。
土日が休日の企業にとっては週最後の営業日である金曜日だけでなく、週の中央の水曜日もロジックが有利で、逆に木曜日はあまり通用しないことが分かりました。
「ゴートゥーエブリデイ」では、この曜日別の傾向に合わせてロット数を調整することができます。
五十日ごとの傾向
次に一般的に有利と言われている五十日ごとの傾向です。
さすが五十日ということもあり、曜日と比較するとすんなり右肩上がりの直線が多いですね。勝率の平均も74%となっています。
曜日が月4~5回ほど回って来るのに対して、日付は月1回だけですので総取引数と純益は低めですが、やはり有利であると言えそうです。
特に5日・15日・20日が有意性が高いことが分かりました。この五十日別の傾向も合わせて、ロット数を調整しましょう。
ちなみに最終日とは30日や31日を指しています。日付が31日まである月については、五十日である30日ではなく最終日である31日に取引が集中するためです。2月だと28日、閏年だと29日が最終日になります。
月ごと
さらに大きな指標として、月ごとに違いが存在します。
曜日と五十日の優位性にウエイトを付けた上で、月別の違いを見て見ましょう。
まずは1~6月です。
どうやら5月は苦手、他の月は有利なようです。
続いて7~12月です。
8月は安易に仲値トレードを行うと大きくマイナス、年末は有利なことが分かりました。
「ゴートゥーエブリデイ」では、月別の有意差をエントリー条件・利確条件・損切条件に変換して扱うことで、リスクを低減しつつ利益を伸ばすことを目指します。
また吟味するのでエントリー数が少ないところを、複利で補うことができます。
詳細・購入
ポイント④
「トレードしない日を設定できる」
いくら曜日別・五十日別・月別に条件を最適化したとしても、仲値より大きな波のファンダメンタルズには勝つことはできません。
例えばFOMCが金融政策を発表した翌日などは、その影響でUSD/JPYは乱高下するため仲値の有意性はかき消されてしまうことでしょう。
そこで「ゴートゥーエブリデイ」では、設定ファイルに予め書き込んでおくことでトレードしない日を設定することができます。
実需が見込めない日本の祝日や年末年始の企業不稼働日に加えて、FOMCの日程は予め書き込まれています。
他にも気になる経済指標やファンダメンタルズが予想される場合には、予めファイルに日付を書き足しておくことでトレードを避けることが可能です。
エントリーを行いたくない日は1行に1つ、カンマで区切って年月日を定義します。
実行時はHSGTEHoliday.csvというファイル名で、”MT4フォルダ/MQL4/Files/HSGTEHoliday.csv”となるように配置してください。
バックテスト時には”MT4フォルダ/tester/files/HSGTEHoliday.csv”となるように配置してください。
ポイント⑤
「オセアニアブラザーズと無相関」
最後のポイントは、オセアニアブラザーズと無相関であることです。
複数のEAを使いポートフォリオ組む上で重要なのは「分散効果」と「相関効果」です。
分散効果
1つ目の「分散効果」は「卵は一つのカゴに盛るな」でお馴染み、複数の資産を持つことによってリスクを減らすことができるという有名な理論です。
ですが、同じような動きをする資産に分散してしまっては、いくら分散してもリスク低減効果は限定されてしまいます。
例えばUSD/JPYのリピート系EAと、EUR/JPYのリピート系EAがあったとします。
異なる通貨で分散しているように感じるかも知れませんが、「全世界的な円安」などの社会現象が起ことると、どちらも大きな含み損を抱えてしまうことでしょう。
これはどちらのEAも対円リピート系であるために起こる現象で、分散はしていても相関が高いのでリスク低減は不十分と言えます。
相関効果
2つ目の「相関効果」は、異なる動きをするロジックでポートフォリオを組むと、リスクを低減できる(EAであれば、トータルのドローダウンが減る)ということです。
EAを使っている個人投資家を、会社の社長と考えてみましょう。社長は働きたくありませんので、お金とロジックに働いてもらいます。つまりEAは従業員ということです。
あなたは1人目の社員としてオセアニアブラザーズ君を雇いました。2人目の社員としてゴートゥーエブリデイさんを雇いました。
2人にはそれぞれ予算を与え、業務をこなしてお金を稼いでもらいます。
この時、この2人の社員が似たようなスキルと性格を持っていて、似たような業務をさせたらどうでしょうか?
そうです。同じタイミングでミスをして、同じタイミングで赤字を出されてしまい、会社が立ち行かなくなってしまうのです。
そもそも似たような仕事をやらせるのであれば、社員は1人で予算(EAではロット数)だけ増やしてあげれば良いはずですよね?
せっかく2人の従業員を雇うのであれば、全く異なるスキルと性格で、全く異なる業務をさせた方が、会社としては安定するわけです。
もちろん短期的には2人とも赤字を出してしまう時期があるかも知れませんが、長期的に見ると2人とも同時にミスをする確率は低く、リスクを低減することができます。
この従業員数は多い方が分散効果は高まりますが、それぞれの従業員、つまりEAが信頼できることが大前提です。できるだけ出自(EAだとロジック)が明確で、ミスが少ない従業員である必要があります。
ポートフォリオを組むためにいたずらに数を増やすのではなく、信頼できる手法を探っていたら2年以上かかってしまいました
豪ドル/NZドルの回帰性を頼みに長期トレードを行う「オセアニアブラザーズ」と、仲値という経済活動を頼みに短期トレードを行う「ゴートゥーエブリデイ」には相関がありません。分散効果・相関効果が高いのでポートフォリオを組んでみてください。
バックテスト・国内業者
国内FX業者OANDA Japanを使い、パラメータの既定値のままバックテストを行った結果です。
下記はあくまで過去のデータに対してのバックテストの結果であり、パラメーターの既定値は強制ロスカットが起きない安全性を保証するものではありません。
初期証拠金100万円で、9年間(2013年1月1日~2021年12月31日)のバックテストを実施した結果です。
9年間で100万円が3,457万円になりました。
-
- 純益:3,357万円
-
- 総取引数:622回
-
- プロフィットファクタ:2.03
-
- 最大ドローダウン:15.18%
-
- 勝率:66.24%
-
- CAGR:48.24%
-
- トータルリターン:3,357%
パラメーター
「ゴートゥーエブリデイ」で指定できるパラメーターは下記になります。
基本
以下は基本的なパラメーターです。
既定値で運用する場合でも、複利運用の場合は複利係数、単利運用の場合は単利ロット数を、初期証拠金やレバレッジに合わせて調整して下さい。
時刻
エントリーやクローズに用いる時刻を設定します。利用している業者のサーバー時間を確認して設定してください。
ロット係数・曜日
曜日ごとにロット係数を指定します。曜日と五十日のロット係数が合計され、ロット数に掛け算されます。
曜日別に有意性が見込まれる場合は、大きい値を設定します。
ロット係数・五十日
五十日ごとにロット係数を指定します。曜日と五十日のロット係数が合計され、ロット数に掛け算されます。
五十日別に有意性が見込まれる場合は、大きい値を設定します。
判定MA
ボリンジャーバンドとの交差判定に用いるMAについて指定します。
クラス番号・月
各月を割り振るクラス番号を指定します。
クラス詳細
各クラスのエントリー・クローズに用いるボリンジャーバンドの偏差、利確・損切pipsを指定します。
エントリー条件は数値が小さいほど、クローズ条件は大きいほどリスク・リターンが大きくなります。
損失発生時の損失額を低減するため、損切レベルを自動的に更新するトレーリングストップが利用できます。
クラス1については下記の通りです。
クラス2~5についても同様に指定します。
対応通貨ペア
USD/JPYのみに対応しています。
対応業者
USD/JPYの扱いがある業者であれば、どの業者でも動作するように設計しているつもりです。
作者は下記業者で動作を確認しています。
国内業者