【MT4 バックテスト ヒストリカルデータ】同じEAでも成績が変わる理由を解説するTick Data Suite完全ガイドを公開
株式会社PhoenixConnect
株式会社PhoenixConnect(代表:Yasuyuki Takiuchi)は、MT4バックテストで使用するヒストリカルデータの選び方と品質確認の方法を解説する「【Tick Data Suite】使い方完全ガイド|MT4バックテスト99.9%設定マニュアル」を公開しました。同じEAとパラメータでも結果が変わる原因を、データ配信元、欠損、異常値、GMT・夏時間、スプレッド、CFD銘柄仕様などの観点から整理し、Tick Data Suiteを活用して実運用に近い検証環境を構築する手順を紹介します。
■同じEAを使っているのに、なぜバックテスト結果が変わるのか
同じEA。
同じパラメータ。
同じ通貨ペア。
同じ時間足。
同じ検証期間。
条件を揃えたはずなのに、バックテストを行うPCやMT4環境によって、純利益、取引回数、プロフィットファクター、最大ドローダウンが変わる。
このような経験を持つトレーダーは少なくありません。
結果が変わると、多くの人はEAの不具合や設定ミスを疑います。
しかし、確認すべきなのはEAだけではありません。
バックテストへ入力したヒストリカルデータが異なれば、EAが受け取る価格情報も変わります。
その結果、エントリー時刻、決済時刻、損切り、利益確定、トレーリング、取引回数まで変化する可能性があります。
バックテストの資産曲線は、EAのロジックだけで作られているのではありません。
EAとヒストリカルデータ、スプレッド、時間設定、銘柄仕様を組み合わせて作られています。
株式会社PhoenixConnectは、EAの成績を正しく比較するためには、パラメータより先にヒストリカルデータの品質を確認する必要があると考え、Tick Data Suiteを活用した高精度検証ガイドを公開しました。
■ヒストリカルデータはEA検証の土台
ヒストリカルデータとは、過去に配信された価格情報を記録したデータです。
MT4では、1分足、5分足、15分足、1時間足、日足などのローソク足データを利用してチャートを表示し、バックテストを実行します。
しかし、ローソク足には基本的に、
・始値
・高値
・安値
・終値
という4つの価格しか表示されません。
1本のローソク足の内部で、価格がどの順番に動いたのかまでは分かりません。
始値から高値へ上昇した後に安値へ下落したのか。
先に安値へ下がってから高値まで反発したのか。
高値と安値の間を何度も往復したのか。
損切り、利益確定、トレーリング、指値、逆指値を使うEAでは、この価格到達順序が取引結果を左右します。
そのため、バックテストの信頼性を高めるには、ローソク足データだけでなく、より細かなティックデータを使用することが重要です。
■MT4標準ヒストリカルデータの注意点
MT4では、ブローカーのサーバーからヒストリカルデータを取得できます。
EAの基本動作確認や短期間の簡易テストでは有用です。
一方で、取得したデータがすべての期間で完全に揃っているとは限りません。
途中に欠損がある。
一部の時間足だけデータ量が少ない。
過去の価格が後から更新されている。
異なる提供元のデータが混在している。
こうした状態では、同じ期間を指定しても、別のMT4環境と同じ結果になるとは限りません。
また、必要な実ティックデータが存在しない場合、MT4の「全ティック」は時間足データをもとに、ローソク足内部の値動きを疑似的に生成することがあります。
ストラテジーテスターで「全ティック」を選んだだけでは、使用されているヒストリカルデータの品質まで保証されません。
■データ欠損がEAの取引結果を歪める
ヒストリカルデータの途中に欠損があると、バックテストへ複数の影響が生じます。
・本来発生するはずのエントリーが消える
・テクニカル指標の計算値が変わる
・価格が不自然につながる
・取引回数が減少する
・トレンドやボラティリティの判定が変わる
・最大ドローダウンが過小評価される
例えば、移動平均線やATRは、過去の複数本のローソク足を使って計算されます。
途中の価格データが欠ければ、その後の指標値にも影響が残る可能性があります。
複数時間足を参照するEAでは、M15のデータが揃っていても、H1やH4のデータが不足していれば、上位足フィルターの判定が変化します。
データを取得した後は、開始日と終了日だけでなく、途中に不自然な空白がないかを確認する必要があります。
■異常値が美しい資産曲線を作ることもある
ヒストリカルデータには、欠損だけでなく異常値が含まれる場合があります。
一時的に極端な高値や安値が記録されている。
通常では考えにくい大きなスプレッドが入っている。
反対に、相場急変時にもスプレッドがほとんど広がっていない。
このような異常値は、EAの損益へ直接影響します。
極端な価格によって、本来なら発生しない損切りが発生する場合があります。
反対に、実際には届いていない利益確定価格へ到達したように記録される可能性もあります。
重要なのは、バックテスト結果が良いか悪いかではありません。
その結果を作った価格データが、検証対象として妥当かどうかです。
右肩上がりの資産曲線が表示されても、元データに問題があれば、EAの実力を正しく示しているとは限りません。
■Tick Data Suiteで高品質なヒストリカルデータを利用
Tick Data Suiteは、MT4で実ティックデータを利用した高精度バックテストを行うための拡張ツールです。
Tick Data Managerを使い、対象銘柄と検証期間を指定してデータを取得します。
取得したデータをMT4へ連携することで、標準テスターより細かな価格履歴を利用したバックテストが可能になります。
Tick Data Suiteでは、ヒストリカルデータを用意するだけでなく、次の条件を組み合わせた検証ができます。
・実ティックデータ
・固定スプレッド
・可変スプレッド
・スリッページ
・GMTオフセット
・夏時間
・EA最適化
・複数期間の比較
これにより、EAの利益を大きく見せるためではなく、どの条件で成績が崩れるかを確認できます。
■Dukascopyデータを使う意味と限界
Tick Data Suiteでは、Dukascopyなどが提供する長期間のティックデータを利用する方法が知られています。
主要FX通貨ペアでは、長期間の相場環境を含めた検証を行いやすくなります。
一方、Dukascopyのデータと、実際にEAを運用するブローカーの価格配信は同一ではありません。
次の条件が異なる可能性があります。
・配信価格
・スプレッド
・取引時間
・日付変更時刻
・休場時間
・流動性
・銘柄仕様
そのため、DukascopyデータでEAの基本的な優位性や長期的な耐久性を確認し、運用予定ブローカーのデモ口座や少額口座でフォワードテストを行う方法が現実的です。
高品質なデータであっても、特定ブローカーの実際の約定環境を完全に再現するものではありません。
■GMTと夏時間が違うとローソク足も変わる
同じ価格履歴を使用しても、GMT設定が違えばローソク足の区切りが変わります。
特に1時間足、4時間足、日足では、始値、高値、安値、終値が変化します。
ローソク足が変われば、移動平均線、ボリンジャーバンド、ATR、一目均衡表、スパンモデルなどの計算値にも影響します。
次の機能を持つEAでは、GMTと夏時間の整合が重要です。
・複数時間足フィルター
・日足ATR
・前日高値、前日安値
・時間帯別エントリー
・曜日フィルター
・週末決済
・日付変更処理
・月末月初ガード
運用予定ブローカーが冬時間と夏時間でサーバー時刻を変更する場合、そのルールもバックテストへ反映する必要があります。
高品質なヒストリカルデータを取得しても、時間の区切りが違えば、リアル口座と同じシグナルが発生するとは限りません。
■FXとCFDではデータ選びの考え方が異なる
主要FX通貨ペアは、比較的長期間のヒストリカルデータを入手しやすい傾向があります。
一方、ゴールド、株価指数、原油、仮想通貨などのCFDは、ブローカーごとの仕様差が大きくなります。
同じXAUUSDやJP225という名称でも、次の条件が異なる場合があります。
・契約サイズ
・価格の桁数
・最小変動単位
・取引時間
・最小ロット
・1ポイント当たりの損益
・スプレッド
・祝日や休場時の扱い
価格方向やEAロジックの傾向を確認するだけなら、異なる提供元のデータでも参考になる場合があります。
しかし、ロット、損益額、リスク率、最大ドローダウンまで比較する場合は、運用予定ブローカーの銘柄仕様へ合わせなければなりません。
CFDのバックテストでは、価格データとシンボル仕様を一体として確認することが重要です。
■検証期間は長さより中身で選ぶ
10年分のヒストリカルデータを使用すれば、必ず信頼性が高まるわけではありません。
重要なのは、その期間にどのような相場環境が含まれているかです。
・強い上昇トレンド
・強い下落トレンド
・長期レンジ
・低ボラティリティ
・急激なボラティリティ上昇
・金融危機や政策変更
・流動性低下
・スプレッド拡大
長期間のデータを使用しても、利益の大半が特定の1年や数回の取引だけに集中していれば、EAの優位性は安定していない可能性があります。
期間全体の純利益だけではなく、年別、月別、相場環境別に成績を分解して確認する必要があります。
■OPTとOOSでは同じデータ条件を維持する
EAのパラメータを選ぶOPT期間と、未知の期間で再評価するOOS期間は、時系列として分離します。
ただし、データ提供元、GMT、夏時間、スプレッド、手数料などの基本条件は統一します。
OPT期間だけ別データを使う。
OOS期間だけ異なるスプレッドにする。
このように条件が混在すると、パラメータの再現性ではなく、検証環境の差を比較してしまいます。
OPT期間で候補を抽出し、設定を変更せずOOS期間へ適用する。
さらに別期間や別データでクロスチェックする。
この流れによって、特定期間や特定データだけに依存した設定を見分けやすくなります。
■ヒストリカルデータを変えてクロスチェックする
慎重にEAを評価する場合は、一つのヒストリカルデータだけで判断しません。
長期間の実ティックデータで最適化する。
最適化に使っていない期間でOOS検証する。
別のデータ提供元や運用予定ブローカーのデータで比較する。
最後にフォワードテストを行う。
異なるデータでも取引傾向や成績の方向性が大きく崩れなければ、EAが特定データだけに依存している可能性は低くなります。
反対に、データ提供元を変えただけで利益が消える場合は、採用を慎重に判断する必要があります。
■高品質なデータは未来の利益を保証しない
Tick Data Suiteで実ティックデータを使用し、欠損、GMT、スプレッドを整えても、将来の利益が保証されるわけではありません。
ヒストリカルデータは、未来を予測するための答えではありません。
過去の相場に対してEAがどのように反応したかを、より正確に確認するための材料です。
しかし、その違いは重要です。
不完全なデータで優秀に見えるEAと、厳しいデータ条件でも一定の期待値を維持するEAでは、実運用に対する信頼度が異なります。
高精度バックテストの目的は、利益を大きく見せることではありません。
運用前に弱点を発見し、資金を投入すべきではないEAを除外することです。
■Tick Data Suite使い方完全ガイドを公開
株式会社PhoenixConnectは、MT4バックテストで使用するヒストリカルデータの選び方と、高精度検証環境の構築方法を解説する以下のガイドを公開しました。
【Tick Data Suite】使い方完全ガイド|MT4バックテスト99.9%設定マニュアル
https://www.phoenixconnect.jp/Tick_Data_Suite※本記事は情報提供を目的としており、特定の投資行動を推奨するものではありません。最終的な投資判断はご自身の責任で行ってください。
配信元企業:株式会社PhoenixConnect
プレスリリース詳細へドリームニューストップへ
記事提供:DreamNews