2015年9月3日木曜日

[研究中] ウェーブレット VS インパルス バックテストで検証してみる。

うーん、相変わらず9月は忙しいです。
今週末 FX-ONの開発者飲み会に無事参加できるように頑張ります。

前回「Waveletデトレンドうんぬんの記事」と書きましたが、実際、どの程度効果があるのでしょうか? Waveletで生成したデトレンド波形とインパルスフィルタデトレンド波形の周期解析をEAのバックテストで検証してみます。

条件は、
・EURUSD 1H 15Mごとに売買判断
・単純にクロスで売買
・週末はポジションを持たない。
・ストップは300pips(適当に決めました)

まずはインパルスベースから、
ホモダインベース.gif
テストバー数 414087 モデルティック数 827144 モデリング品質 n/a
不整合チャートエラー 0

初期証拠金 10000.00 スプレッド 15
総損益 -879.10 総利益 23422.40 総損失 -24301.50
プロフィットファクター 0.96 期待利得 -1.47
絶対ドローダウン 929.30 最大ドローダウン 2555.80 (21.98%) 相対ドローダウン 21.98% (2555.80)

総取引数 597 ショートポジション(勝率%) 307 (48.86%) ロングポジション(勝率%) 290 (48.97%)
勝率(%) 292 (48.91%) 負率 (%) 305 (51.09%)
最大 勝トレード 300.00 負トレード -300.00
平均 勝トレード 80.21 負トレード -79.68
最大 連勝(金額) 7 (545.80) 連敗(金額) 8 (-618.70)
最大化 連勝(トレード数) 847.00 (6) 連敗(トレード数) -635.70 (4)
平均 連勝 2 連敗 2

まぁ、負けていますが、逆張り系で単純にシグナルに従って、この程度であれば、それなりに条件を絞ると使える可能性があります。


次は、Waveletベースです。
WaveletSinクロス.gif
テストバー数 414087 モデルティック数 827144 モデリング品質 n/a
不整合チャートエラー 0

初期証拠金 10000.00 スプレッド 15
総損益 1250.70 総利益 21399.20 総損失 -20148.50
プロフィットファクター 1.06 期待利得 2.57
絶対ドローダウン 1010.50 最大ドローダウン 1703.50 (15.93%) 相対ドローダウン 15.93% (1703.50)

総取引数 486 ショートポジション(勝率%) 261 (47.89%) ロングポジション(勝率%) 225 (51.11%)
勝率(%) 240 (49.38%) 負率 (%) 246 (50.62%)
最大 勝トレード 300.00 負トレード -300.00
平均 勝トレード 89.16 負トレード -81.90
最大 連勝(金額) 7 (330.80) 連敗(金額) 6 (-794.50)
最大化 連勝(トレード数) 681.10 (5) 連敗(トレード数) -794.50 (6)
平均 連勝 2 連敗 2

おお。+引けしました。予想外ですw

ちなみに、インパルスフィルタベースでも、実際にそちらの方向に動き出したタイミングで取引したり、損切のタイミングを早めたり、トレイリングを追加すると、こんなかんじになります。

LIMIT120.gif
テストバー数 88794 モデルティック数 176576 モデリング品質 n/a
不整合チャートエラー 0

初期証拠金 10000.00 スプレッド 15
総損益 2768.10 総利益 12282.70 総損失 -9514.60
プロフィットファクター 1.29 期待利得 4.37
絶対ドローダウン 187.10 最大ドローダウン 643.00 (4.83%) 相対ドローダウン 4.83% (643.00)

総取引数 634 ショートポジション(勝率%) 328 (66.46%) ロングポジション(勝率%) 306 (65.69%)
勝率(%) 419 (66.09%) 負率 (%) 215 (33.91%)
最大 勝トレード 300.00 負トレード -120.00
平均 勝トレード 29.31 負トレード -44.25
最大 連勝(金額) 11 (504.20) 連敗(金額) 4 (-230.50)
最大化 連勝(トレード数) 504.20 (11) 連敗(トレード数) -261.80 (3)
平均 連勝 3 連敗 1

 週末以外の得意時間によるフィルタとかを入れると、当然さらに上に行くのですが、もともと狙ってその時間に取引するということは考えていないため、このようなフィルタを入れると過剰最適化かなぁと思い、ここで止めました。
 現在調子が悪いGewinn2のプロフィットを超えられなかったため、元になるシグナルの解析からやり直している所です。

 比較の結果、Waveletベースの解析の方がベースとなるインジケータとして優秀な結果を残しました。再度こちらを基本に構築してみます。