検証ラボ ── 2026-08-26
ForexTesterのデータはどこまで信用できるか — 22銘柄・17億ティックを検査した
バックテストソフトを選ぶとき、機能の比較記事はいくらでも出てきます。ところが同梱データの中身を検査した記事は見つかりませんでした。
ForexTester 6 の VIP 契約(Advanced Data Feed)で22銘柄・3年分のティックを取得し、スプレッドの値を1件ずつ数えました。合計17億1,604万件です。
結果は銘柄によってはっきり割れました。為替は市場らしいデータでしたが、株価指数CFDはスプレッドの値が16種類しかありませんでした。
前提
| ソフト | ForexTester 6(デスクトップ版) |
| データソース | Advanced Data Feed(VIP契約に含まれる最上位) |
| 期間 | 2023年8月25日〜2026年8月23日(UTC)の3年間 |
| 銘柄 | 22(為替17・貴金属2・株価指数1・商品1・仮想通貨1) |
| ティック総数 | 1,716,038,297件 |
| ディスク使用 | 約41GB |
同梱の無料データではなく、有料契約で落とせる最上位のフィードです。無料枠のデータは検査していません。
Advanced Data Feed のティックは bid と ask の両方を持っています。固定スプレッドを後から足したものではなく、実際に変動しています。まずこれを確認したうえで、その変動の中身を見ていきます。
手順
やったことは単純です。全ティックについて ask - bid をポイント単位の整数に丸め、値ごとに件数を数えました。
市場が決めたスプレッドなら、値は連続的に分布するはずです。「0.5銭が16%、0.6銭が18%、0.7銭が14%」のように、隣り合う値になだらかに散らばります。
逆に業者が水準を置いているなら、特定の値に集中するか、段階的に飛ぶはずです。
この違いは、値の種類の数と最頻値の占有率を見れば分かります。
結果1: 為替は連続分布だった
| 銘柄 | スプレッドの値の種類 | 最頻値の占有率 | 上位5値の並び |
|---|---|---|---|
| XAUUSD(金) | 10,117 | 1.68% | 0.610 / 0.560 / 0.570 / 0.640 / 0.390 |
| EURHKD | 1,954 | 1.89% | 上位3値でわずか5.6% |
| ユーロ/米ドル | 232 | 25.41% | 2 / 3 / 4 / 1 / 5 pt |
| 米ドル/円 | 402 | 17.98% | 6 / 5 / 7 / 4 / 3 pt |
| 英ポンド/米ドル | 394 | 16.40% | 8 / 7 / 9 / 6 / 10 pt |
**上位5値が隣り合っています。**米ドル/円なら 6→5→7→4→3 と、中心から左右に散らばる形です。これは市場が値をつけているときの自然な姿です。
金がとくに連続的でした。1万種類以上の値があり、最頻値でも1.68%しかありません。22銘柄の中で最も市場らしいデータです。
結果2: 特定の水準に張り付いている銘柄がある
| 銘柄 | 値の種類 | 最頻値の占有率 | その値 |
|---|---|---|---|
| XAGUSD(銀) | 1,999 | 44.95% | $0.030 |
| BTCUSD | 3,278 | 43.03% | $50.00 |
銀とビットコインは、4割以上のティックが1つの値に集中しています。
ビットコインの場合、次に多いのが $75.70(4.49%)、その次が $67.70(2.44%)で、隣接値へのなだらかな分散がありません。最小値は $0.10 なので下限が $50.00 というわけではないのですが、実質的に「$50.00 に張り付いていることが多い」状態です。
市場が決めた値というより、配信側が置いた水準と見るのが自然です。
結果3: 株価指数CFDは16種類しかなかった
いちばん極端だったのが US30(ダウ)です。
**3年・8,630万ティックで、スプレッドの値は16種類だけ。**しかも上位4つで99.6%を占めます。
| 値 | 割合 |
|---|---|
| 2.00 | 45.87% |
| 3.50 | 22.22% |
| 5.00 | 18.28% |
| 2.40 | 13.27% |
| (残り12種類) | 0.4% |
**これは市場のスプレッドではありません。**4段階の設定値が切り替わっているだけです。
念のため申し添えると、これを「データが壊れている」とは言えません。株価指数CFDは業者が値を作る商品なので、元からそういう性質である可能性が高いです。問題は、それを知らずに使うことのほうです。
結果4: 天然ガスは粗いが連続
| 銘柄 | 値の種類 | 最頻値 | 上位3値の合計 |
|---|---|---|---|
| NG(天然ガス) | 47 | 29.92% | 65.9% |
種類は少ないのですが、上位の値が 7 / 8 / 9 / 6 ポイントと隣り合っています。スプレッドの絶対値が小さいので刻みが粗く見えるだけで、張り付きとは違う形です。
解釈: 銘柄ごとに使える検証が違う
検査結果をまとめると、22銘柄は3つの群に分かれます。
| 群 | 銘柄 | この検証に使えるか |
|---|---|---|
| 連続(市場由来と見てよい) | 為替17本、金 | **コストを扱う検証に使える。**時間帯別の分析、分位点、拡大の議論が成立する |
| 水準に張り付き | 銀、ビットコイン | 「置かれた水準から離れる頻度」なら見られる。絶対値は市場の値ではない |
| 段階的な固定値 | US30 | **スプレッドを前提にした検証には使えない。**値動きやティック密度なら使える |
言い換えると、同じソフトの同じフィードでも、銘柄によってデータの性質が違います。「ティックデータがある」だけでは、コストを扱う検証に使えるかどうかは決まりません。
為替の連続性は、別の角度からも裏づけられた
分布の形だけでなく、時間帯構造も見ました。為替17銘柄すべてで、スプレッドが最も開く時間帯が日本時間6時(米国夏時間)/ 7時(冬時間)で一致し、しかも季節で1時間ずれます。
これはニューヨーク17時のロールオーバーに対応する時刻です。**業者が置いた値なら、こんな市場イベントとの一致は出ません。**詳細はスプレッドが開くのは1日1時間にまとめています。
一方 US30 は、最も開く時間帯が両季節とも日本時間9時で、季節による移動がありませんでした。為替とは別の時計で動いています。
実務でどう使うか
- **スプレッドを条件に入れる検証をするなら、まず使う銘柄の分布を検査してください。**値の種類を数えるだけです。数十種類しかなければ、それは市場の値ではありません
- **為替と金であれば、コストを扱う検証にそのまま使えます。**分布は連続で、時間帯構造も市場イベントと一致します
- **株価指数CFDでスプレッドを最適化するのは意味がありません。**値が4段階しかないので、最適化しても段階の境目を拾うだけです
- 銀とビットコインは、**絶対値ではなく「広がる頻度」**として扱ってください
- 検証の記録にはデータソース名とバージョンを残してください。同じソフトでも、無料枠と上位フィードでは中身が違う可能性があります
限界
- **Advanced Data Feed だけを検査しました。**Basic / Standard の各フィードは見ていません。無料枠のデータは性質が違う可能性があります
- **3年間(2023年8月〜2026年8月)のデータです。**別の期間では分布が変わりえます
- **なぜ US30 が4段階なのかは分かりません。**ForexTester 側の仕様なのか、その先の流動性提供元の仕様なのかを区別する情報は、外からは観測できません
- **値動き(OHLC)の正確さは検査していません。**この記事はスプレッドの分布に限った話です
- 他社のバックテストソフトと比較していません。「ForexTester が他より良い/悪い」という記事ではありません
まとめ
- ForexTester 6 の Advanced Data Feed から22銘柄・17.16億ティックを取得し、スプレッドの値の分布を検査した
- 為替17銘柄と金は連続分布で、市場が値をつけているデータと見てよい
- 銀とビットコインは4割以上が1つの値に張り付いている
- US30は値が16種類しかなく、4つで99.6%。段階的な設定値
- 同じフィードでも銘柄によって性質が違う。使う前に検査したほうがよい
機能ではなくデータの中身で選ぶなら、こういう検査を通してから決めるのがいちばん確実です。検査自体は、ティックを読んで値を数えるだけなので難しくありません。
なお、ここで「使える」と判定した為替のデータで実際に何が測れたかは、「クロス円は割高」は半分だけ本当だったとスプレッドが開くのは1日1時間にまとめています。
※ 本記事で使用したデータは筆者が自費で契約したものです。ForexTester 社との利害関係はありません(2026年8月時点)。