foxalgo.io

Hit rate is only half the story

測定済みのオッズ。売買指示なし。 意味 →

Distance grows
41.9x
Farthest vs. nearest pooled distance decile, median distance, anchor 9:30 ET, n=125,677
Typical MAE barely moves
1.2x
Median adverse excursion to first touch, same deciles, ATR units
MAE as % of distance
640% → 16%
Nearest tenth vs. farthest tenth of level-days — narrows 39.3x

For each named level on six futures markets we measured two numbers, not one: P(touch) -- how often price reaches the level by 16:00 ET -- and the typical adverse excursion (MAE) along the way, measured only on the days that touch resolves. Pooling every resolved (market, level, day) row into one population (n = 125,677) and splitting by distance decile, distance grows roughly 41.9x from the nearest to the farthest tenth of level-days, but the median MAE barely moves at all (about 1.23x). A level sitting a few hundredths of an ATR from price touches almost every time -- and the path there still runs several times that level's own distance against you before it gets there.

  • 125,677 resolved level-days, 6 futures markets (NQ, ES, YM, RTY, GC, CL), 12 named levels, anchor 9:30 ET, pooled into one population and split into distance deciles
  • Distance grows 41.9x from the nearest to the farthest pooled decile; median MAE grows only 1.23x over the same range
  • MAE as a fraction of distance falls from roughly 640% in the nearest tenth of level-days to roughly 16% in the farthest tenth -- a ~40x narrowing
  • The same flatness holds as a check, using a different binning method that compares each level only against itself (see below) -- so this isn't an artifact of near and far levels being different kinds of objects
  • A 15-second cross-check on ES/NQ found the published MAE is a conservative upper bound, not an exact value (see below)

Two numbers, not one

Most write-ups of a named level (prior-day high, overnight low, a session open) report a single number: how often price touches it. That number alone says nothing about what happens on the way. A level can have a 90% touch rate and still force a large adverse move against a trade placed toward it before the touch arrives -- or a 10% touch rate with a comparatively mild path. Reporting P(touch) and MAE together is the point of this page: touch odds describe whether the level gets tagged, MAE describes what the path there typically costs.

MAE here is the maximum adverse excursion from the 9:30 ET anchor price toward the level, measured only up to the level's first touch, in ATR units. Unresolved days -- no touch by the 16:00 ET close -- are a separate population; their own (larger, still-accumulating) adverse excursion to 16:00 is never mixed into the resolved-touch MAE reported below.

Distance grows nearly 42x, MAE grows only 1.23x

Pooling all 125,677 resolved level-days -- every market, every named level except the degenerate 9:30 session open, one population -- and splitting into ten deciles by distance-to-level makes the headline pattern explicit: median distance widens from 0.019 ATR (decile 1, the nearest tenth) to 0.797 ATR (decile 10, the farthest tenth), a 41.9x range. Median MAE over that same range moves from 0.113 to 0.139 ATR, a 1.23x range. The ratio MAE/distance -- how large the typical adverse move is relative to the level's own distance -- collapses from roughly 640% in decile 1 to roughly 16% in decile 10.

Distance decilenDistance range (ATR)Median distance (ATR)Median MAE (ATR)Median MAE / distance
D112,5680.000-0.0350.0190.113640.0%
D212,5680.035-0.0680.0510.110216.7%
D312,5670.068-0.1040.0860.108126.7%
D412,5680.104-0.1440.1230.11291.7%
D512,5680.144-0.1900.1660.11971.4%
D612,5670.190-0.2460.2160.12557.7%
D712,5680.246-0.3190.2790.13247.3%
D812,5680.319-0.4230.3650.13938.0%
D912,5670.423-0.6060.4980.14228.1%
D1012,5680.606-6.4620.7970.13916.3%

Read literally: for the nearest tenth of level-days the typical adverse excursion on the way to the level is several times larger than the distance to the level itself -- price oscillates back and forth past the level's own (very small) distance before the eventual touch. For the farthest tenth, MAE is a small fraction of the (much larger) distance -- the touch, when it happens, happens comparatively directly. Neither of these is about profitability: they describe path shape, not a tradable edge.

Check: does the same flatness hold level by level?

The decile table above pools every level into one population before binning by distance, which invites an objection: maybe "near" levels (session opens) and "far" levels (prior-week highs/lows) are just different kinds of objects, and the pattern is really about level type, not about distance itself. As a check, the same distance-vs-MAE relationship can be measured a completely different way: bin distance inside each (market, level) cell separately into quintiles first, and only pool the resulting per-cell summaries afterward. That changes the weighting and lands on different exact multiples -- distance grows about 25.6x and MAE about 1.24x from the nearest to the farthest per-cell quintile, with MAE/distance narrowing from roughly 154% to roughly 13% -- but the direction and the conclusion are the same: distance moves far more than MAE does, whether or not a level is ever compared to a different level.

