過去に自作した EA を再評価してみた

「自作のEAを再評価」と言うあっしゅ アルゴリズム開発
この記事は約8分で読めます。

EA販売サイトで EA を探したことで、自分なりの評価ポイントが固まってきました。

そこで、自作の EA について再評価してみることにしました。

対象となる EA は、FX をはじめたばかりでほとんど何の知識もない状態で作成したものです。
当時はプロフィットファクターと最大ドローダウンを重視していたような気がするんですが、今の基準で見るとどうなるんでしょうか?
自分でもちょっと楽しみです。

EA.1 トレンドフォローA

アルゴリズムの概要

基本はドンチャンチャネルを使用したブレイクアウトからの順張りアルゴリズムです。
また、ボラティリティやトレンドの強弱によるフィルターや、トレイリングストップ機能を実装しています。

通貨ペア: XAUUSD(GOLD)

AXIORY(スタンダード口座)

バックテスト*1フォワードテスト
スプレッド設定3.0pips4.0pips5.0pips
損益グラフ*2EA.1 トレンドフォローA(XAUUSD)-AXIORY(スタンダード口座)-スプレッド:3.0pips設定の損益ブラフEA.1 トレンドフォローA(XAUUSD)-AXIORY(スタンダード口座)-スプレッド:4.0pips設定の損益ブラフEA.1 トレンドフォローA(XAUUSD)-AXIORY(スタンダード口座)-スプレッド:5.0pips設定の損益ブラフEA.1 トレンドフォローA(XAUUSD)-AXIORY(スタンダード口座)-フォワードテストの損益ブラフ
テスト期間01/1~16/12
(16年)
17/1~24/7
(7.5年)
プロフィットファクター1.651.591.531.48
リスクリターン率
(10年換算)
9.586.955.156.72
期待利得(1Lot換算)24,323.89円22,510.99円20,503.66円21,732.75円
期待利得(Pips)*319.5pips*418.25pips*416.89pips*418.10pips
平均取引回数(月)5.54回5.59回5.65回4.49回
平均ポジション保有時間54時間5分53時間4分52時間6分47時間1分
*1:バックテストは当時の結果が残っていなかったのであらためてやり直しました。そのため、開発当時とはスワップの違いで多少結果が異なると思います。(おぼろげな記憶では開発当時のほうが少し結果が良かったと思います)
*2:画像を右クリックして「新しいタブで画像を開く」で拡大することができます。
*3:テスト結果の取引ごとの約定価格と手数料、スワップから計算した値です。
*4:テスト結果にスワップについての情報が含まれないためフォワードテストの平均(1.09pips)を使用しました。(手数料はゼロ)

AXIORY(スタンダード口座)の XAUUSD の平均スプレッドは「4.5pips」前後なので、おおむねバックテストの成績をフォワードテストでも再現できていると言っていいのではないでしょうか。

ただ、リスクリターン率はバックテストの時点で高くないですね。
開発当時、最大ドローダウンは気にしていたけど、損益との比率は見ていなかったと思います。
あとはスプレッドの設定でかなり変わってきますが、当時どういう値でテストしていたか記憶にないです。(なんとく「えいや!」で「3.0pips」ぐらいにしていたような…)
このあたりは反省点ですね…。

期待利得が高いのでスプレッド耐性は高いですが、リスクリターン率を考えると狭い業者のほうがよさそうです。(AXIORY というとスプレッド狭めの印象ですが、XAUUSD に関しては広いと思います)

まとめると、スプレッド狭めの業者で使えば結構優秀なんじゃないでしょうか?
なんの知識もない人間が作ったとは思えません。

XMTrading(KIWAMI極口座)

