これからEAを自作していこうと考えている方向けに、EAの開発に関する記事を少しずつ作成していきます。
今回は、ボリンジャーバンドを用いたEAを作ってみます。
現在のポートフォリオでのエースEAもボリンジャーバンドを用いたEAになっています。
今回はEURJPY用のサードEAがあまりいい結果が出ていないために、こいつと異なる性質で、かつエースEA級の性能を持つEAの開発にチャレンジしました。
結果としてイメージに近いEAはできたので、フォワードテストとして12月までは小ロットで稼働してみます。
参考までに、以前まとめた「自作EAの検討:移動平均線①」という記事も見てみてください。
モチベーション
現時点での私のポートフォリオは3つのEAで形成していますが、サードEAが思ったような結果が出ておらず、バックテストの結果に合わせたオーバーフィッティングであることが疑われます。
そのため、サードEAに代わるEAの開発の必要があることを感じていました。
先日から3つのポートフォリオはテストランとしてフォワードテストをやっていたのですが、このサードEAだけが直近1か月で想定以上の損失を作っていましたのでいったん稼働を停止することにしました。
特にセカンドEA(USDJPY)、サードEA(EURJPY)は非常に勝率が低い特徴があり、さらにサードEAはDDを抑えるために早めの決済が入るため、大きな値幅も取れていないことに気づきました。
コンセプト的にバランスが悪く、2つのEAで少しづつ損失を作りながらエースEAが補填する形となり、セカンドEAの一発が出れば資産が増えるという安定感のないポートフォリオになっていました。
そこでサードEAを稼働停止し、代替EAとしてエースEAと同じくボリンジャーバンドを用いて60%を超える高勝率なEAを開発しようと考えました。
以下は8月時点でのポートフォリオの実力値です。マイナーチェンジをして少し改善していますが現時点でも特徴は同じです。
ターゲット
今回のEAのターゲットは以下に設定します。
・対象通貨ペアは、EURJPY。 5分足。
・PFは、1.10以上。(直近3年間 2020年7月1日~2023年6月30日)
・DDは、15%以下。(直近3年間 2020年7月1日~2023年6月30日)
・勝率は、60%以上。(直近3年間 2020年7月1日~2023年6月30日)
・PF、DDは、サードEA以上であること。
この時のバックテストの条件は、初期証拠金は10万円とします。
比較対象は、エースEA、サードEAとします。
EAの開発
EURJPYの5分足のチャートに対してボリンジャーバンドを当ててみて、基本ロジックがシンプルであるのでここが非常に重要なポイントになります。 ①でいくべきか②でいくべきか決めるためにチャートを何日も眺めていました。
①バンドを貫通時にエントリーする順張り型
②バンドタッチで反発時にエントリーする逆張り型
基本ロジック
最終的には移動平均線でのトレンド方向を踏まえてエントリー回数を絞るようなEAの設計になりました。以下が実際のコンセプトシートです。
パラメータ設定
ロジックが決まりましたので、あとは数値の調整です。
ここがオーバーフィッティングにならないように注意しながら、最適化を行っていきます。
今回の場合だと、以下の5点です。
①-1 : ボリンジャーバンドのma
①-2 : ボリンジャーバンドの標準偏差σの大きさ
②-1 : トレンド判定用の移動平均線のma
③-1 : トレンド判定用の短期移動平均線のma
③-2 : トレンド判定用の長期移動平均線のma
ここがかなり時間がかかる工程になりますが、今回は最終形の結果のみ載せておきます。
結果比較
初期証拠金を10万円としたとき、直近3年間 2020年7月1日~2023年6月30日で+61040.99円の純益、年利にすると約20%程になりました。
ではこの結果の各数値を、エースEA、サードEAと比べていきます。条件はすべて揃えてあります。
サードEAはバックテストの結果はエースEAと遜色なかったのですが、フォワードテストの結果はすでに記載の通りで散々です。
一方で今回開発したEAは、フォワードテストの結果を比べてもエースAと同じかそれ以上の性能を示しています。
この結果より、サードEAは稼働停止し、今回開発したEAを稼働させることに決めました。
EAの名前はフォースEAになるのですが、追番で決めていくとわかりにくいので、今後は名前のルールも決めていきたいと思います。
なお、データの正確さについてのコメントとして、今回開発に用いたデータは合わせてありますので、フォワードテストの結果はオーバーフィッティングにはなっていないものと思います。
まとめ
今回のまとめです。
・今回は実運用ポートフォリオに組み込むため、EURJPY用のEAを開発した。
・基本ロジックはボリンジャーバンドでの反発でエントリーするものとした。
・結果的にはエースEAと並ぶ性能を示す有力なEAができたため、実運用時のポートフォリオに組み込みながらフォワードテストを行う。
最後までお目通しいただきありがとうございました。
コメント