MATILDA ~マチルダ~
どうも、miccoです^^
仮想通貨が賑わっていますね。
3年前にも仮想通貨ブームがありましたが、その当時にいろいろ勉強した(いろいろやって負けた)ので、今回の盛り上がりに乗じて当時のリベンジを考えてます。ただ、追いかける情報が多すぎて普段からなかなか時間が取れない私には不向きだなーと実感している最中です。
やっぱり私はEAが好きです(仮想通貨で今回も負けてる)。
さて今回は、Cradle以来の約1年半ぶりになる自作EAのご紹介です。
その第4作目となるEAの名前は 「MATILDA」です。
昨年11月にツイートしてから約半年以上が経過しました。
モチベーションが上がったところでちょっとご紹介。
— micco (@micco_fx) November 9, 2020
現在こんな↓EAができています。
スキャルピングで4ペア対応です。
大統領選が落ち着いたらフォワード計測を開始しようと思っています。 pic.twitter.com/AqxneTS5fY
お気付きの方もいらっしゃると思います。
この MATILDAを開発していた時に、いったい何回観たのかわからないくらい大好きな映画「LEON」を観まして、見事に感化された結果の命名です。笑
悲しくも切なく、でもどこか温かみがあって何とも言えないストーリーが好きです。
あの映画は名作です。
この記事のアイキャッチ画像の植物は “アグラオネマ”という観葉植物で、映画内でレオンが大事に持ち歩いていた植物です。日本では縁起の良い植物として贈答用に用いられたり、タイでは「アグラオネマを飾ると幸運を呼び込む」という言い伝えがあるそうです。
話を戻して、自作EA「MATILDA」のご紹介を進めます。
Check
どんなEA?
MATILDA の概要です。
- 対応通貨ペアは「CHFJPY、EURJPY、GBPJPY、NZDJPY、USDJPY」
- EAを稼働させる時間足は「5分足」
- トレードスタイルはトレンドフォローのスキャル・デイトレ
- チャンスと判断すれば追撃します
- トレードに取引手数料およびスワップポイントを考慮
- 最長ポジション保有時間は12時間と短く、その日の内に勝敗が決まります
- 勝率 約73%のほど良い高勝率タイプ
- 高いリカバリーファクターで損失を早めに取り返します
- 相場のボラティリティに合わせた可変ストップロスを採用
- 複数の 決済ロジックを搭載
- 愛用の銃は ベレッタ
- 決め台詞は「大地に植えれば根を張るわ」
レポート結果詳細(Quant Analyzer)
冒頭に掲載したバックテストの結果を、分析ソフト「Quant Analyzer(QA)」で見ていきます。
QAの仕様上 JPY口座でのバックテストでも通貨単位が「$」表示になってしまいます。
$表示の数字は全て「円」に置き換えてご参考にしてください。
バックテストの環境
まずは冒頭に掲載したレポート結果のバックテストの環境についてです。
バックテストの期間は 2011/05/01~2021/04/30の10年間で、0.1Lot固定でバックテストしています。
Tick Deta Suite(TDS)で、Dukascopyのティックデータを使い、変動スプレッド環境でテストしています。
変動スプレッドの設定についての詳細は後述しますが、Dukascopyのデフォルト設定のスプレッドではなく、TradeviewのLive口座で計測した直近約2年間の朝方のスプレッドに寄せています。
スワップポイントについても、2021/05/13時点の Tradoviewのスワップポイントに設定しています。
MATILDAは日を跨ぐトレードも多く、スワップポイントの影響を受けやすいことから、バックテストの環境においても考慮するべきコストだと考えています。
加えて、より実践の環境に近づけるため、注文遅延についてもランダムで 200ms~500msの注文遅延が発生する環境でテストしています。これは TDSで設定することができます。
使用するブローカーのリージョンに合わせた VPSを利用すれば一桁msの注文も可能ですが、自宅PCやリージョンが異なる VPSを利用すれば、この程度の注文遅延は十分に発生し得ることを考慮した環境を想定しました。
更に、トレード毎の取引手数料を 500円/Lot(往復) に設定しています。例えば、0.1Lotトレードする度に 50円がそのトレード損益から差し引かれます。国内口座では見かけないのでこのトレードコストは不要ですが、海外口座であれば取引手数料が必要なブローカーがほとんどで、概ね $5/lot~$8/lotの取引手数料が設定されています。
まとめると、スプレッド・スワップポイント・取引手数料・注文遅延、これらのトレードコストを考慮した環境でバックテストを実施しています。
QA詳細
次に QAで分析されたレポート結果の詳細について見ていきます。
トレード回数は過去10年間で5通貨ペアの合計が 6,419回なので、年間約640回、月平均で約 53回のトレードをしたということです。今後の相場状況や、EAを稼働させる諸々の環境差によっても変わるので、あくまでも目安です。
最大ドローダウン(MAXDD)は、10年間で 45,452円(2.25%)と、低く抑えられています。
誰が言ったのか知りませんが「最大ドローダウンは未来に更新される」という言葉があり、私もこれまでに様々なEAを使ってきて本当にそのとおりだと感じます。ですので、実際はこの2~3倍程度のドローダウンを最大損失と想定した Lot設定がベターかと思います。
リカバリーファクター(RF)は 29.45で、10年間のトレードから損失の約 29倍の利益でリカバリーしていることがわかります。
勝率は 73.17%となっており、言うなれば “中程度の高勝率タイプ”といったところでしょうか。極めて高勝率ということはなく、かと言って低勝率でもない、個人的にはちょうど良いぐらいの勝率です。メンタル面の負担も個人差はありますが、それほど負担は重くはないです。
リスクリワード(RR)は 0.57で、全てのトレードを平均すると 1回の負けトレードを 1.76回の勝ちトレードでリカバリーするという意味になります。全てのトレードを平均して、1回のトレードの平均損失が 1,419.07円であるのに対して、平均利益が 805.28円となっており、平均利益÷平均損失= 0.5674…..となります。
期待利得は 0.1Lot設定の稼働で 208.57円となっており、これは前述の全てのトレードコストを差し引いた上で“トレード1回当たり 208.57円の利益が期待できる”ということです。
各月、各年の損益
過去10年間の各月の損益と損益曲線です。
まず各月の損益ですが、過去10年間なので120カ月です。その内マイナス着地となった月は21カ月なので、82%以上で月間収支がプラス着地になったという事になります。
過去10年間なので各月が10回ずつありますので、その中でも得意不得意な月というのも見えてきます。
そのグラフがこちらです。
各月の合計損益をグラフにしたものになります。全ての月でプラスになっているものの、12月の損益が極端に少ないです。
このことより、MATILDAは年末の閑散相場が不得意であるという事がわかります。実運用の際は12月はトレードをしないという設定にするのも一つの戦略として考えられます。
上に貼った各月損益の表をご覧いただけるとわかるかと思いますが、毎年12月の損益が毎回少ないかというとそうではなく、2015年の12月に出した損失の影響が大きいとも言えます。とは言え、各年の12月損益を見てもそれほど利益が取れていない様に見られますので、不得意な相場状況になりやすいと見るのが妥当です。そのため、リスク回避の観点から12月のトレードを停止する設定で実運用をするのがベターと考えられます。年末年始の停止日・開始日の設定はパラメータ設定から設定できるようになっています。
次に、各年の損益についてです。
これは各年の損益グラフで、年間損益は全年プラス収支で着地できていることがわかります。
2021年はまだ4カ月分の結果しかないので少ないですが、これまでの各年を見ると上振れ下振れを平均して約140,000円となるので、その程度の利益を目安に見込めそうです。
pipsで表示すると、平均して年間約1,900pips前後の利益となります。
各年のトレード詳細が以下の画像です。
2013年~2016年に好成績を残していますが、後は各年同等の損益となっています。
各年のトレード回数についてもバラつきは少なく、安定して概ね650回前後のトレード回数となっていることがわかります。
過去10年間の損益曲線
次に、過去10年間の損益曲線です。
損益曲線は綺麗な右肩上がりで推移しています。
淡いピンクで塗られたところが MAXDDの期間で 2019/11/19~2020/06/10です。年末相場の少し前から、いわゆるコロナ相場の辺りになります。この期間の損失額が前述の MAXDD = 45,452円 (2.25%)で、過去10年間の内で最大の損失額だったということです。このドローダウン期間は 208日なので約半年間です。大きくドローダウンするのではなく、勝ったり負けたりしながらジリジリと下げている様子が伺えます。その後に最高益を更新しており、直近はやや停滞している様です。
実際に運用していて半年間もジリ下げされると稼働停止を考えられるのではないでしょうか。おそらくもっと早いタイミングで稼働停止の判断が下されることと思います。私もそうすると思います。ただしその場合は、EAを停止した後に別の口座で継続して稼働させて動向を観測していき、調子が戻ってきたらメイン口座に復活させることを前提に稼働を停止します。
この損益曲線から、MAXDDまでの損失ではなくとも、過去にも似た動きをしている場面が見受けられます。
損益曲線の該当箇所に印を入れてみました。
直近停滞の損失額が約30,000円程度であることから、30,000円以上で MAXDD額よりも少ないドローダウン、あるいはヨコヨコ期間に印を付けました。印を付けた四角の幅が狭いほど期間が短いという事はお分かりになると思います。
印を付けた幅の最も狭い部分で約半月間、広い部分で最大4カ月間のヨコヨコ期間となっています。EAを1カ月程度稼働しても、この傾向は見えてはこないでしょう。
MAXDD期間や MAXDD額については、いつもフォーカスされやすいので意識が向きますが、EAの損益は MAXDDまで及ばずとも何度かのヨコヨコ期間を経ながら最終的な損益曲線を形成しています。
この損益曲線で注目していただきたいのは、ドローダウンあるいはヨコヨコ期間を経た後は漏れなく最高益を更新しているというところです。
こういった傾向が MATILDAのクセと言いますか、特徴のひとつになると考えています。
直近の損益部分をオレンジ色で囲みました。いわゆる直近停滞です。しかし、前述のとおり例に倣って、この後に最高益を更新していく可能性が高いことが期待できます。
ポジション保有時間と損益
MATILDAのポジション保有時間とその損益です。
これはポジション保有時間のグラフです。
MATILDAはエントリーしてから最短で 5分、最長で12時間でポジションを決済します。グラフから、エントリーしてから4時間で決済することが最も多いことがわかります。
次に、そのポジション保有時間と損益の関係です。
エントリーしてからポジション保有時間が4時間までのトレードは利益に繋がりやすく、それ以上保有すると損失になりやすいという事がわかります。
その各トレードの詳細が下のグラフです。
概ね7時間以上のポジション保有の場合、エントリー方向と値動きが逆行してから値が戻って来ず、また、複数搭載している決済ロジックにも引っ掛からずに、そのまま引っ張った後に損切することが多い様です。
全てのトレードがそうではないですが、5時間以上ポジションを保有した後に決済する際は損切になることが多い様です。
モンテカルロ分析
次に、モンテカルロ分析でロジックの堅牢性を確認した結果です。
全取引データからランダムに5%のトレードを間引いたテストを1,000回繰り返した際に、元々のバックテストデータからどの程度のブレが生じるかを確認します。このブレの大小で堅牢性のあるロジックかどうかを分析しています。
ここで確認するのは、Originalと Confidence level 95%の Max%DDの差です。個人的にEAを選定する際、この差が2%以内に収まらなければブレが大きく使い辛いEAと判断しています。
上画像より、MATILDAは MAX%DDが Original = 2.25%に対して、Confidence level 95% = 2.39%なので、その差は0.14%と、差が極めて小さく、多少のアクシデントでもブレが少ない事が見受けられます。
このことより、MATILDAの売買ロジックは堅牢性が高いと判断できます。
次のグラフは、この1,000回のテスト結果の損益グラフです。
この帯の幅が MATILDAを運用した際に想定される損益の幅です。
次のグラフは、MATILDAを運用した際の今後の統計的な損益予測グラフです。
文字が小さくて見辛いですが「向こう1,283回のトレードで +214,205円~+368,492円の利益が見込まれる」という結果が出ました。これまでのペースでトレードしたとして1,283回を期間に換算すると現在から約2年となります。
これはあくまでも過去の値動きに沿った場合の統計結果で、昨年のコロナ相場の様な過去に類を見ない荒れ相場になった場合等はこの限りではありません。そうじゃなくてもこの限りではありません。あくまでも傾向としての目安で、雰囲気だけを感じ取っていただけると幸いです。
各通貨ペアのレポート結果
ここまでで紹介したレポート結果は MATILDAが対応する 5通貨ペアのそれぞれのレポート結果を ReportManagerでマージしたものです。QAでもマージできますが、QAではマージした結果のシャープレシオ(SR)が正しく表示されないので ReportManagerを使用する様にしています。
シャープレシオについては、以前 Rhinoの詳細分析をしてくださった Forestさんがわかりやすく解説されていますのでそちらのシャープレシオの項をご参照ください。シャープレシオの解説を検索すればたくさん出てきますが、ここほどわかりやすいものは他に見た事がありません。
[blogcard url=”https://forest-lab.info/2021/01/09/how_to_analyze_ea/”]
では、各通貨ペアのレポート結果をざっくり見ていきましょう。
バックテストを実施した環境は前述のとおり[Fee 500円/lot, Swap(Tv 2021/05/13), delay 200ms~500ms(rdm)]です。
EURJPY
USDJPY
GBPJPY
NZDJPY
CHFJPY
各通貨ペアのレポート結果まとめ
はい、こんな具合です。
各通貨ペアの成績から主だった項目を表にまとめてみました。
EURJPYと USDJPYが強いです。
MATILDAの戦力の要となる通貨ペアと言っていいでしょう。特にどちらの通貨ペアも SRが 0.2を超えており、安定したトレードで利益を積み上げていくことがわかります。
SR(シャープレシオ)の解説はこちらのサイトの「シャープレシオ(Sharpe Ratio)」の項を参照ください。
次いで GBPJPYも強いです。
他の通貨ペアと比較しても GBPJPYだけが勝率 80%を超えています。勝率が高いので RRは低くなっていますが、期待利得が他の通貨ペアよりも高いので、相場が MATILDAにハマった時にはしっかり利益を残してくれることに期待できます。
最後に NZDJPYと CHFJPYです。
他の通貨ペアと比べると少し物足りないスペックですが、MATILDAのポートフォリオからこの 2通貨ペアを外すと全体的なパフォーマンスが下がるので、これらを含めた5通貨ペアで損益をうまく相殺しながらバランスが取れていると考えています。
各通貨ペアパラメータ共通設定
ここまでにご紹介した MATILDAのレポート結果は、各通貨ペアごとにパラメータ設定を調整した上でのバックテストの結果です。
MATILDAでパラメータ設定できる項目は以下のとおりです。
ここで、”各通貨ペアごとにパラメータ設定を調整した”と聞くと、おぼろげながら過剰最適化やカーブフィッティングの懸念を抱きそうですが、調整したのは以下の6項目です。
- Max Spread(スプレッドフィルター)= 5.0pips
- Max Position(最大同時エントリー数)= 3
- TakeProfit(テイクプロフィット)= 10pips
- StopLoss(ストップロス)= 50pips
- PositionHoldTime(ポジション保有時間制限)= 660分
- End of Year(年末停止年始稼働制限) = 年末 24日・年始 7日
※数値はデフォルト設定の値
冒頭のレポート結果はこれらを調整した上でバックテストをしたものになります。
ここに挙げる6項目を調整した程度では”過剰”と呼ぶほど結果を相場にフィッティングさせることは難しいと考えています。
この項では、全てのパラメータ設定を各通貨ペアで共通の値(デフォルト)に設定した状態でバックテストをしたレポート結果を掲載します。
デフォルト設定でのバックテスト
それでは、各通貨ペアを共通のデフォルト設定でバックテストしたレポート結果をざっくり見てみましょう。
パラメータ設定値以外のバックテスト環境は前述の内容と同様[Fee 500円/lot, Swap(Tv 2021/05/13), delay 200ms~500ms(rdm)]です。
5通貨ペア合算
はい。各通貨ペア共通のデフォルト設定ではこんな感じになりました。
デフォルト設定でも各年プラス収支で着地できています。
このままでも使えるスペックですが、それぞれの通貨ペアの値動きの特性に少しだけ合わせることで、スペックの向上が図れないかと試してみた結果が冒頭に掲載したレポート結果となります。
と言っても、このままでは両者を比較し辛いので主だった項目を表にしてみました。
それがこちらです。
純益が+48%増加し、対して MAXDDは 23%減少しています。その成果として PFが+11%向上、RFについては+83%も向上する結果となりました。
取引回数が少し減っていますが、これはスプレッドフィルターを各通貨ペアの特性に合わせた結果、スプレッドが広い場合にエントリーを見送る様になったためです。
ロジック部分については全く同じなので、SRは変わらずどちらも 0.12です。
また、勝率が少しだけ低くなった代わりに、平均負けトレードをほぼ据え置きのままで平均勝ちトレードが+20%増加し、その結果として RRが+23%向上しています。加えて、期待利得が+48%も増加しており効率が飛躍的に上がりました。
MATILDAが対応する各通貨ペアにおいて共通のデフォルト設定でトレードしても、十分にプラスになるポテンシャルを持っていますが、それぞれの通貨ペアの特性に少しだけ調整することで、スペックを全体的に上げることができています。
MATILDAの特徴
特にご紹介しておきたい MATILDAの特徴です。
チャンスと判断すれば追撃
前項でご紹介したとおり、MATILDAは毎回ではないものの同時に複数のエントリーをすることがあります。
これには狙いがあります。
例えば、MATILDAのロジックでエントリーサインと判断できるところで最初のエントリーをします。そして、そのポジションを保有している間に再度チャンスが訪れると追撃エントリーをして、更なる利益の積み上げを狙いにいきます。
デフォルト設定では最大同時ポジション数が「3」の設定なので追撃は 2回までですが、更にチャンスが訪れる場合もあります。ですが、利益の増加を狙って無闇にポジションを増やすことは、同時にその背後に損失も拡大するリスクがあるということを忘れてはいけません。
EUR/JPYのレポート結果を基に、MATILDAの最大同時ポジション数を 1~6 に設定した際のそれぞれの成績を下の表にまとめました。
ポジション数が増えるのに比例して純益も増加していることがわかります。ここで気を付けてチェックしたいのが、前述した”損失も拡大するリスクがあるということ“です。上表で確認すると、Max 1から Max 2にすると MAXDDが 23%増加しています。ですが、2→3、3→4とポジション数を増やしても MAXDDはほぼ変化がありません。
つまり、最大同時ポジション数を増やすことで、リスクは変わらず、純益だけを増加させることができていることがわかります。
実は、最大同時ポジション数を増やして追撃エントリーした結果、スペックが上がっているのは純益だけではなく、MAXDDの損失額はそのままに、純益以外の全ての項目についても向上できていることが上の表から確認できます。
このことから、同時ポジション数を増やすことで “ある時はそれが追撃にもなり、またある時は防御にもなり得ている” ということになります。
それがわかれば、最大同時ポジション数を増やして追撃エントリーを積極的に採用していきたいですよね。
そこで、どこまで追撃するのが効率がいいのか調べてみました。
このグラフは MATILDAの EUR/JPYでの最大ポジション数別損益曲線です。
凡例のとおり、グラフの下から順に最大同時ポジション数 1~6となり、「1」が一番低く、「6」が最も純益を残していることがわかります。
曲線の形状はどれも大差ありませんが、純益の結果に大きな差がありますね。先ほど、最大同時ポジション数を増やすことで”損失額を変えずに純益の増加ができる“ことは確認できたので、どこまで追撃を狙うのか決めます。
やはり、単純に純益の多い順で「6」としたいところですが、正直なところ「5」と大差ありません。ひとつ下げて、「5」と「4」を比較すると、こちらはやや「5」の方が効率が良いですね。
ここで少し視点を変えてリスク面に着目すると、先ほどの表で見る限り MAXDDの額はほぼ同じくらいです。しかし、万が一フルでポジションを保有している際に何かが起きて全ポジションSLとなる最悪を想定すると、最大同時ポジション数は少ない方が安全です。
この辺を考慮して、攻める運用なら純益もその他のスペックも「6」と大差のない「5」を、バランス寄りにするなら「3」または「4」を採用することにしました。
各通貨ぺア共通のデフォルト設定の最大同時ポジション数は「3」ですが、各通貨ペアの最適な最大同時ポジション数については上記の流れで決めました。
トレードに取引手数料およびスワップポイントを考慮
MATILDAはロジックの都合上、1回のトレードで獲れる確率の高い約10pips程度の利益を狙います。
そのため、海外ブローカーのトレード毎にかかる取引手数料(Fee)や、ポジションが日を跨いだ際に発生するスワップポイント(Swap)の影響は軽視できません。
エントリーと値動きが噛み合って、TPで利確できてもトレードコストにより利益が削られます。
例えば、0.1Lotの運用で TP=10pipsであれば、USD/JPYの場合だと日本円で1,000円の利確が予定されています。ですが、Feeで50円と、Swapで約25円程度のトレードコストが差し引かれ、TPしても 925円の利益となります。
これが、1.0Lotになれば10,000円の利益が9,250円となり、750円ものトレードコストを支払うことになります。スワップ3倍デーだと更に多くのコストを支払うことになりますよね。
そして、このトレードコストは当然ながらトレード回数の分だけ引かれることになり、まさに塵も積もれば山となります。
10pipsの TPで利確したんだから
10pips分くらいの利益が欲しい!!
そんな熱い想いから、MATILDAには Feeと Swapを考慮する機能を搭載しました。
それが、パラメータの設定項目にある「Consider Fee」と「Consider Swap」です。
この機能はそれぞれ ON/OFFできる様にしています。
「Consider Fee」と「Consider Swap」を ONの場合と OFFの場合の違いをご説明します。
同じ日時のトレードを切り取ってみました。
「Sell, 0.1Lot, 103.903 でエントリーして 10pips下に TPを設定した後、TPで利確した」という場面です。0.1Lot × TP 10pips = 1,000円 の利益を期待しています。
まずは OFFの場合です。
見事 TPになりましたが、Feeと Swapが引かれ、結果は1,000円ではなく 941.40円の利益でした。
次に、同じ場面で ONの場合です。
見事 TPになり、Feeと Swapを考慮した結果、概ね TP値の期待どおり 1,000円の利確となりました。
取引手数料はブローカーが設定している価格から変更されることはほとんどありません。しかし、スワップポイントについては、毎日ではないものの、ペアになっている国の金利が変わればスワップポイントも変わります。
MATILDAはそのスワップポイントの変更にも自動で対応しています。
MATILDAを稼働させるブローカーが設定している取引手数料、およびその時点のスワップポイントを自動で考慮し、できるだけ TP値から期待する利益(0.1Lot×10pips≒1,000円)の獲得を目指します。
バックテストのスプレッド設定について
掲載しているバックテストに使っている変動スプレッドは、TDSのデフォルト設定ではありません。
この項では、どんなスプレッド設定にしているのかご説明します。
TDSのスプレッド設定 -デフォルト-
これまでに TDSのスプレッド設定がデフォルト設定だとどの程度のスプレッドなのか確認されたことはあるでしょうか?
確認のために、MATILDAが対応する5通貨ペアの 2011年から直近までの月当たり平均スプレッド(朝限定)をグラフにしてみました。
どの通貨ペアも概ね2017年以前は直近のスプレッドよりも高いことがわかります。それと、2015年1月、2016年11月、2019年1月、それから2020年2月のあたりに急激なスプレッドの高騰が見えます。これはそれぞれ、スイスフランショック、アメリカ大統領選、フラッシュクラッシュ、そしてコロナ相場に該当します。どの通貨ペアにも反応が見られますね。特にコロナ相場は荒れていたことがスプレッドの高騰からもうかがえるのではないでしょうか。
さて、バックテストをする際はより厳しい条件でテストをする方が良いとは思いますが、この2011年~2015年までのスプレッドでは直近のものとは事情が異なっている様に感じます。また、近年ではインターネットの普及やその他様々な進歩により10年前とは相場状況も違っていると考えられます。
このことから、値動きに関しては調整のしようがありませんが、せめてスプレッドだけでも平均して近年程度のスプレッドに近寄せたいと考えました。
Live口座のスプレッドに近づける
そこで、TradeviewのLive口座で約1年半の間計測したスプレッドを基にして、TDSのスプレッド設定の「スプレッド乗数」の値を求めました。
値の求め方は過去にツイートした方法とだいたい同じです。
私がBTするTDSの変動スプ環境は、まず対象ペア•期間のTDSのスプを抽出してmax,min,aveを出し、ブローカーで直近約1年間計測した生tickからそこのスプのmax,min,aveを出し、max,minはブローカーのものを、aveは両者を比較した比率を設定しています。TDSデフォでBTするよりもリアルに近い環境でBT文字数 https://t.co/7ekZSzyfO7
— micco (@micco_fx) January 19, 2020
この方法で求めた値を各通貨ペアの TDSのスプレッド設定に入力します。先ほど”だいたい同じ”としたのは、最大スプレッドに関してはあえて TDSのデフォルトのスプレッドのままでバックテストを実施しているからです。
バックテストに使ったスプレッド
前述の設定を施したスプレッドとデフォルト設定のスプレッドをグラフにしました。
また、計測した Live口座のスプレッド1年半と、それ以前をその計測データを基に TDSのデフォルト設定のスプレッドを正規化したものを一つの曲線としたグラフも併記しました。
このグラフの「TDS_Demo(Adj)」(灰色のグラフ)の変動スプレッドでバックテストを実施しています。
各通貨ペアのスプレッド乗数値を前述の方法で算出したところ、EUR/JPYと CHF/JPYについてはスプレッド乗数値が 1.0xxxだったため、TDSのデフォルトスプレッドとグラフが重なっています。
スプレッドTDSデフォルト設定でのバックテスト
これまでご紹介してきたレポート結果は、前述でご説明した様に Live口座のスプレッドに寄せた設定を施したものでバックテストを実施しています。
確認のために、TDSのスプレッド設定をデフォルトのままでテストした場合どのような結果になるか掲載しておきます。バックテストを実施した MATILDAのパラメータ設定は、冒頭に掲載したレポート結果と同じ設定です。
バックテスト環境については、スプレッド以外は全て前述の内容と同様[Fee 500円/lot, Swap(Tv 2021/05/13), delay 200ms~500ms(rdm)]です。
こんな感じです。比較のために表にまとめました。
TDSのスプレッドデフォルト設定でのバックテストも、Live口座を基にスプレッド乗数を掛けたスプレッドでのバックテストも、それほど差はありませんでした。
ん~、、自己満のレベルですね。笑
フォワード
MATLDAは 2020年11月に一度完成しており、 11月下旬から動作確認の意味も含めてデモ口座・リアル口座でフォワード計測を開始しました。
MATILDA
— micco (@micco_fx) December 5, 2020
先週に引き続き今週も良い感じでした^^ https://t.co/OeZ0ffXLdL pic.twitter.com/wVneoPHgzp
動作確認も問題なく順調にトレードしてはいたのですが、2月下旬頃にふと「取引手数料・スワップポイント自動考慮機能」を思い付いて、MATILDAに導入したいと考えた結果、3月の一週目にそれまでのフォワード計測を止めました。この3カ月間のフォワード記録は後々参考として公開する必要があると考え、Tradeviewの myfxbookのキャプチャとトレード履歴(CSV)だけを残し全て削除しました。その後は新機能追加に着手したものの、私情によりなかなか時間が取れず1カ月も時間がかかってしまいましたが、改めて口座を用意してようやく4月上旬からフォワード計測を開始しました。
まずは、11月下旬~3月上旬のフォワード計測の記録がこちらです。
次に、「取引手数料・スワップポイント自動考慮機能」を搭載して、改めてフォワード計測を開始した 4月からのフォワードです。
TwitterのEA界隈でも“EAが不調”という趣旨のツイートを散見しますが、MATILDAも4月末頃~5月は成績不振です。直近の損失は USD/JPYが負けてしまっています。ですが、前述した様にMATILDAはドローダウン後に最高益を更新する傾向があるのでここが耐えどころだと言えます。言い換えれば、様子見で稼働を停止しているならここが再稼働を計るタイミングであるとも言えます。
とは言え 6月6日現在では約 -3%の損失なので気にするほどでは無いと考えています。
この直近のフォワードを、新機能搭載前に停止した 2020/11~2021/3のフォワードと合わせて“通算フォワード”として損益曲線を表示してみました。横軸がトレード回数、縦軸が pipsです。
黄色の破線で囲った部分が、上でリンクを貼った myfxbookの 4月から6月6日時点のフォワード部分になります。
直近がガクンと下がっていますが、これは証拠金に対して -3%程度のマイナスなのでそれほど大した損失ではないと考えています。全体を通して見ても、勝ったり負けたりする中での揺らぎの様なものと見えるので、ここから挽回して最高益の更新に期待です。
フォワードおまけ
それと、つい最近ローンチされた「ThreeTrader」という海外ブローカーがある事を知って、早速 MATILDAとスプレッドロガーを稼働させています。
サポートに問い合わせると、つい先日の6月1日にローンチされたとのことです。
私は新しいものにはなかなか飛び付けないタイプなんですが、このブローカーは今までのブローカーとどこか雰囲気が違う気がするんですよね。
口座のスペック表を見てまず驚いたのは、取引手数料が なんと“$4/Lot(往復)”という破格の安さです。他の日本で展開しているブローカーと比較しても断トツで安いです。例えば各社の口座タイプにもよりますが、X社:$8、T社:$7、A社:$6、T社:$5 といった具合なので、おそらく現時点では ThreeTraderが取引手数料は一番安いブローカーになるんじゃないでしょうか。
じゃぁスプレッドで利益獲ってるんじゃないの?と思ったのですが、スプレッドも狭いです。
6/7のオープン時間からスプレッドの計測を開始したのでまだまだデータは少ないですが、参考までにUSD/JPYとGBP/USDの5分毎の各時間平均スプレッドをグラフにしてみました。(2021/6/7~2021/6/10計測データ)
USD/JPY | GBP/USD |
0:00~23:55 | 0:00~23:55 |
1:05~23:30 | 1:05~23:30 |
※画像クリックで大きく表示できます。
23:35~1:05の日を跨ぐ時間帯以外のほとんどの時間帯でかなり狭い方じゃないでしょうか。
あと、気になるのが”デモ口座とライブ口座に差はあるのか?”問題。
サポートに質問してみました。
スパッ!!と即答で言い切ってくれたので気持ちが良い!笑
サポートの方のレスポンスがとても早くて、かなり軽快で終始気持ちの良い対応をしていただきました。(ファンになりそうw)
既に私はKYC(身分証明)も済ませて口座開設は完了しているので、もうしばらく上に掲載した ThreeTradeでの MATILDAのフォワードを見てから早い段階で本格的に運用を開始します^^
まとめ と言うよりは【あとがき】
昨年11月から紆余曲折しながらも、やっとここまでこれました。その間に仮想通貨ブームが到来していますが、私はEAが好きなので相変わらずこの調子です。
これを書き始めたころは「今回こそ簡潔に MATILDAの要点だけまとめて紹介しよう!」と自分に誓ったものの、結局またしても長々と書いてしまうという結果となりました^^;
MATILDAはこれまでの Rhinoや Cradleとはまた違ったタイプのEAです。
カテゴライズするとすれば、全く違うロジックではありますが THE GAPに近いのかもしれませんね。
MATILDAはこれまでご説明してきたとおり、私が考え得る範囲ではありますが、できる限りリアルに近づけた環境の下で行ったバックテストのトレードパフォーマンスはとても良い結果が出ています。
前述のとおり、MATILDAの損益の傾向として現在の停滞は一時のものである可能性が高いと言えます。まぁ停滞と言っても損失率でいうと 6/10現在”かすり傷“程度です。
というわけで、これから販社への出品申請や micco’s BKCHNL(直販)での販売準備を始めます。
今回はこれまでとはまたちょっと違った感じでの販売を計画しています。^^
公開については Twitterでアナウンスさせていただきます。
では^^
Comment
[…] MATILDA ~マチルダ~ […]