バックテスト
スプレッド設定3.0pips4.0pips5.0pips
損益グラフ*1EA.1 トレンドフォローA(XAUUSD)-XMTrading(KIWAMI極口座)-スプレッド:3.0pips設定の損益ブラフEA.1 トレンドフォローA(XAUUSD)-XMTrading(KIWAMI極口座)-スプレッド:4.0pips設定の損益ブラフEA.1 トレンドフォローA(XAUUSD)-XMTrading(KIWAMI極口座)-スプレッド:5.0pips設定の損益ブラフ
テスト期間01/1~16/12
(16年)
プロフィットファクター1.871.801.73
リスクリターン率
(10年換算)
14.0812.1611.23
期待利得(1Lot換算)30,799.40円28,933.94円26,900.90円
期待利得(Pips)*220.59pips19.34pips17.98pips
平均取引回数(月)5.54回5.59回5.65回
平均ポジション保有時間54時間5分53時間4分52時間6分
*1:画像を右クリックして「新しいタブで画像を開く」で拡大することができます。
*2:テスト結果の取引ごとの約定価格から計算した値です。(手数料とスワップはゼロ)

スワップフリー 口座との相性がよさそうなことが分かっているので、試しに XMTrading の KIWAMI極口座 でもバックテストしてみたんですが、予想以上に成績が良くなりました。

さらに、KIWAMI極口座の平均スプレッドは「2.0~2.5pips」とAXIORY(スタンダード口座)よりも約2pips狭いので、フォワードでもそれなりに期待できそうです。

EA.2 トレンドフォローB

アルゴリズムの概要

基本はボリンジャーバンドを使用したブレイクアウトからの順張りアルゴリズムです。
また、ボラティリティやトレンドの強弱によるフィルターや、トレイリングストップ機能を実装しています。

ブレイクアウトの判断に使う指標以外は「トレンドフォローA」と同じです。

通貨ペア:EURJPN

AXIORY(スタンダード口座)

バックテスト*1フォワードテスト
スプレッド設定2.0pips3.0pips4.0pips
損益グラフ*2EA.2 トレンドフォローB(EURJPY)-AXIORY(スタンダード口座)-スプレッド:2.0pips設定の損益ブラフEA.2 トレンドフォローB(EURJPY)-AXIORY(スタンダード口座)-スプレッド:3.0pips設定の損益ブラフEA.2 トレンドフォローB(EURJPY)-AXIORY(スタンダード口座)-スプレッド:4.0pips設定の損益ブラフEA.2 トレンドフォローB(EURJPY)-AXIORY(スタンダード口座)-フォワードテストの損益ブラフ
テスト期間01/1~16/12
(16年)
17/1~24/7
(7.5年)
プロフィットファクター1.411.351.311.15
リスクリターン率
(10年換算)
9.487.216.252.58
期待利得(1Lot換算)8,605.41円7,503.00円6,761.43円2,680.81円
期待利得(Pips)8.61pips7.50pips6.76pips2.68pips
平均取引回数(月)11.67回11.83回11.93回13.24回
平均ポジション保有時間28時間54分28時間17分27時間54分27時間34分
*1:バックテストは当時の結果が残っていなかったのであらためてやり直しました。そのため、開発当時とはスワップの違いで多少結果が異なると思います。(おぼろげな記憶では開発当時のほうが少し結果が良かったと思います)
*2:画像を右クリックして「新しいタブで画像を開く」で拡大することができます。

損益グラフの形状にはバックテストの面影がかすかに残っていますが、成績はダダ下がりです。
とても再現性があるとは言えません。

残念ですが、過剰最適化だったということでしょう…。

通貨ペア:GBPJPN

AXIORY(スタンダード口座)

