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ベースの解析の方がベースとなるインジケータとして優秀な結果を残しました。再度こちらを基本に構築してみます。


2015年8月28日金曜日

研究中 Waveletデトレンダ サイクル解析

お久しぶりです。皆様
いやーこの時期、忙しいですね。
さて、1日だけ余裕ができたので、前から気になっていたウェーブレット+サイクル解析を作ってみました。

販売中のサイクル解析ですが、基本的にロケット工学投資法にあるアルゴリズムを参考に、コード上の解釈がおかしなところを修正して使用しています。

アルゴリズムとして
��.デトレンド波形を作成する。
��.デトレンド波形に対して、位相を求める。
��.位相からSIN波形を形成する。

の流れとなっています。
この1の箇所でインパルスフィルタを使用しています。インパルスフィルタを使用すると、波形の中から高周波成分が取り出されることとなります。

ところが、ロケット工学投資法のフィルタは高周波に対する応答が強すぎて、ノイズに影響を受けやすいようです。

そこで、ウェーブレット解析の考え方を取り入れるとどうでしょうか?デトレンド波形を作る際に一定レベルのウェーブレットディティール成分を使用したのがこちらです。
waveletcycle.PNG

サブウィンドウの上段が今まで、下段がウェーブレットディティールに対する解析です。

今までの周期解析と比較して細かい動きが無くなりました。ぱっと見うまくいっていそうに見えますが、シグナルの発生が少し遅延する傾向がみられます。周期解析の本来の目標である、タイミングを計るという意味では少し弱まった感もあります。

これはウェーブレットの特徴として遅延が発生する為で、遅延分を何とか解消する必要がありそうです。もう少し細かいレベルのディティール成分(たとえばレベル4)も合算して算出する等も必要かもしれません。
でも、何となくいけそうな感じも・・・。ちょっとEAで確認してみたいと思います。



2015年8月26日水曜日

近況のご報告

すみません。半期末はバタバタです。

本業の方が人手がたりない為、私もこちらの作業はストップして対応しています。

ちょっと週末に、ウェーブレット変換を利用した周期解析と、それを利用した周期最適化EMAを作成してみます。使えそうならまた公開したいと思います。

ブログ更新を楽しみにしていただいている皆様(いるかな?^^;;)今しばらくお待ちください。