Distance quintilenDistance range (ATR)Median P(touch)Median MAE (ATR)Median MAE / distance
Q154,3010.000-0.23386.9%0.114154.3%
Q254,2570.233-0.46762.2%0.12249.9%
Q354,2650.467-0.74642.6%0.13131.2%
Q454,2580.747-1.15825.1%0.13418.1%
Q554,2851.159-5.9558.7%0.14113.3%

The same per-level check, broken out market by market rather than pooled across all six, shows the same direction on every market measured:

MarketQ1 distance (ATR)Q1 P(touch)Q1 MAE (ATR)Q1 MAE/distanceQ5 distance (ATR)Q5 P(touch)Q5 MAE (ATR)Q5 MAE/distance
CL0.000-0.24686.7%0.097107.7%1.243-7.0887.6%0.14313.3%
ES0.000-0.21888.8%0.105162.7%1.082-5.86711.4%0.15114.3%
GC0.000-0.29981.8%0.104111.1%1.478-7.2224.6%0.1298.3%
NQ0.000-0.21487.6%0.121192.4%1.050-4.93412.4%0.13915.5%
RTY0.000-0.20288.0%0.129194.8%1.003-4.77413.5%0.13716.0%
YM0.000-0.21787.8%0.119176.5%1.098-5.84311.5%0.14416.8%

Touch odds and typical MAE, by level

The full breakdown behind both aggregations above: anchor 9:30 ET, all 13 tracked levels, 6 markets. The 09:30 session-open level is degenerate at this anchor (distance 0, always touched) and included only for completeness -- it is excluded from the decile, quintile and per-market tables above.

