カルマンフィルタEAでバックテスト
EA作成中カルマンフィルタ
Wikiでは「誤差のある観測値を用いて、ある動的システムの状態を推定あるいは制御するための、無限インパルス応答フィルターの一種」となっています。
はい、イミフですw
話が変わりますが、カーナビってトンネルでも今の位置を表示していますよね。なんで?!
チコチャンじゃなくても気になりませんか?
※トンネルじゃなくても、民生用GPSではそこまで精度は高くないので、基地局の位置情報を使ったりするようです。
あとは走行速度とか、コンパスとか・・・まぁどれも精度は期待できるものではありません。
これらの情報から位置を推定して表示しているようです。
「誤差のある観測値(GPS、基地局、速度、方位など)を用いて、ある動的システム(車)の状態(位置)を推定」しているのですね。
※実際のカーナビ開発をしていないので推測です。
o( ̄ー ̄;)ゞ
不正確な時系列データ(測定値は時々刻々送られてきます)から状態を推定する・・・FXに使えるかもって思いますよねー!
※鋭い方は「誤差のある観測値」(FXは誤差ってもんじゃないだろ?!)ってことに引っかかると思いますがスルーで。
そう思ってたら、MQL5.comに記事があるじゃないですか?!それもEAを作られていて右肩上がりのバックテストが載っています。
ダウンロードしてバックテストしてみるしかないですよね。
※カルマンフィルタのインジケータもMQL5.comからダウンロードできます。(見方がいまいちピンとこないですが・・・)
MT5でバックテスト
記事では EURUSD でバックテストをしていたので、昨年の半年間で行ってみました。
(今年の相場では今後あまり参考になりそうもないのでw)
MT5ではMT4と違い、スプレッドは指定しません。実際の値=その時々のスプレッドの変化が使われます。また実際の値動きを使用するため、データの品質は100%です。
勝率35%程度で、1割近く負けていますね。
グラフで見るとこうなります。
見事な右肩下がり(_ _|||)
記事では・・・2017年8月の一か月だけでバックテストしてますね。
一か月って、意味ないでしょw
上のグラフでも8月は右肩上がりになっている感じです。8月には使える?!
まぁそんなに甘くはなかったです。
ところでMT5には「フォワードテスト」がシミュレート出来るんです。
バックテストデータを検証できるみたいですね。
実際どういうことをしているのかわかりませんが、バックテスト最適化でのカーブフィッティング(過剰最適化)を検証する機能ということです。
※フォワードテストは指定期間の1/2、1/3、1/4期間が選択できます。上図では右側の1/3期間がフォワードテスト結果です。
このカルマンフィルタEAもパラメータ最適化しましたので、フォワードテストで過剰最適化だということがバレました。
( ̄□ ̄;)
他のフィルタ
他にも「粒子フィルタ」(パーティクルフィルタ)というのがあるのですが、MQL5.comにはインジケータもEAもありませんでした。
C++言語のソースは見つけたのでMQL5に移植すればいいのですが・・・・
敷居も高いし、カルマンフィルタがこれではねぇ
┐( ̄- ̄)┌
このカルマンフィルタEAに移動平均や一目均衡表の算出値を「誤差のある観測値」として入れてみる方が有効な気がします。
- 関連記事
-
- ダイバージェンスEAをiCustomで作る2 (2020/05/04)
- ダイバージェンスEAをiCustomで作る (2020/05/02)
- カルマンフィルタEAでバックテスト (2020/05/01)
- まずはダイバージェンス・インジケータ (2020/04/30)
- MQL5の壁 (2020/04/28)
コメント