モデリング品質91%のバックテスト:元ネタはやっぱりUSDが好きですのkokuaさんと、とあるメタトレーダのfaiさんのブログです
MT4のバックテストのモデリング品質については既に偉大なる先人の方々がその内容を解き明かしておられるので今更私がお伝えするネタもないのですが、忘れやすい自分のためにメモしておきたいと思います。元ネタはやっぱりUSDが好きですのkokuaさんと、とあるメタトレーダのfaiさんのブログです。参考にさせて頂き御礼申し上げます。
MT4のバックテスト結果についてはhttp://articles.mql4.com/83にその内容が説明されています。その中でモデリング品質については計算式があり以下のような内容になっています。
(1)1分足データだけを元にして(テスト中のチャートの)ローソク足が形成されていれば、品質レベルは90%とする。
(2)5分足~4時間足のデータを元にしていればそれは50%とする。 (3)5分~4時間足だとしても、テスト中のチャートの時間足よりも「大きな」時間足から補間生成されたデータであれば、その品質は25%とする。
1~3が混じっていいれば足の本数による加重平均になります。 従ってMT4のバックテストではモデリング品質の満点は90%ということになります。90%という数値が妥当かどうかは別としてMetaQuates社がそう決めたということになります。
ではMetaQuates社の満点以上の高いモデリング品質99.90%のバックテストデータDukascopyとはいったい何物なんでしょうか。MT4のバックテストデータには実際のTickデータはなくMT4が擬似Tickデータを作ってバックテストしていることは広く知られているかと思います。ところがDukascopyのデータには普通は無いはずのTickデータを含んでいるので普通の満点の90%よりもクオリティが高いはずだから99.90%にしよっ、とDukascopyの作成元が決めたものです。つまりMetaQuates社の計算式を無視してウチの品質は99.90%って自分で決めてそれを強制的に表示しているということになります。
どちらにしてもバックテストは固定Spreadになるわけだから実際のトレードと違いが出る可能性はあるし、BandCross3のように終値でエントリー/クローズするEAの場合4本値があれば全Tickデータがなくても同じ結果が出るはずなので個人的には99.90%にしなくてもと思っています。(決してバックテストを手抜きしようなどということでは。。。)
とはいえ勝手にモデリング品質表示を変える事がbuild600以降でも出来るのか、ということでfaiさんがここでやっておられるモデリング品質書替えの再現試験をやってみました。
ホントは抜けとかあるかもしれませんがバックテストではお世話になっているFXDDさんのデータなのでモデリング品質はおまけで91%にしとこ!ということで、
まず普通にEveryTickでバックテストします。モデリング品質は90%です。
作成されたFXTファイルの中のモデリング品質データの箇所を91%に書き替えます。
その後FXTファイルを上書きしないようにしてバックテストします。(今回はTickStoryLite使いました)
すると、ああなんということでしょう、91%のモデリング品質のバックテスト結果が出来上がっているではありませんか。
再現試験は大成功でした。 でもだからといってワタシが公開しているバックテスト結果は信用出来んなどとは思わないで下さいね。
written by BandCross