今回は開発者さんからv3.0アップデートの無料代理検証依頼を受けて
正式な仕事として検証させて頂きました。
週またぎで窓開け大損切り時のMT4現実的じゃないSL値計算問題
複利運用時にロット数がばらつく問題
などがV3.0で改善されています。
問題となった原因・経緯
「土曜falseにした時の挙動問題」
→私の環境では挙動の再現が可能ですが、開発者さんの環境は同じ設定でも再現はできませんでした。
違いがあるとすると私OS7。開発者さんOS8.1という違いくらいなのでOSによって走らないプログラムがあるようでした。最終的に「OS7ではバックテスト期間を変更すると挙動が変わる」ということが分かり開発者さん的に気になった部分を修正し問題解決に至っています。
「週またぎ問題」
→これはMT4のバックテスト仕様が問題なのでEGOISTが悪いという訳ではないのですが、現状SL値を設定し週またぎトレードを行なうとバックテスト結果が正確じゃなくなる要因となっていました。なので、週末決済するよう新たに週末決済時刻を設けて問題解決しています。
週末決済時刻は日本時間の土曜日 冬5:30 夏4:30 として週末スプレッドを回避する設定です。
週末決済機能でスプレッド50とか60の時に成行決済したくないという目的ですね。
エントリーに関しては時間制限に加えスプレッドフィルター働くので2重ブロックしてます。
またサマータイムの影響も考慮して正確にバックテストできるようGMT設定が変更になっています。
冬GMTと夏GMTを設定する必要があります。
これによりAutoGMToffsetをfalseにしていてもGMT切替忘れが完全防止できます。
「複利運用時にロット数がばらつく問題」
→これは詳しい経緯は分かりませんがしっかりと修正されていることを確認しました。
新パラメータはこんな感じです。
これら問題を解決した状態でv3.0の長期バックテスト結果です。
アルパリ長期バックテスト
MT4:アヴァトレード
モデリング品質はn/aとなっていますがアルパリ破綻が決定した直後にダウンロードし保存したデータです。
スプレッド5は外為・OANDAの平常時を想定(Bestケース)
スプレッド18は外為・OANDAでスプレッドが暴れた時を想定(最悪ケース)
EGOIST-v3.0-アルパリ-2000.02.01-2015.01.15-スプ5
EGOIST-v3.0-アルパリ-2000.02.01-2015.01.15-スプ18
今回からデータのまとめ方を変更したいと思います。
スプレッドは変動するのが基本なので
Bestケースと最悪ケースを合成した結果でまとめたいと思います。
より現実に近い形のバックテスト結果まとめになると思います。
スプレッドが変化すると結果が大きく変わるEAもありますしね。
計算方法
1年見込み利益=(Best損益+最悪損益)÷2÷年数
Bestケース最大ドローダウン
最悪ケース最大ドローダウン
合成ドローダウン=(Bestケース最大ドローダウン+最悪ケース最大ドローダウン)÷2
リスク対期待値=1年見込み利益÷合成ドローダウン
あとは別途直近ドローダウンなどを必要に応じて追加したいと思います。
EGOIST-v3.0-アルパリ結果合成値
0.1ロット10ポジ設定の場合
1年間の運用見込み利益(14年割)=$2018.55(24.22万円相当)
Bestケース最大ドローダウン=$1300.70(15.60万円相当)
最悪ケース最大ドローダウン=$2216.17(26.59万円相当)
合成ドローダウン=$1758.43(21.10万円相当)
リスク対期待値=1.14
Tickstory長期バックテスト
MT4:アヴァトレード
モデリング品質はn/aとなっていますがMT4ビルド840に対応していない為です。
スプレッド5は外為・OANDAの平常時を想定(Bestケース)
スプレッド18は外為・OANDAでスプレッドが暴れた時を想定(最悪ケース)
EGOIST-v3.0-Tickstory-2003.06.04-2015.07.05-スプ5
EGOIST-v3.0-Tickstory-2003.06.04-2015.07.05-スプ18
EGOIST-v3.0-Tickstory結果合成値
0.1ロット10ポジ設定の場合
1年間の運用見込み利益(12年割)=$1807.71(21.69万円相当)
Bestケース最大ドローダウン=$1018.04(12.22万円相当)
最悪ケース最大ドローダウン=$1298.40(15.58万円相当)
合成ドローダウン=$1158.22(13.89万円相当)
リスク対期待値=1.56
EGOIST-v3.0-Tickstory-2010.01.04-2015.07.05-スプ5
EGOIST-v3.0-Tickstory-2010.01.04-2015.07.05-スプ18
EGOIST-v3.0-Tickstory直近結果合成値
0.1ロット10ポジ設定の場合
直近1年間の運用見込み利益(5.5年割)=$1767.16(21.20万円相当)
直近Bestケース最大ドローダウン=$676.25(8.11万円相当)
直近最悪ケース最大ドローダウン=$1228.85(14.74万円相当)
直近合成ドローダウン=$952.55(11.43万円相当)
リスク対期待値=1.85
まとめ
アルパリデータで2000~2003年に大きめのドローダウンがある。
2003年以降はアルパリデータでもTickstoryデータでも似たような挙動だとグラフから分かる。
v3.0は正確なバックテストができるようになっているので非常に信頼できる結果です。
v2.6と比較するとバックテスト上では成績が落ちているが
v2.6は正確なバックテストが出来てないので成績が良くて当たり前である。
EGOISTに限らず「正確なバックテストができるのか?」という視点で注目されるであろうEAを再検証します。
「正確にバックテストできない」「バックテストが信頼できない」EAが出てくると思っています。
EGOISTは開発者さん本人がEGOISTを利用してリアル資産運用しているので
EAの品質管理や改善において非常に高い意識レベルで対応してくれます。
いろいろな開発者さんをEAを通して見てきましたが
EGOISTほど真剣に真摯にプログラミングに向き合っている開発者はいないと思います。
言動と行動も一致しており信頼できる開発者さんです。
次回はブローカー選定をお届けします。