MarketLeveln (days)P(touch by 16:00) [95% CI]Median distance (ATR)Median MAE (ATR)MAE / distanceUnresolved (n)
CLmidnight open (00:00 ET)3,99055.4% [53.9-57.0%]0.3310.11558.1%1,778
CLsession open 07:003,99568.4% [67.0-69.9%]0.2210.11073.3%1,261
CLsession open 08:003,99572.0% [70.6-73.4%]0.1910.11181.5%1,119
CLsession open 09:303,995100.0% [99.9-100.0%]0.0000.109-0
CLovernight high (18:00-09:30)3,99554.6% [53.1-56.2%]0.3290.12460.0%1,812
CLovernight low (18:00-09:30)3,99552.8% [51.3-54.4%]0.3600.11150.0%1,885
CLprior-day mid3,99244.1% [42.6-45.7%]0.4960.11549.8%2,230
CLPDH3,99234.4% [32.9-35.9%]0.6480.11850.0%2,620
CLPDL3,99232.6% [31.1-34.0%]0.7430.11943.7%2,692
CLprior-RTH high3,99240.0% [38.5-41.5%]0.5400.11950.0%2,397
CLprior-RTH low3,99238.3% [36.8-39.8%]0.6070.11643.8%2,465
CLprior-week high4,14518.4% [17.2-19.6%]1.4690.11445.1%3,383
CLprior-week low4,14514.6% [13.6-15.8%]1.7560.12441.2%3,538
ESmidnight open (00:00 ET)4,04865.2% [63.7-66.7%]0.2400.12075.0%1,409
ESsession open 07:004,04877.5% [76.2-78.8%]0.1400.117100.0%911
ESsession open 08:004,04880.9% [79.6-82.1%]0.1180.117120.0%774
ESsession open 09:304,048100.0% [99.9-100.0%]0.0000.123-0
ESovernight high (18:00-09:30)4,04866.0% [64.5-67.5%]0.2320.11972.9%1,376
ESovernight low (18:00-09:30)4,04859.9% [58.3-61.4%]0.2820.12661.7%1,625
ESprior-day mid4,04649.3% [47.8-50.9%]0.4380.12956.6%2,051
ESPDH4,04642.5% [41.0-44.0%]0.4740.10854.1%2,327
ESPDL4,04633.3% [31.9-34.8%]0.7330.14247.2%2,698
ESprior-RTH high4,03846.6% [45.0-48.1%]0.4190.10953.9%2,157
ESprior-RTH low4,03838.5% [37.0-40.0%]0.6210.13851.0%2,484
ESprior-week high4,14523.9% [22.7-25.3%]1.0090.10445.5%3,153
ESprior-week low4,14514.3% [13.2-15.4%]2.0280.15242.2%3,554
GCmidnight open (00:00 ET)4,08050.2% [48.7-51.8%]0.3800.11759.5%2,031
GCsession open 07:004,08661.5% [60.0-62.9%]0.2490.11171.2%1,575
GCsession open 08:004,09065.1% [63.6-66.5%]0.2290.11273.3%1,428
GCsession open 09:304,091100.0% [99.9-100.0%]0.0000.118-0
GCovernight high (18:00-09:30)4,09145.1% [43.6-46.7%]0.4000.12249.5%2,244
GCovernight low (18:00-09:30)4,09144.8% [43.3-46.4%]0.4300.11040.5%2,257
GCprior-day mid4,08938.7% [37.3-40.2%]0.5990.11647.5%2,505
GCPDH4,08928.6% [27.2-30.0%]0.7640.11445.9%2,921
GCPDL4,08925.1% [23.8-26.5%]0.8900.12239.1%3,062
GCprior-RTH high4,08935.8% [34.4-37.3%]0.6020.11450.0%2,625
GCprior-RTH low4,08932.8% [31.4-34.3%]0.6700.11745.3%2,746
GCprior-week high4,14814.9% [13.9-16.1%]1.7220.11537.3%3,528
GCprior-week low4,14812.3% [11.3-13.3%]2.0670.10635.5%3,638
NQmidnight open (00:00 ET)4,06568.7% [67.2-70.1%]0.2200.12376.9%1,273
NQsession open 07:004,06878.4% [77.1-79.6%]0.1330.126112.5%880
NQsession open 08:004,06781.6% [80.4-82.8%]0.1040.126140.0%747
NQsession open 09:304,068100.0% [99.9-100.0%]0.0000.141-0
NQovernight high (18:00-09:30)4,06868.3% [66.9-69.7%]0.2070.12982.6%1,289
NQovernight low (18:00-09:30)4,06863.6% [62.1-65.1%]0.2480.13269.0%1,481
NQprior-day mid4,06649.6% [48.0-51.1%]0.4200.13351.3%2,050
NQPDH4,06643.6% [42.0-45.1%]0.4460.11756.0%2,295
NQPDL4,06634.4% [33.0-35.9%]0.7170.14045.1%2,667
NQprior-RTH high4,05847.1% [45.6-48.6%]0.4090.11256.1%2,147
NQprior-RTH low4,05839.0% [37.5-40.5%]0.6180.13949.0%2,476
NQprior-week high4,14523.7% [22.4-25.0%]1.0570.11548.5%3,164
NQprior-week low4,14513.8% [12.8-14.9%]1.9800.15735.9%3,572
RTYmidnight open (00:00 ET)2,27567.6% [65.6-69.5%]0.2120.13384.9%738
RTYsession open 07:002,29277.5% [75.7-79.2%]0.1260.137126.2%516
RTYsession open 08:002,29481.2% [79.6-82.8%]0.1090.135143.6%431
RTYsession open 09:302,294100.0% [99.8-100.0%]0.0000.160-0
RTYovernight high (18:00-09:30)2,29467.1% [65.2-69.0%]0.2090.13287.5%754
RTYovernight low (18:00-09:30)2,29466.0% [64.0-67.9%]0.2460.12666.0%780
RTYprior-day mid2,29353.3% [51.3-55.4%]0.3870.12957.7%1,070
RTYPDH2,29341.4% [39.4-43.5%]0.4970.12554.3%1,343
RTYPDL2,29338.3% [36.3-40.3%]0.6500.14347.5%1,416
RTYprior-RTH high2,28845.4% [43.4-47.5%]0.4330.12556.1%1,249
RTYprior-RTH low2,28843.0% [41.0-45.0%]0.5690.14252.1%1,304
RTYprior-week high2,33120.2% [18.6-21.9%]1.1640.12548.6%1,860
RTYprior-week low2,33116.6% [15.2-18.2%]1.7300.15139.6%1,944
YMmidnight open (00:00 ET)4,04365.0% [63.6-66.5%]0.2410.13080.0%1,413
YMsession open 07:004,04576.0% [74.6-77.3%]0.1430.130115.4%972
YMsession open 08:004,04580.7% [79.4-81.9%]0.1200.131130.5%782
YMsession open 09:304,046100.0% [99.9-100.0%]0.0000.134-0
YMovernight high (18:00-09:30)4,04664.6% [63.1-66.1%]0.2340.11871.4%1,432
YMovernight low (18:00-09:30)4,04661.2% [59.7-62.7%]0.2650.12868.4%1,571
YMprior-day mid4,04248.5% [47.0-50.0%]0.4260.13659.3%2,082
YMPDH4,04239.2% [37.7-40.8%]0.5090.11153.2%2,456
YMPDL4,04235.3% [33.8-36.7%]0.7000.15050.0%2,617
YMprior-RTH high4,03443.7% [42.2-45.3%]0.4460.11957.5%2,270
YMprior-RTH low4,03439.9% [38.4-41.4%]0.5900.14451.0%2,426
YMprior-week high4,14921.1% [19.9-22.4%]1.1080.10845.2%3,273
YMprior-week low4,14915.0% [13.9-16.1%]1.9160.15938.3%3,528

