自作EAのこれまでとこれから -Rhino-
どうも、miccoです^^
寒い日が続いていますが、体調お変わりないでしょうか。
前回更新の11月下旬あたりから何かと忙しく、なかなか時間が取れなくて2021年のまとめができていませんでした。「師走」「一月往ぬる二月逃げる三月去る」とはよく言ったもので、気が付けば早くも2月が終わりそうです。ことわざどおりに毎日が慌ただしく過ぎ去っています。
少し時間ができたので、自作EAのリアルフォワードとバックテストを比較してみました。
Rhino
リアルフォワードの計測を開始して2年1カ月が経過しました。
Rhinoにはプロフィットモードと勝率モードがあるのでそれぞれの成績を見てみます。
プロフィットモード
まずはプロフィットモードです。
公開しているリアルフォワードの成績です。2020/01/05から Axiory nano口座で計測しており、上のキャプチャは2022/02/06までのプロフィットモードの成績です。
これをQuantAnalyzer(QA)で分析したものが以下のキャプチャです。
myfxbookのデータとは若干ズレていますが、誤差程度なのでQA の数値を基に見ていきます。
主だった項目を表にまとめました。リカバリーファクター(RF)については、利益pips÷MAXDD pips で算出した数値を採用しています。
次に、同期間のバックテストの結果です。
バックテストはTick Data Suit(TDS)を使っています。スプレッドの設定はTDS のデフォルト設定です。MT4についてはリアルフォワードと同じAxioryのMT4を使い、リアル口座にログインした状態にして取引手数料やスワップポイント(直近が反映される)がリアルフォワードと同程度になるようにしています。スリッページについては考慮していません。
EAを開発する際にDukascopy のティックデータを使って開発していますので、比較するバックテストに使うティックデータもDukascopy のものを使用しました。それと今回は、リアルフォワードを計測しているAxiory のヒストリカルデータを使ってそれぞれバックテストをしてみました。
まず、Dukascopyのティックデータを使ったリアル口座と同期間のバックテストの結果です。
次に、Axiroy nano口座のティックデータを使ったバックテストの結果です。
これらの主な項目を表にして比較してみました。
取引回数についてはほぼ同等の様です。利益については、Dukas Tick > Real Forward > Axiory Tick となっており、Axiory Tickのバックテスト結果が極端に少ないのが気になります。勝率、MAXDD(最大ドローダウン)については大きな差はないですが、リアルフォワードがそれぞれ少し悪い結果となっています。RR(リスクリワード)については各バックテスト結果よりもリアルフォワードが成績が良い結果となっています。
そして、これらの損益曲線を比較してみたのが次の画像です。
上からDukas Tick、Real Forward、Axiory Tickとなっています。
この損益曲線を見ると、リアルフォワードの曲線とDukas Tickの同期間バックテストの曲線の形状はよく似ています。2021年8月~9月頃にDukas Tickが若干有利なトレードをしていますが、概ね同等のトレード結果となっている様に見えます。Axiory Tickは他と離れた結果を示していますが、損益曲線の形状については他の結果と似ています。このことから、2年1カ月のリアルフォワードについてバックテストと同等のトレードが出来ていたという事がわかります。
この損益曲線の比較から読み取れるのは、Axiory Tickは勝ちトレードの場面で他の結果では大きく利確できているところであまり獲れておらず、また、負けトレードの場面では他よりも大きく損失が出ている事が多い様に見えます。
スプレッドやスワップポイント、取引手数料、パラメータ設定については全て同じ条件でバックテストしていますので、差があるところはティックデータということになります。つまり、ここで見える差こそがブローカーの配信ティックの差によるトレード結果の差であると考えられます。
次に、リアルフォワード計測開始前の直近10年間のバックテストの結果とリアルフォワードを含む直近2年間を比較してみました。Rhinoは 2020/01/05からリアルフォワードを開始しているので、その直近である2010/01/01~2019/12/31を直近10年間としました。バックテストの条件は前述と同じです。
主だった項目を表にして、先ほどの結果と並べてみました。
取引回数、利益、RFについては10年間のバックテスト結果を他の結果と同じ期間に補正するために「25カ月(2年1カ月)÷120カ月(10年)」を掛けて比較しています。
取引回数とPF については同等と言えます。利益、勝率、RFは10年間バックテストの方が良い結果となっています。MAXDDについては、Real Forward のMAXDD はまだ10年間バックテストのMAXDD を超えてはいないですが、同等レベルまで迫っていた様です。Ave.Win についてはどれも同じくらいですが、Ave.Loss は10年間バックテストよりも直近 2年間の方が良い結果となっています。RR についてはReal Forward が最も良い結果となっています。
最後に、直近10年間のバックテストの結果を基にブートストラップ法を用いて Rhinoのフォワード推移を予測してみました。
考え方や方法については、Forestさん(@ForestsLab)のサイト「Forest’s Investment Lab.」の「EA分析方法」内の【2. バックテストからフォワード推移を予測する】を参考にさせていただいております。Forestさんは数年前からお付き合いさせていただいている AIシステム開発を生業とされている兼業システムトレーダーの方です。普段から様々なデータを取り扱われており、その分析力によって以前Rhinoを丸裸にしていただきました。本業に忙殺されているそうで現在サイトの更新はされておりませんが、とても勉強になる記事を書かれていいます。是非参考にされてみてください。
以下がブートストラップ法を用いたRhinoのフォワード推移です。
上下の緑色の破線が直近10年間のバックテストの結果から得た95%信頼区間の上限下限で、赤色の実践がリアルフォワードの損益曲線です。リアルフォワードの損益曲線が信頼区間内に収まって推移している間はバックテストの結果に沿っていると判断することができます。
上画像を見ると、中央値以下での推移ではありますが、現状リアルフォワードはバックテストの結果に沿って推移しているということが確認できます。Rhinoは2021年9月から月ベースで5カ月連勝中ですので、この調子で中央値辺りまで戻って来ることに期待しています。
勝率モード
次に、勝率モードです。
公開しているリアルフォワードの成績です。プロフィットモード同様、2020/01/05から Axiory nano口座で計測しており、上のキャプチャは2022/02/06までのプロフィットモードの成績です。
これを QAで分析したものが以下のキャプチャです。
主だった項目を表にまとめました。RFについては 利益 pips ÷ MAXDD pips で算出。
次に、同期間のバックテストの結果です。
バックテストの条件はプロフィットモードで説明した内容と同じです。
まず、Dukascopyのティックデータを使ったリアル口座と同期間のバックテストの結果です。
次に、Axiroy nano口座のティックデータを使ったバックテストの結果です。
これらの主な項目を表にして比較してみました。
取引回数については Axiory Tickが少ないです。利益については、Dukas Tick > Real Forward > Axiory Tick となっており、プロフィットモードの結果同様 Axiory Tickの結果が極端に少ないのが気になります。勝率については横並びです。MAXDDについては、Axiory Tickと Real Forwardが同等で、Dukas Tickは少なく抑えられています。RRについては各バックテスト結果よりもリアルフォワードが良い成績となっています。
そして、これらの損益曲線を比較してみたのが次の画像です。
上からDukas Tick、Real Forward、Axiory Tickとなっています。
この損益曲線を見ると、リアルフォワードの曲線と Dukas Tickの同期間バックテストの曲線の形状はよく似ています。2020年6月頃と2021年6月頃の DDで Dukas Tickの方が損失が少なく、その差が両者の曲線の差となっている様です。しかし、曲線の形状から判断すると概ね同等のトレードをしている様に見えます。Axiory Tickは他と離れた結果を示していますが、損益曲線の形状については他の結果と似ています。このことから、2年1カ月のリアルフォワードについてバックテストと同等のトレードが出来ていたという事がわかります。
次に、リアルフォワード計測開始前の直近10年間のバックテストの結果とリアルフォワードを含む直近2年間を比較してみました。Rhinoは 2020/01/05からリアルフォワードを開始しているので、その直近である2010/01/01~2019/12/31を直近10年間としました。バックテストの条件は前述と同じです。
主だった項目を表にして、先ほどの結果と並べてみました。
取引回数、利益、RFについては10年間のバックテスト結果を他の結果と同じ期間に補正するために「25カ月(2年1カ月)÷120カ月(10年)」を掛けて比較しています。
取引回数については10年間バックテストが少ない結果となっています。PFについては同等です。利益は10年間バックテストが圧倒的に良いです。勝率についても10年間バックテストの方が良い結果となっています。MAXDDについては、Real Forward のMAXDD はまだ10年間バックテストのMAXDD を超えてはいない様です。Ave.Winについては10年間バックテストの結果の方が良く、直近2年以前の結果が良かった事がわかります。Ave.Loss は10年間よりも直近 2年間の方が良い成績です。RR についてはReal Forward が最も良い結果となっています。
最後に、直近10年間のバックテストの結果を基にブートストラップ法を用いて Rhinoの勝率モードのフォワード推移を予測してみました。
上下の緑色の破線が信頼区間の上限下限で、赤色の実践がリアルフォワードの損益曲線です。リアルフォワードの損益曲線が信頼区間内に収まって推移している間はバックテストの結果に沿っていると判断することができます。
2020年4月頃に上限に触れた後、折り返して中央値を通過したまま、2021年7月頃に下限を下回っていた様です。その後、2021年9月下旬頃から上向きに転じ、2022年1月中旬に下限を上抜け、現在低い位置ではありますが、信頼区間内を推移している様です。この後、中央値に向かって上昇していくのか、または再度下限を下回り信頼区間内に戻らずとなってしまうのか、この辺りを注視する必要がありそうです。とは言え、プロフィットモード同様、月ベースで5カ月連勝中ですので、この調子を継続して中央値辺りまで戻って来ることに期待しています。
Rhino まとめ
Rhinoのこれまでとこれからについて確認してみました。
2020年4月の最高益からドローダウンの中に居るRhinoですが、これまでに確認したとおり、バックテストの乖離はそれほど無く、プロフィットモードおよび勝率モードのどちらもバックテストから想定される範囲には概ね入っている推移であることがわかりました。しかし、現在プロフィットモードについては中央値よりも下、勝率モードについては下限値付近で推移しているため、稼働は継続するものの今後の推移次第では稼働停止も視野に入れる必要があります。
また、昨年2月からテスト稼働していたSuper Profit Modeですが、プロフィットモードや勝率モードをカバーする様な動きが見られませんでした。テスト開始から1年が経過しましたので取り下げます。
プロフィットモードおよび勝率モードについては引き続き稼働して、今後のトレードを見守ります。
次回は「Cradleのこれまでとこれから」です。
Cradleもリアルフォワード計測から2年が経過しました。
近々更新できるように頑張ります!
では^^