バックテスト*1フォワードテスト
スプレッド設定3.0pips4.0pips5.0pips
損益グラフ*2EA.2 トレンドフォローB(GBPJPY)-AXIORY(スタンダード口座)-スプレッド:3.0pips設定の損益ブラフEA.2 トレンドフォローB(GBPJPY)-AXIORY(スタンダード口座)-スプレッド:4.0pips設定の損益ブラフEA.2 トレンドフォローB(GBPJPY)-AXIORY(スタンダード口座)-スプレッド:5.0pips設定の損益ブラフEA.2 トレンドフォローB(GBPJPY)-AXIORY(スタンダード口座)-フォワードテストの損益ブラフ
テスト期間01/1~16/12
(16年)
17/1~24/7
(7.5年)
プロフィットファクター1.421.371.330.95
リスクリターン率
(10年換算)
7.736.605.77-0.70
期待利得(1Lot換算)14990.96円13513.95円12014.67円-1,586.41円
期待利得(Pips)14.99pips13.51pips12.01pips-1.59pips
平均取引回数(月)8.45回8.51回8.59回9.54回
平均ポジション保有時間41時間1分40時間35分40時間2分39時間10分
*1:バックテストは当時の結果が残っていなかったのであらためてやり直しました。そのため、開発当時とはスワップの違いで多少結果が異なると思います。(おぼろげな記憶では開発当時のほうが少し結果が良かったと思います)
*2:画像を右クリックして「新しいタブで画像を開く」で拡大することができます。

もはや面影すらも残っていません。
一応、取引回数とポジション保有時間の再現性はあるけど…。

そもそもバックテストの時点でのリスクリターン率がちょっと低いです。
今だったらフォワードテストしないと思います。

EA.3 カウンタートレンド

アルゴリズムの概要

基本はボリンジャーバンドを使用したブレイクアウトからの逆張りアルゴリズムです。
また、ボラティリティやトレンドの強弱によるフィルターや、トレイリングストップ機能を実装しています。

「トレンドフォローB」の売りと買いを逆にしたものです。

通貨ペア:EURUSD

AXIORY(スタンダード口座)

バックテスト*1フォワードテスト
スプレッド設定2.0pips3.0pips4.0pips
損益グラフ*2EA.3 カウンタートレンド(EURUSD)-AXIORY(スタンダード口座)-スプレッド:2.0pips設定の損益ブラフEA.3 カウンタートレンド(EURUSD)-AXIORY(スタンダード口座)-スプレッド:3.0pips設定の損益ブラフEA.3 カウンタートレンド(EURUSD)-AXIORY(スタンダード口座)-スプレッド:4.0pips設定の損益ブラフEA.3 カウンタートレンド(EURUSD)-AXIORY(スタンダード口座)-フォワードテストの損益ブラフ
テスト期間01/1~16/12
(16年)
17/1~24/7
(7.5年)
プロフィットファクター1.271.211.170.91
リスクリターン率
(10年換算)
6.374.703.42-0.98
期待利得(1Lot換算)9841.58円7897.51円6220.01円-1,959.53円
期待利得(Pips)*34.88pips*43.74pips*42.48pips*4-1.82pips
平均取引回数(月)10.86回10.88回10.95回13.18回
平均ポジション保有時間48時間51分48時15間分47時間10分48時間2分
*1:バックテストは当時の結果が残っていなかったのであらためてやり直しました。そのため、開発当時とはスワップの違いで多少結果が異なると思います。(おぼろげな記憶では開発当時のほうが少し結果が良かったと思います)
*2:画像を右クリックして「新しいタブで画像を開く」で拡大することができます。
*3:テスト結果の取引ごとの約定価格と手数料、スワップから計算した値です。
*4:テスト結果にスワップについての情報が含まれないためフォワードテストの平均(0.49pips)を使用しました。(手数料はゼロ)

これも無残な結果ですね。

そもそもバックテストの時点で成績がパッとしません。
今だったら絶対フォワードテストまで行かないと思います。

まとめ

↓の記事でフォワードテスト結果を検証する中で「トレンドフォローA(XAUUSD)」以外は使えないという判断には至っていました。

ただ、今回の再評価によって、そもそも4個中2個はフォワードテストする価値すらなかったことが分かってしまいました。
知識のない状態ではじめて作ったものだったとはいえ、ちょっとショックです。

あとは、全体的にリスクリターン率が低かったことも分かりました。
最大ドローダウンは気にしていたんですが、金額の大小しか見ていなかった気がします。

まあ、いろいろ反省点が見つかったので、再評価した甲斐はあったと思います。
あとは、この反省点を活かすことができれば…。

タイトルとURLをコピーしました