What the 15-second cross-check found

MAE above is measured on 15-minute bars using a worse-of rule inside the bar that first touches the level -- the 15-minute granularity cannot tell whether the adverse extreme happened before or after the touch within that bar. A cross-check against exact 15-second data, on a stratified sample of ES/NQ days (300 days each, roughly 15,300-15,500 touch rows), found the adverse extreme actually landed after the touch on 13.2% (NQ) to 15.2% (ES) of touches -- meaning the 15-minute worse-of rule attributes some of that later excursion to the pre-touch path when it didn't happen yet. The published MAE is therefore a conservative upper bound, not an exact figure.

Level clustering

Named levels are not independent lines in isolation: 40-55% of level-days have two or more of the 13 tracked levels sitting within 0.05 ATR of each other (by market: CL 44.8%, ES 51.5%, GC 39.8%, NQ 53.8%, RTY 54.5%, YM 51.9%). The same touch can therefore count toward more than one level's statistics on the same day -- read each level's numbers as describing that level, not as independent draws from unrelated events.

Methodology

Built from 15-minute bars, point-in-time from the 9:30 ET anchor through the 16:00 ET session close. All 13 named levels (prior-day high/low, prior-day mid, prior-RTH high/low, prior-week high/low, midnight open, overnight high/low, and the 07:00/08:00/09:30 session opens) are measured the same way: median distance and median MAE in ATR units, Wilson 95% confidence intervals on the touch rate. Continuous-contract roll-splice days and short days (under 60 bars) are excluded per market, and every daily aggregate on an excluded day is voided before it can propagate into the next day's prior-day levels.

Two distance-binning methods are published side by side, deliberately. The pooled-deciles table (headline numbers above) bins every resolved (market, level, day) row into one global population before splitting by distance. The per-level quintile and per-market tables bin distance separately inside each named level first, and only pool the resulting per-cell summaries afterward -- a different weighting (our own rule on stratified deltas: they only subtract cleanly against a shared weighting). The two methods land on different exact multiples because they answer slightly different questions -- "how strong is the pattern overall" vs. "does the same pattern hold when a level is only ever compared to itself" -- but they reach the same conclusion. Publishing both lets a reader verify the finding doesn't depend on which binning choice was made.

This measures the odds of a touch and the typical path cost to get there -- not the odds of a profitable trade. A level being tagged says nothing about whether an order placed there would have filled at a usable price, what spread or slippage a real fill would have carried, or how much risk a trade would already have accumulated by the time the touch happened.

See also

This page reports fixed named levels measured historically. Our targets tool prices touch odds for any distance you choose, on any market we track, using the same measured, Wilson-CI approach -- and now shows the typical MAE for the nearest named level alongside the touch odds, so the "what does the path cost" question isn't left to this page alone. For how every number on this site is built and reported, see methodology.

Research and education, not financial advice. Independent, not affiliated with TradingView.

FAQ

What does "hit rate is only half the story" mean?

A level's touch rate (P(touch)) describes whether price reaches it by the session close. It says nothing about the path taken to get there. This page reports a second number, the typical maximum adverse excursion (MAE) along that path, because a high touch rate can still come with a path that runs several times the level's own distance against you first.

Why two different tables for the same claim?

The headline decile table pools every level into one population before binning by distance. That invites a fair objection: near levels and far levels might just be different kinds of objects. The per-level quintile table answers that objection directly by binning distance inside each named level separately, so every comparison is a level against itself. Both land on different exact multiples (41.9x vs. 25.6x distance growth) because they weight the underlying rows differently, but both show the same collapse in MAE/distance -- so the finding does not depend on the choice of binning method.

Why does MAE barely grow while distance grows over 40x?

MAE is bounded by how far price actually tends to travel intraday, in ATR terms -- that ceiling is roughly the same whether the named level sits close to or far from the day's anchor price. Distance to a far level, by contrast, is set by wherever that level happens to sit (e.g. a prior-week high can be several ATR away). So the ratio MAE/distance falls sharply even though the raw MAE number stays in a narrow band.

Is the reported MAE exact?

No -- it is a conservative upper bound. It is measured on 15-minute bars with a worse-of rule inside the touch bar, and a 15-second cross-check on ES/NQ found the adverse extreme actually landed after the touch on 13-15% of touches. The true adverse excursion up to the exact moment of touch is smaller than the published number in those cases.

Does a high touch probability mean the level is profitable to trade?

No. This measures whether price crossed a level at some point in the session, and what the path there typically cost in adverse excursion -- not whether a trade placed there, with a real fill and slippage, would have made money.

← すべての調査