S&P 500 CFD

index · dukascopy · prices in index points · horizons 4h / 1d / 3d / 5d · session analysis in America/New_York

Download the underlying JSON

Barrier hits — where the stop and the target can go

From a random entry at a bar's close, how often the target arrived before the stop, within the horizon — going long, and going short. The number to read is the gap between the two. Its null is exactly zero under sign symmetry — if a path and its mirror image are equally likely once drift is removed — and that holds at any horizon. A hit rate on its own is mostly arithmetic. Note what the null does not say: a skewed series with no drift can break it without either direction being profitable. See methodology.

Entries are every bar, unconditionally. There is no entry rule and no signal: this is the unconditional first-passage structure of the price path, not a backtest. Consecutive entries overlap heavily, so every cell reports an effective sample size alongside its row count — see methodology.

Full available sample

114,486 bars · 2021-07-27T22:00:00+00:00 to 2026-08-02T23:45:00+00:00

Over this window the price drifted +11.3% a year. Each cell below shows how much of its long/short gap that drift accounts for; only the remainder is tested.

4h horizon

7,711 non-overlapping entries · 10,992 coverage-span equivalents · median 16 bars per window

At this horizon: 0.25% ≈ 0.54σ · 0.5% ≈ 1.09σ · 1% ≈ 2.17σ · 2% ≈ 4.32σ · 3% ≈ 6.45σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:34.697843 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 29.8% 31.0% 39.2% -3.2 pp -5.4 to -0.7 pp 6547
+0.25% / −0.5% 34.2% 13.3% 52.5% -4.9 pp -7.0 to -2.5 pp 4187
+0.25% / −1% 35.5% 3.3% 61.2% -3.2 pp -4.2 to -2.0 pp 2925
+0.25% / −2% 35.7% 0.4% 64.0% -0.5 pp -0.8 to -0.2 pp 2965
+0.25% / −3% 35.7% 0.1% 64.2% -0.0 pp -0.1 to +0.1 pp 3814
+0.5% / −0.25% 11.2% 34.9% 53.9% -4.9 pp -7.1 to -2.6 pp 4748
+0.5% / −0.5% 13.5% 15.7% 70.8% -8.9 pp -12.4 to -5.0 pp 2856
+0.5% / −1% 14.4% 4.1% 81.5% -8.1 pp -10.9 to -4.8 pp 1305
+0.5% / −2% 14.5% 0.5% 85.0% -1.6 pp -2.7 to -0.7 pp 981
+0.5% / −3% 14.5% 0.1% 85.4% -0.1 pp -0.4 to +0.3 pp 1499
+1% / −0.25% 2.2% 36.0% 61.8% -3.2 pp -4.2 to -2.0 pp 3598
+1% / −0.5% 2.9% 16.6% 80.5% -8.1 pp -10.9 to -4.8 pp 1792
+1% / −1% 3.2% 4.4% 92.4% -17.9 pp -24.7 to -10.4 pp 688
+1% / −2% 3.2% 0.5% 96.2% -8.3 pp -12.4 to -3.7 pp 262
+1% / −3% 3.2% 0.1% 96.6% -1.0 pp -2.7 to +0.8 pp 335
+2% / −0.25% 0.2% 36.1% 63.7% -0.5 pp -0.8 to -0.2 pp 4377
+2% / −0.5% 0.3% 16.7% 83.0% -1.6 pp -2.6 to -0.6 pp 1740
+2% / −1% 0.3% 4.5% 95.2% -8.2 pp -12.4 to -3.6 pp 375
+2% / −2% 0.3% 0.6% 99.1% -26.8 pp -46.0 to -9.8 pp 110
+2% / −3% 0.3% 0.1% 99.5% -9.2 pp -23.5 to +4.4 pp 88
+3% / −0.25% 0.1% 36.1% 63.8% -0.0 pp -0.1 to +0.1 pp 4386
+3% / −0.5% 0.1% 16.7% 83.2% -0.1 pp -0.4 to +0.3 pp 1665
+3% / −1% 0.1% 4.5% 95.4% -1.0 pp -2.6 to +0.8 pp 381
+3% / −2% 0.1% 0.6% 99.3% -9.2 pp -23.5 to +4.4 pp 72
+3% / −3% 0.1% 0.1% 99.8% +0.8 pp -42.6 to +33.3 pp 31
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 29.8% 30.5% 30.3% 39.2% 49.0% 50.2% 61% 61% -1.1 pp -2.1 pp -3.2 pp halves agree 0.48% 0.48% 112,558
+0.25% / −0.5% 34.2% 34.7% 11.3% 53.9% 71.9% 75.4% 48% 46% -3.4 pp -1.5 pp -4.9 pp halves agree 0.13% 0.16% 112,558
+0.25% / −1% 35.5% 35.9% 2.2% 61.8% 91.4% 94.1% 39% 38% -2.7 pp -0.5 pp -3.2 pp halves agree 0.02% 0.02% 112,558
+0.25% / −2% 35.7% 36.1% 0.2% 63.7% 99.0% 99.4% 36% 36% -0.4 pp -0.1 pp -0.5 pp halves agree 0.01% 0.01% 112,558
+0.25% / −3% 35.7% 36.1% 0.1% 63.8% 99.8% 99.8% 36% 36% +0.0 pp -0.0 pp -0.0 pp HALVES DISAGREE 0.00% 0.00% 112,558
+0.5% / −0.25% 11.2% 13.2% 34.3% 52.5% 24.3% 27.8% 46% 48% -3.5 pp -1.5 pp -4.9 pp halves agree 0.16% 0.13% 112,558
+0.5% / −0.5% 13.5% 15.6% 13.6% 70.8% 46.2% 53.5% 29% 29% -7.3 pp -1.7 pp -8.9 pp halves agree 0.08% 0.08% 112,558
+0.5% / −1% 14.4% 16.5% 2.9% 80.5% 77.8% 85.0% 18% 19% -7.2 pp -0.9 pp -8.1 pp halves agree 0.01% 0.01% 112,558
+0.5% / −2% 14.5% 16.7% 0.3% 83.0% 96.9% 98.4% 15% 17% -1.5 pp -0.2 pp -1.6 pp halves agree 0.01% 0.00% 112,558
+0.5% / −3% 14.5% 16.7% 0.1% 83.2% 99.4% 99.5% 15% 17% -0.1 pp -0.0 pp -0.1 pp HALVES DISAGREE 0.00% 0.00% 112,558
+1% / −0.25% 2.2% 3.3% 35.5% 61.2% 5.8% 8.5% 38% 39% -2.7 pp -0.5 pp -3.2 pp halves agree 0.02% 0.02% 112,558
+1% / −0.5% 2.9% 4.1% 14.4% 81.5% 14.9% 22.1% 19% 18% -7.2 pp -0.9 pp -8.1 pp halves agree 0.01% 0.01% 112,558
+1% / −1% 3.2% 4.4% 3.2% 92.4% 41.7% 58.2% 8% 8% -16.5 pp -1.4 pp -17.9 pp halves agree 0.01% 0.01% 112,558
+1% / −2% 3.2% 4.5% 0.3% 95.2% 85.8% 93.4% 4% 5% -7.6 pp -0.7 pp -8.3 pp halves agree 0.00% 0.00% 112,558
+1% / −3% 3.2% 4.5% 0.1% 95.4% 97.0% 97.9% 3% 5% -0.9 pp -0.1 pp -1.0 pp halves agree 0.00% 0.00% 112,558
+2% / −0.25% 0.2% 0.4% 35.7% 64.0% 0.5% 1.0% 36% 36% -0.4 pp -0.1 pp -0.5 pp halves agree 0.01% 0.01% 112,558
+2% / −0.5% 0.3% 0.5% 14.5% 85.0% 1.6% 3.0% 17% 15% -1.4 pp -0.2 pp -1.6 pp halves agree 0.00% 0.01% 112,558
+2% / −1% 0.3% 0.5% 3.2% 96.2% 6.6% 14.2% 5% 4% -7.6 pp -0.7 pp -8.2 pp halves agree 0.00% 0.00% 112,558
+2% / −2% 0.3% 0.6% 0.3% 99.1% 37.5% 62.5% 1% 1% -25.1 pp -1.7 pp -26.8 pp halves agree 0.00% 0.00% 112,558
+2% / −3% 0.3% 0.6% 0.1% 99.3% 76.2% 84.8% 0% 1% -8.6 pp -0.6 pp -9.2 pp halves agree 0.00% 0.00% 112,558
+3% / −0.25% 0.1% 0.1% 35.7% 64.2% 0.2% 0.2% 36% 36% -0.0 pp -0.0 pp -0.0 pp HALVES DISAGREE 0.00% 0.00% 112,558
+3% / −0.5% 0.1% 0.1% 14.5% 85.4% 0.5% 0.6% 17% 15% -0.1 pp -0.0 pp -0.1 pp HALVES DISAGREE 0.00% 0.00% 112,558
+3% / −1% 0.1% 0.1% 3.2% 96.6% 2.1% 3.0% 5% 3% -0.9 pp -0.1 pp -1.0 pp halves agree 0.00% 0.00% 112,558
+3% / −2% 0.1% 0.1% 0.3% 99.5% 15.2% 23.8% 1% 0% -8.6 pp -0.6 pp -9.2 pp halves agree 0.00% 0.00% 112,558
+3% / −3% 0.1% 0.1% 0.1% 99.8% 50.4% 49.6% 0% 0% +0.8 pp +0.0 pp +0.8 pp HALVES DISAGREE 0.00% 0.00% 112,558

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

16 of 16 Benjamini–Hochberg survivors in the 4h horizon also agree across both halves of history.

Sampling check: re-running this horizon on 7,711 strictly non-overlapping entries (rather than 112,558 every-bar entries) moves the asymmetry by a median of 0.4 pp and at most 2.6 pp.

1d horizon

1,295 non-overlapping entries · 1,832 coverage-span equivalents · median 89 bars per window

At this horizon: 0.25% ≈ 0.23σ · 0.5% ≈ 0.46σ · 1% ≈ 0.92σ · 2% ≈ 1.83σ · 3% ≈ 2.73σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:34.791444 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 49.5% 47.1% 3.3% -0.2 pp -3.4 to +3.1 pp 3412
+0.25% / −0.5% 63.1% 29.3% 7.6% -1.6 pp -4.8 to +2.0 pp 2346
+0.25% / −1% 70.4% 13.6% 16.0% -3.1 pp -5.6 to -0.3 pp 1807
+0.25% / −2% 72.4% 3.3% 24.3% -2.1 pp -3.3 to -0.9 pp 1757
+0.25% / −3% 72.6% 0.9% 26.5% -0.5 pp -1.2 to +0.1 pp 1749
+0.5% / −0.25% 30.2% 61.1% 8.8% -1.6 pp -4.8 to +1.9 pp 2876
+0.5% / −0.5% 41.0% 40.5% 18.5% -3.0 pp -7.5 to +1.9 pp 1744
+0.5% / −1% 47.8% 19.3% 32.9% -5.8 pp -10.1 to -1.1 pp 1139
+0.5% / −2% 49.8% 4.7% 45.4% -4.4 pp -6.6 to -2.2 pp 940
+0.5% / −3% 50.0% 1.3% 48.7% -1.2 pp -2.5 to +0.0 pp 929
+1% / −0.25% 12.1% 68.0% 19.8% -3.2 pp -5.6 to -0.3 pp 2275
+1% / −0.5% 16.8% 47.3% 35.9% -5.8 pp -10.1 to -1.2 pp 1402
+1% / −1% 20.5% 23.2% 56.3% -10.4 pp -16.8 to -3.6 pp 796
+1% / −2% 21.8% 5.9% 72.3% -10.4 pp -15.7 to -4.7 pp 449
+1% / −3% 21.9% 1.7% 76.5% -3.8 pp -6.8 to -0.7 pp 423
+2% / −0.25% 2.0% 69.7% 28.3% -2.2 pp -3.3 to -0.9 pp 2276
+2% / −0.5% 2.8% 49.2% 48.0% -4.4 pp -6.6 to -2.2 pp 1439
+2% / −1% 3.8% 24.4% 71.8% -10.4 pp -15.7 to -4.7 pp 649
+2% / −2% 4.1% 6.5% 89.5% -26.9 pp -38.2 to -12.5 pp 209
+2% / −3% 4.2% 1.8% 94.0% -18.4 pp -29.6 to -5.6 pp 119
+3% / −0.25% 0.6% 69.8% 29.7% -0.5 pp -1.2 to +0.1 pp 2217
+3% / −0.5% 0.8% 49.3% 49.9% -1.2 pp -2.5 to +0.0 pp 1409
+3% / −1% 1.1% 24.5% 74.4% -3.8 pp -6.8 to -0.7 pp 614
+3% / −2% 1.1% 6.5% 92.3% -18.4 pp -29.6 to -5.6 pp 170
+3% / −3% 1.2% 1.9% 96.9% -24.8 pp -48.0 to -1.1 pp 64
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 49.5% 46.6% 50.1% 3.3% 51.2% 48.2% 97% 97% +3.1 pp -3.3 pp -0.2 pp HALVES DISAGREE 0.57% 0.57% 112,558
+0.25% / −0.5% 63.1% 60.9% 30.4% 8.8% 68.3% 66.7% 92% 91% +1.6 pp -3.2 pp -1.6 pp HALVES DISAGREE 0.17% 0.21% 112,558
+0.25% / −1% 70.4% 68.0% 12.2% 19.8% 83.8% 84.8% 84% 80% -1.0 pp -2.1 pp -3.1 pp halves agree 0.02% 0.05% 112,558
+0.25% / −2% 72.4% 69.7% 2.0% 28.3% 95.7% 97.2% 76% 72% -1.6 pp -0.6 pp -2.1 pp halves agree 0.01% 0.01% 112,558
+0.25% / −3% 72.6% 69.8% 0.6% 29.7% 98.8% 99.2% 73% 70% -0.4 pp -0.2 pp -0.5 pp halves agree 0.00% 0.00% 112,558
+0.5% / −0.25% 30.2% 29.1% 63.3% 7.6% 33.1% 31.5% 91% 92% +1.6 pp -3.2 pp -1.6 pp HALVES DISAGREE 0.21% 0.17% 112,558
+0.5% / −0.5% 41.0% 40.3% 41.1% 18.5% 50.3% 49.5% 81% 81% +0.8 pp -3.8 pp -3.0 pp halves agree 0.12% 0.12% 112,558
+0.5% / −1% 47.8% 47.2% 16.8% 35.9% 71.2% 73.7% 67% 64% -2.5 pp -3.3 pp -5.8 pp halves agree 0.02% 0.04% 112,558
+0.5% / −2% 49.8% 49.2% 2.8% 48.0% 91.3% 94.6% 55% 52% -3.3 pp -1.1 pp -4.4 pp halves agree 0.02% 0.01% 112,558
+0.5% / −3% 50.0% 49.3% 0.8% 49.9% 97.5% 98.4% 51% 50% -0.9 pp -0.3 pp -1.2 pp halves agree 0.00% 0.00% 112,558
+1% / −0.25% 12.1% 13.6% 70.5% 16.0% 15.1% 16.1% 80% 84% -1.0 pp -2.1 pp -3.2 pp halves agree 0.05% 0.02% 112,558
+1% / −0.5% 16.8% 19.3% 47.8% 32.9% 26.2% 28.7% 64% 67% -2.5 pp -3.3 pp -5.8 pp halves agree 0.04% 0.02% 112,558
+1% / −1% 20.5% 23.2% 20.5% 56.3% 46.9% 53.0% 44% 44% -6.2 pp -4.3 pp -10.4 pp halves agree 0.04% 0.04% 112,558
+1% / −2% 21.8% 24.4% 3.8% 71.8% 78.7% 86.6% 28% 28% -7.9 pp -2.5 pp -10.4 pp halves agree 0.00% 0.00% 112,558
+1% / −3% 21.9% 24.5% 1.1% 74.4% 93.0% 95.9% 24% 26% -2.9 pp -0.9 pp -3.8 pp halves agree 0.00% 0.00% 112,558
+2% / −0.25% 2.0% 3.3% 72.5% 24.3% 2.7% 4.3% 72% 76% -1.6 pp -0.6 pp -2.2 pp halves agree 0.01% 0.01% 112,558
+2% / −0.5% 2.8% 4.7% 49.9% 45.4% 5.4% 8.7% 52% 55% -3.3 pp -1.1 pp -4.4 pp halves agree 0.01% 0.02% 112,558
+2% / −1% 3.8% 5.9% 21.8% 72.3% 13.4% 21.3% 28% 28% -7.9 pp -2.5 pp -10.4 pp halves agree 0.00% 0.00% 112,558
+2% / −2% 4.1% 6.5% 4.1% 89.5% 38.6% 61.4% 11% 11% -22.8 pp -4.1 pp -26.9 pp halves agree 0.00% 0.00% 112,558
+2% / −3% 4.2% 6.5% 1.1% 92.3% 69.6% 85.0% 6% 8% -15.4 pp -2.9 pp -18.4 pp halves agree 0.00% 0.00% 112,558
+3% / −0.25% 0.6% 0.9% 72.6% 26.5% 0.8% 1.2% 70% 73% -0.4 pp -0.2 pp -0.5 pp halves agree 0.00% 0.00% 112,558
+3% / −0.5% 0.8% 1.3% 50.0% 48.7% 1.6% 2.5% 50% 51% -0.9 pp -0.3 pp -1.2 pp halves agree 0.00% 0.00% 112,558
+3% / −1% 1.1% 1.6% 21.9% 76.5% 4.1% 7.0% 26% 24% -2.9 pp -0.9 pp -3.8 pp halves agree 0.00% 0.00% 112,558
+3% / −2% 1.1% 1.8% 4.2% 94.0% 15.0% 30.4% 8% 6% -15.4 pp -2.9 pp -18.4 pp halves agree 0.00% 0.00% 112,558
+3% / −3% 1.2% 1.9% 1.2% 96.9% 39.5% 60.5% 3% 3% -20.9 pp -3.8 pp -24.8 pp halves agree 0.00% 0.00% 112,558

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

16 of 16 Benjamini–Hochberg survivors in the 1d horizon also agree across both halves of history.

Sampling check: re-running this horizon on 1,295 strictly non-overlapping entries (rather than 112,558 every-bar entries) moves the asymmetry by a median of 0.3 pp and at most 1.9 pp.

3d horizon

524 non-overlapping entries · 610 coverage-span equivalents · median 215 bars per window

At this horizon: 0.25% ≈ 0.15σ · 0.5% ≈ 0.30σ · 1% ≈ 0.59σ · 2% ≈ 1.18σ · 3% ≈ 1.76σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:34.888566 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 51.2% 48.5% 0.3% -0.0 pp -3.4 to +3.5 pp 3229
+0.25% / −0.5% 66.9% 31.9% 1.3% -1.2 pp -4.7 to +2.5 pp 2220
+0.25% / −1% 78.0% 18.2% 3.8% -2.8 pp -6.0 to +0.6 pp 1550
+0.25% / −2% 83.3% 7.2% 9.5% -3.3 pp -5.1 to -1.3 pp 1664
+0.25% / −3% 84.0% 2.8% 13.1% -1.7 pp -2.8 to -0.6 pp 1777
+0.5% / −0.25% 33.7% 64.6% 1.7% -1.3 pp -4.7 to +2.4 pp 2520
+0.5% / −0.5% 48.9% 46.6% 4.5% -2.2 pp -7.0 to +3.0 pp 1546
+0.5% / −1% 61.1% 28.0% 10.9% -5.0 pp -10.0 to +0.2 pp 1022
+0.5% / −2% 67.1% 11.6% 21.3% -6.1 pp -9.5 to -2.3 pp 927
+0.5% / −3% 68.0% 4.2% 27.7% -3.2 pp -5.2 to -1.1 pp 984
+1% / −0.25% 17.8% 75.1% 7.1% -2.8 pp -6.1 to +0.6 pp 1871
+1% / −0.5% 26.7% 58.6% 14.7% -5.0 pp -10.0 to +0.1 pp 1175
+1% / −1% 35.1% 37.4% 27.6% -9.2 pp -16.1 to -1.7 pp 700
+1% / −2% 39.9% 16.2% 43.9% -12.4 pp -18.8 to -5.4 pp 484
+1% / −3% 40.8% 6.0% 53.2% -7.4 pp -11.5 to -2.9 pp 468
+2% / −0.25% 5.2% 79.0% 15.7% -3.3 pp -5.2 to -1.3 pp 1629
+2% / −0.5% 8.2% 63.4% 28.3% -6.1 pp -9.5 to -2.3 pp 974
+2% / −1% 11.6% 41.7% 46.7% -12.4 pp -18.8 to -5.4 pp 597
+2% / −2% 13.7% 18.5% 67.8% -22.3 pp -32.8 to -10.9 pp 279
+2% / −3% 14.2% 7.1% 78.6% -20.0 pp -29.7 to -8.7 pp 189
+3% / −0.25% 1.8% 79.5% 18.7% -1.7 pp -2.8 to -0.6 pp 1736
+3% / −0.5% 2.7% 64.1% 33.2% -3.2 pp -5.2 to -1.1 pp 1104
+3% / −1% 3.8% 42.5% 53.7% -7.4 pp -11.5 to -2.9 pp 547
+3% / −2% 4.6% 19.0% 76.4% -20.0 pp -29.7 to -8.7 pp 231
+3% / −3% 4.9% 7.4% 87.7% -27.5 pp -43.5 to -9.3 pp 115
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 51.2% 47.9% 51.8% 0.3% 51.4% 48.0% 100% 100% +3.3 pp -3.4 pp -0.0 pp HALVES DISAGREE 0.57% 0.57% 112,558
+0.25% / −0.5% 66.9% 64.4% 33.9% 1.7% 67.7% 65.5% 99% 98% +2.3 pp -3.5 pp -1.2 pp HALVES DISAGREE 0.17% 0.21% 112,558
+0.25% / −1% 78.0% 75.0% 17.9% 7.1% 81.1% 80.8% 96% 93% +0.3 pp -3.1 pp -2.8 pp halves agree 0.02% 0.06% 112,558
+0.25% / −2% 83.3% 79.0% 5.3% 15.7% 92.0% 93.8% 91% 84% -1.7 pp -1.6 pp -3.3 pp halves agree 0.01% 0.03% 112,558
+0.25% / −3% 84.0% 79.5% 1.8% 18.7% 96.7% 97.8% 87% 81% -1.1 pp -0.6 pp -1.7 pp halves agree 0.00% 0.00% 112,558
+0.5% / −0.25% 33.7% 31.7% 67.1% 1.3% 34.3% 32.1% 98% 99% +2.2 pp -3.5 pp -1.3 pp HALVES DISAGREE 0.21% 0.17% 112,558
+0.5% / −0.5% 48.9% 46.4% 49.1% 4.5% 51.2% 48.6% 95% 95% +2.6 pp -4.8 pp -2.2 pp halves agree 0.12% 0.12% 112,558
+0.5% / −1% 61.1% 58.6% 26.7% 14.7% 68.6% 68.7% 89% 85% -0.1 pp -4.9 pp -5.0 pp halves agree 0.02% 0.04% 112,558
+0.5% / −2% 67.1% 63.4% 8.3% 28.3% 85.3% 88.5% 79% 72% -3.2 pp -2.9 pp -6.1 pp halves agree 0.02% 0.03% 112,558
+0.5% / −3% 68.0% 64.1% 2.7% 33.2% 94.1% 96.0% 72% 67% -1.9 pp -1.3 pp -3.2 pp halves agree 0.00% 0.00% 112,558
+1% / −0.25% 17.8% 18.2% 78.0% 3.8% 19.2% 18.9% 93% 96% +0.3 pp -3.1 pp -2.8 pp halves agree 0.06% 0.02% 112,558
+1% / −0.5% 26.7% 28.0% 61.1% 10.9% 31.2% 31.4% 85% 89% -0.2 pp -4.8 pp -5.0 pp halves agree 0.04% 0.02% 112,558
+1% / −1% 35.1% 37.3% 35.1% 27.6% 48.4% 51.5% 72% 72% -3.1 pp -6.1 pp -9.2 pp halves agree 0.04% 0.04% 112,558
+1% / −2% 39.9% 41.7% 11.6% 46.7% 71.1% 78.2% 56% 53% -7.1 pp -5.3 pp -12.4 pp halves agree 0.00% 0.00% 112,558
+1% / −3% 40.8% 42.5% 3.8% 53.7% 87.2% 91.7% 47% 46% -4.6 pp -2.8 pp -7.4 pp halves agree 0.00% 0.00% 112,558
+2% / −0.25% 5.2% 7.2% 83.3% 9.5% 6.2% 8.0% 84% 91% -1.8 pp -1.6 pp -3.3 pp halves agree 0.03% 0.01% 112,558
+2% / −0.5% 8.2% 11.6% 67.1% 21.3% 11.5% 14.7% 72% 79% -3.2 pp -2.9 pp -6.1 pp halves agree 0.03% 0.02% 112,558
+2% / −1% 11.6% 16.2% 39.9% 43.9% 21.8% 28.9% 53% 56% -7.1 pp -5.3 pp -12.4 pp halves agree 0.00% 0.00% 112,558
+2% / −2% 13.7% 18.5% 13.7% 67.8% 42.7% 57.3% 32% 32% -14.7 pp -7.6 pp -22.3 pp halves agree 0.00% 0.00% 112,558
+2% / −3% 14.2% 19.0% 4.6% 76.4% 66.7% 80.6% 21% 24% -13.9 pp -6.1 pp -20.0 pp halves agree 0.00% 0.00% 112,558
+3% / −0.25% 1.8% 2.8% 84.0% 13.1% 2.2% 3.3% 81% 87% -1.1 pp -0.6 pp -1.7 pp halves agree 0.00% 0.00% 112,558
+3% / −0.5% 2.7% 4.2% 68.1% 27.7% 4.0% 5.9% 67% 72% -1.9 pp -1.3 pp -3.2 pp halves agree 0.00% 0.00% 112,558
+3% / −1% 3.8% 6.0% 40.8% 53.2% 8.3% 12.8% 46% 47% -4.6 pp -2.8 pp -7.4 pp halves agree 0.00% 0.00% 112,558
+3% / −2% 4.6% 7.1% 14.2% 78.6% 19.4% 33.3% 24% 21% -13.9 pp -6.1 pp -20.0 pp halves agree 0.00% 0.00% 112,558
+3% / −3% 4.9% 7.4% 4.9% 87.7% 40.0% 60.0% 12% 12% -20.0 pp -7.5 pp -27.5 pp halves agree 0.00% 0.00% 112,558

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

17 of 17 Benjamini–Hochberg survivors in the 3d horizon also agree across both halves of history.

Sampling check: re-running this horizon on 524 strictly non-overlapping entries (rather than 112,558 every-bar entries) moves the asymmetry by a median of 1.2 pp and at most 7.1 pp.

5d horizon

263 non-overlapping entries · 366 coverage-span equivalents · median 267 bars per window

At this horizon: 0.25% ≈ 0.13σ · 0.5% ≈ 0.27σ · 1% ≈ 0.53σ · 2% ≈ 1.06σ · 3% ≈ 1.58σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:34.984992 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 51.4% 48.6% 0.0% -0.1 pp -3.5 to +3.5 pp 3202
+0.25% / −0.5% 67.5% 32.4% 0.1% -1.4 pp -4.9 to +2.3 pp 2180
+0.25% / −1% 79.7% 19.3% 1.0% -2.2 pp -5.8 to +1.3 pp 1449
+0.25% / −2% 86.5% 9.4% 4.2% -3.7 pp -6.0 to -1.3 pp 1472
+0.25% / −3% 87.8% 4.5% 7.6% -2.8 pp -4.2 to -1.3 pp 1529
+0.5% / −0.25% 34.5% 65.4% 0.1% -1.4 pp -5.0 to +2.3 pp 2458
+0.5% / −0.5% 50.7% 48.4% 0.9% -2.5 pp -7.3 to +2.5 pp 1530
+0.5% / −1% 65.4% 30.8% 3.8% -4.4 pp -9.9 to +0.9 pp 969
+0.5% / −2% 74.0% 15.2% 10.7% -6.4 pp -10.3 to -2.2 pp 871
+0.5% / −3% 75.9% 7.1% 17.0% -5.0 pp -7.4 to -2.3 pp 879
+1% / −0.25% 20.2% 77.4% 2.4% -2.3 pp -5.8 to +1.3 pp 1766
+1% / −0.5% 31.1% 62.5% 6.4% -4.4 pp -9.9 to +0.8 pp 1065
+1% / −1% 42.3% 42.7% 15.0% -7.5 pp -15.1 to +0.1 pp 644
+1% / −2% 49.8% 22.1% 28.1% -11.3 pp -18.2 to -4.1 pp 473
+1% / −3% 51.4% 10.1% 38.5% -9.0 pp -13.8 to -4.2 pp 462
+2% / −0.25% 7.3% 82.7% 10.0% -3.7 pp -6.1 to -1.3 pp 1657
+2% / −0.5% 11.5% 69.0% 19.5% -6.4 pp -10.4 to -2.2 pp 971
+2% / −1% 16.6% 48.7% 34.8% -11.3 pp -18.2 to -4.1 pp 564
+2% / −2% 20.3% 25.8% 53.8% -19.7 pp -29.7 to -8.2 pp 301
+2% / −3% 21.2% 11.9% 66.9% -19.7 pp -29.9 to -8.6 pp 228
+3% / −0.25% 2.6% 83.4% 13.9% -2.8 pp -4.2 to -1.3 pp 1844
+3% / −0.5% 4.3% 70.1% 25.6% -5.0 pp -7.4 to -2.3 pp 1144
+3% / −1% 6.5% 50.1% 43.3% -9.0 pp -13.8 to -4.2 pp 585
+3% / −2% 8.4% 26.8% 64.8% -19.7 pp -29.9 to -8.6 pp 248
+3% / −3% 8.9% 12.5% 78.6% -26.3 pp -40.0 to -10.7 pp 155
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 51.4% 48.1% 51.9% 0.0% 51.4% 48.1% 100% 100% +3.3 pp -3.4 pp -0.1 pp HALVES DISAGREE 0.57% 0.57% 112,558
+0.25% / −0.5% 67.5% 65.2% 34.7% 0.1% 67.5% 65.3% 100% 100% +2.3 pp -3.7 pp -1.4 pp HALVES DISAGREE 0.17% 0.21% 112,558
+0.25% / −1% 79.7% 77.3% 20.3% 2.4% 80.5% 79.2% 99% 98% +1.3 pp -3.5 pp -2.2 pp halves agree 0.02% 0.06% 112,558
+0.25% / −2% 86.5% 82.7% 7.3% 10.0% 90.2% 91.9% 96% 90% -1.6 pp -2.0 pp -3.7 pp halves agree 0.01% 0.04% 112,558
+0.25% / −3% 87.8% 83.4% 2.6% 13.9% 95.1% 96.9% 92% 86% -1.8 pp -1.0 pp -2.8 pp halves agree 0.00% 0.00% 112,558
+0.5% / −0.25% 34.5% 32.3% 67.6% 0.1% 34.5% 32.3% 100% 100% +2.2 pp -3.7 pp -1.4 pp HALVES DISAGREE 0.21% 0.17% 112,558
+0.5% / −0.5% 50.7% 48.3% 50.8% 0.9% 51.2% 48.7% 99% 99% +2.5 pp -5.0 pp -2.5 pp HALVES DISAGREE 0.12% 0.12% 112,558
+0.5% / −1% 65.4% 62.5% 31.1% 6.4% 68.0% 66.8% 96% 94% +1.2 pp -5.6 pp -4.4 pp halves agree 0.02% 0.04% 112,558
+0.5% / −2% 74.0% 68.9% 11.5% 19.5% 82.9% 85.7% 89% 80% -2.7 pp -3.7 pp -6.4 pp halves agree 0.02% 0.04% 112,558
+0.5% / −3% 75.9% 70.1% 4.3% 25.6% 91.4% 94.3% 83% 74% -2.9 pp -2.1 pp -5.0 pp halves agree 0.00% 0.00% 112,558
+1% / −0.25% 20.2% 19.3% 79.7% 1.0% 20.7% 19.5% 98% 99% +1.2 pp -3.5 pp -2.3 pp halves agree 0.06% 0.02% 112,558
+1% / −0.5% 31.1% 30.7% 65.4% 3.8% 33.2% 32.0% 94% 96% +1.2 pp -5.6 pp -4.4 pp halves agree 0.04% 0.02% 112,558
+1% / −1% 42.3% 42.7% 42.3% 15.0% 49.8% 50.2% 85% 85% -0.4 pp -7.1 pp -7.5 pp halves agree 0.04% 0.04% 112,558
+1% / −2% 49.8% 48.7% 16.6% 34.8% 69.3% 74.6% 72% 65% -5.3 pp -6.0 pp -11.3 pp halves agree 0.00% 0.00% 112,558
+1% / −3% 51.4% 50.1% 6.5% 43.3% 83.5% 88.4% 61% 57% -4.9 pp -4.1 pp -9.0 pp halves agree 0.00% 0.00% 112,558
+2% / −0.25% 7.3% 9.3% 86.5% 4.2% 8.1% 9.8% 90% 96% -1.7 pp -2.0 pp -3.7 pp halves agree 0.04% 0.01% 112,558
+2% / −0.5% 11.5% 15.2% 74.1% 10.7% 14.3% 17.0% 80% 89% -2.8 pp -3.6 pp -6.4 pp halves agree 0.04% 0.02% 112,558
+2% / −1% 16.6% 22.1% 49.8% 28.1% 25.4% 30.7% 65% 72% -5.3 pp -6.0 pp -11.3 pp halves agree 0.00% 0.00% 112,558
+2% / −2% 20.3% 25.8% 20.3% 53.8% 44.1% 55.9% 46% 46% -11.9 pp -7.8 pp -19.7 pp halves agree 0.00% 0.00% 112,558
+2% / −3% 21.2% 26.8% 8.4% 64.8% 64.0% 76.1% 33% 35% -12.2 pp -7.5 pp -19.7 pp halves agree 0.00% 0.00% 112,558
+3% / −0.25% 2.6% 4.5% 87.8% 7.6% 3.1% 4.9% 86% 92% -1.8 pp -1.0 pp -2.8 pp halves agree 0.00% 0.00% 112,558
+3% / −0.5% 4.3% 7.1% 75.9% 17.0% 5.7% 8.6% 74% 83% -2.9 pp -2.1 pp -5.0 pp halves agree 0.00% 0.00% 112,558
+3% / −1% 6.5% 10.1% 51.4% 38.5% 11.6% 16.4% 57% 61% -4.9 pp -4.1 pp -9.0 pp halves agree 0.00% 0.00% 112,558
+3% / −2% 8.4% 11.9% 21.2% 66.9% 23.9% 36.0% 35% 33% -12.2 pp -7.5 pp -19.7 pp halves agree 0.00% 0.00% 112,558
+3% / −3% 8.9% 12.5% 8.9% 78.6% 41.7% 58.3% 21% 21% -16.6 pp -9.7 pp -26.3 pp halves agree 0.00% 0.00% 112,558

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

16 of 16 Benjamini–Hochberg survivors in the 5d horizon also agree across both halves of history.

Sampling check: re-running this horizon on 263 strictly non-overlapping entries (rather than 112,558 every-bar entries) moves the asymmetry by a median of 3.1 pp and at most 9.5 pp.

Across the 4 horizons this window publishes, 65 of 66 cells that look significant uncorrected survive Benjamini–Hochberg at q=0.05, and 65 of those 65 Benjamini–Hochberg survivors also agree across both halves of history — survives Benjamini-Hochberg AND both halves of history agree in sign. Only confirmed cells are shown in bold and ringed on the charts; a cell that is significant but not confirmed keeps its colour, its number and its interval, marked “not confirmed” rather than hidden. The gaps between all three counts are themselves the point.

How much heat, and how far it runs

Not every window in the barrier grid above resolves: especially at shorter horizons and wider rungs, many windows touch neither barrier before the horizon runs out. This section measures what those windows did anyway, resolved or not — how far price ran in the trader's favour (MFE) and how much heat it took against them (MAE) — from intrabar high and low, never from closes: a stop is hit by the low, not the close. See methodology.

MFE is signed positive and MAE is signed negative. For MFE the higher quantile is the better outcome; for MAE it is the opposite — the lower (more negative) quantile is the worse drawdown, and the higher quantile is the mildest one. The tables below label each MAE column by what it means, not just by its quantile, so the two are never read the same way by mistake.

At the 4h horizon, a +1% / −1% bracket resolves — hits target or stop — in only 7.6% of long entries; the other 92.4% touch neither barrier inside the horizon. Across every 4h window regardless of whether it resolved, the median run in the trader's favour (MFE) was +0.17% and the best tenth of windows reached +0.62%, while the median heat taken against them (MAE) was -0.16% and the worst tenth of windows drew down -0.68% — that is what the rest of the grid's “neither” column was doing instead of resolving.

4h horizon — excursions

7,711 non-overlapping entries · 10,992 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 7,711 +0.17% +0.62% -0.16% -0.68%
Short 7,711 +0.16% +0.69% -0.17% -0.62%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 40,177 15.1% 3815
+0.25% / −0.5% 40,177 3.8% 3739
+0.25% / −1% 40,177 0.5% 5731
+0.25% / −2% 40,177 0.0% 16112
+0.25% / −3% 40,177 0.0% 30387
+0.5% / −0.25% 16,374 22.1% 1888
+0.5% / −0.5% 16,374 6.5% 1537
+0.5% / −1% 16,374 1.1% 1922
+0.5% / −2% 16,374 0.1% 3784
+0.5% / −3% 16,374 0.1% 6274
+1% / −0.25% 3,665 31.1% 547
+1% / −0.5% 3,665 10.3% 355
+1% / −1% 3,665 2.5% 341
+1% / −2% 3,665 0.5% 479
+1% / −3% 3,665 0.2% 1088
+2% / −0.25% 394 42.9% 63
+2% / −0.5% insufficient data — 394 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −1% 394 8.6% 41
+2% / −2% 394 3.3% 54
+2% / −3% 394 0.8% 242
+3% / −0.25% insufficient data — 127 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −0.5% insufficient data — 127 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −1% insufficient data — 127 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −2% insufficient data — 127 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −3% 127 2.4% 85

1d horizon — excursions

1,295 non-overlapping entries · 1,832 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 1,295 +0.50% +1.49% -0.49% -1.68%
Short 1,295 +0.49% +1.71% -0.50% -1.47%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 81,740 31.0% 3693
+0.25% / −0.5% 81,740 12.8% 2729
+0.25% / −1% 81,740 3.0% 3467
+0.25% / −2% 81,740 0.2% 5168
+0.25% / −3% 81,740 0.0% 11768
+0.5% / −0.25% 56,353 39.3% 1981
+0.5% / −0.5% 56,353 17.9% 1454
+0.5% / −1% 56,353 4.4% 1764
+0.5% / −2% 56,353 0.4% 2588
+0.5% / −3% 56,353 0.1% 6157
+1% / −0.25% 24,680 44.5% 871
+1% / −0.5% 24,680 23.3% 687
+1% / −1% 24,680 6.5% 849
+1% / −2% 24,680 0.8% 1144
+1% / −3% 24,680 0.2% 3234
+2% / −0.25% 4,708 52.8% 229
+2% / −0.5% 4,708 32.6% 188
+2% / −1% 4,708 9.7% 190
+2% / −2% 4,708 3.0% 144
+2% / −3% 4,708 0.6% 583
+3% / −0.25% 1,378 54.5% 53
+3% / −0.5% 1,378 35.3% 44
+3% / −1% insufficient data — 1378 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −2% 1,378 6.4% 44
+3% / −3% 1,378 0.9% 153

3d horizon — excursions

524 non-overlapping entries · 610 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 524 +0.81% +2.32% -0.80% -2.62%
Short 524 +0.81% +2.70% -0.81% -2.27%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 94,801 38.5% 4468
+0.25% / −0.5% 94,801 20.4% 3657
+0.25% / −1% 94,801 7.4% 2909
+0.25% / −2% 94,801 1.1% 3619
+0.25% / −3% 94,801 0.2% 4198
+0.5% / −0.25% 76,867 50.3% 2563
+0.5% / −0.5% 76,867 28.2% 1870
+0.5% / −1% 76,867 10.6% 1596
+0.5% / −2% 76,867 1.8% 1927
+0.5% / −3% 76,867 0.4% 2364
+1% / −0.25% 46,197 56.5% 1320
+1% / −0.5% 46,197 35.0% 920
+1% / −1% 46,197 14.4% 820
+1% / −2% 46,197 2.9% 937
+1% / −3% 46,197 0.7% 704
+2% / −0.25% 16,232 63.5% 465
+2% / −0.5% 16,232 42.7% 307
+2% / −1% 16,232 19.5% 258
+2% / −2% 16,232 4.7% 246
+2% / −3% 16,232 1.2% 270
+3% / −0.25% 5,715 65.4% 182
+3% / −0.5% 5,715 47.3% 126
+3% / −1% 5,715 24.5% 87
+3% / −2% 5,715 10.0% 88
+3% / −3% 5,715 2.9% 113

5d horizon — excursions

263 non-overlapping entries · 366 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 263 +1.04% +2.89% -1.01% -3.19%
Short 263 +1.02% +3.30% -1.03% -2.81%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 99,263 41.1% 4706
+0.25% / −0.5% 99,263 23.3% 3672
+0.25% / −1% 99,263 9.7% 2255
+0.25% / −2% 99,263 1.9% 2870
+0.25% / −3% 99,263 0.4% 4778
+0.5% / −0.25% 85,915 54.6% 2887
+0.5% / −0.5% 85,915 33.4% 2167
+0.5% / −1% 85,915 14.3% 1342
+0.5% / −2% 85,915 3.0% 1881
+0.5% / −3% 85,915 0.6% 2441
+1% / −0.25% 58,482 60.9% 1569
+1% / −0.5% 58,482 40.1% 989
+1% / −1% 58,482 18.5% 802
+1% / −2% 58,482 4.1% 876
+1% / −3% 58,482 1.1% 725
+2% / −0.25% 24,246 66.1% 713
+2% / −0.5% 24,246 46.5% 468
+2% / −1% 24,246 23.1% 366
+2% / −2% 24,246 5.6% 259
+2% / −3% 24,246 1.6% 211
+3% / −0.25% 10,265 71.0% 383
+3% / −0.5% 10,265 53.2% 270
+3% / −1% 10,265 28.2% 182
+3% / −2% 10,265 7.7% 139
+3% / −3% 10,265 2.2% 159

How far it moves, and what the spread costs

Horizonmedian movep90 movep99 move non-overlapping entriesn spread as share of median move
4h 0.17% 0.65% 1.59% 7,711 112,259
1d 0.51% 1.58% 1,295 112,291
3d 0.84% 2.52% 524 112,548
5d 1.08% 3.04% 263 112,557

No spread configured for this asset, so cost is not reported.

How move size scales with holding period

Sigma may be scaled by the square root of time; medians, stop distances and targets may not. Variance grows in proportion to time, so σ — its square root — grows with the square root of time. The typical move grows faster than that, so scaling a median from a short horizon to a longer one sets it too tight — on every asset and window this site publishes. The tails do not miss in one direction the way the median does, so a stop distance or a target is read off the measured table above, never scaled to it.

Horizonq√t factor from 4h median move, √t predictionmedian move, measured errormedian ÷ σkurtosis non-overlapping entriesn
4h 16 bars ×1.00 0.167% 0.167% +0.0% 0.379 27.5 7,711 112,259
1d 89 bars ×2.36 0.394% 0.511% +29.5% 0.499 11.1 1,295 112,291
3d 216 bars ×3.67 0.614% 0.844% +37.4% 0.522 7.4 524 112,548
5d 267 bars ×4.09 0.683% 1.077% +57.7% 0.547 6.6 263 112,557

A positive error means the real move is larger than √t predicts. The error is relative — (measured − predicted) ÷ predicted — not itself a move size in percent of price, even though it sits between two columns that are. The reason a positive error is the norm is in the last two columns: aggregation pulls the distribution toward normal, where median ÷ σ is 0.674 and kurtosis is 3.0. By the longest horizon this table actually publishes (5d), median ÷ σ is 0.547 and kurtosis is 6.6 — read those against the Gaussian reference above rather than assuming the shape has normalised by then.

The measurement behind it — variance ratio

VR(q) = Var(q-bar move) ÷ (q × Var(1-bar move)). Above 1 moves extend and a distant target is more reachable than its distance suggests; below 1 they retrace. The null is exactly 1. q is derived from this asset's own bar calendar, so “5d” is however many bars a five-calendar-day window actually contains — usually fewer than five trading days, because it swallows a weekend.

HorizonqVR95% interval as move size vs random walkrobust zp (robust) blockshomoskedastic z verdictsplit-half VR (first / second)
4h 16 bars ≈ 0.18 trading days 0.983 0.900 to 1.066 95% to 103% -0.40 0.686 7,155 -1.31 not significant 1.010 / 0.951 — HALVES DISAGREE
1d 89 bars ≈ 1.00 trading days 0.980 0.838 to 1.123 92% to 106% -0.27 0.787 1,286 -0.61 not significant 1.002 / 0.956 — HALVES DISAGREE
3d 216 bars ≈ 2.43 trading days 0.917 0.714 to 1.119 84% to 106% -0.81 0.421 530 -1.67 not significant 1.005 / 0.815 — HALVES DISAGREE
5d 267 bars ≈ 3.00 trading days 0.922 0.700 to 1.145 84% to 107% -0.68 0.494 428 -1.40 not significant 0.999 / 0.836 — halves agree

Only the robust z (and its p, the column so labelled) is tested; it allows the size of moves to change over time, which this asset's does. The homoskedastic z column assumes it does not, and is shown to make the gap visible: 0 of these horizons would look significant under it against 0 that survive Benjamini–Hochberg on the robust one. The two counts do not diverge on this window, so there is no such gap here for volatility clustering to have manufactured.

The verdict column applies one rule and states it in full: survives Benjamini-Hochberg on the robust standard error AND both halves of history agree in sign of (VR - 1). The split-half column is the second half of that rule shown as data — the same VR recomputed on each disjoint half of the window, at the same q. The comparison is on the sign of (VR − 1), not of VR: VR is always positive, so comparing raw signs would mark every pair as agreeing and the check could never fail. Halves that disagree do not overturn a significant result on their own; they stop it being called confirmed.

2026-08-03T11:19:35.071183 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Gap risk — A3

How far price moved while you could not trade. Split three ways and never pooled: a venue halt and a weekend are different phenomena and only one of them carries real overnight risk. No stop protects you across either.

Kindnmedianp90p99 >1× median bar>3×
session 0 insufficient data
weekend 251 0.879 14.112 44.844 51.0% 23.5%
daily break 1005 0.466 6.457 23.074 23.5% 5.2%

Gaps are in index points, signed. Median bar range for comparison: 4.727.

A1 — 15-minute range and true range (execution detail)

Kept for placing an entry, not as a headline: the horizon this site reports at is hours to days, and a multi-day stop sized to a 15-minute range is the error that shakes a trader out of positions that would have worked.

Range

Unitnmeanp10p25p50p75p90p95p99
index points 112558 6.5369 1.7590 2.7590 4.7270 8.1100 13.2210 17.7062 30.0013
% of price 112558 0.1295 0.0342 0.0536 0.0914 0.1606 0.2654 0.3572 0.6133

True range

Unitnmeanp10p25p50p75p90p95p99
index points 111301 6.5424 1.7610 2.7610 4.7310 8.1160 13.2300 17.7060 29.9910
% of price 111301 0.1297 0.0342 0.0537 0.0914 0.1607 0.2656 0.3574 0.6139

Trailing 12 months

22,721 bars · 2025-08-03T22:00:00+00:00 to 2026-08-02T23:45:00+00:00

Over this window the price drifted +20.9% a year. Each cell below shows how much of its long/short gap that drift accounts for; only the remainder is tested.

4h horizon

1,532 non-overlapping entries · 2,184 coverage-span equivalents · median 16 bars per window

At this horizon: 0.25% ≈ 0.66σ · 0.5% ≈ 1.31σ · 1% ≈ 2.61σ · 2% ≈ 5.20σ · 3% ≈ 7.76σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:35.152021 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 26.6% 29.4% 44.0% -8.6 pp not confirmed -13.3 to -3.6 pp 1502
+0.25% / −0.5% 30.2% 11.6% 58.2% -9.4 pp not confirmed -13.5 to -4.8 pp 985
+0.25% / −1% 31.0% 2.2% 66.9% -4.2 pp not confirmed -6.2 to -2.3 pp 650
+0.25% / −2% 31.0% 0.1% 68.9% -0.1 pp -0.5 to +0.4 pp 1464
+0.25% / −3% 31.0% 0.0% 69.0% +0.0 pp -0.2 to +0.2 pp 3164
+0.5% / −0.25% 8.6% 32.2% 59.2% -9.5 pp not confirmed -13.6 to -4.8 pp 1101
+0.5% / −0.5% 10.3% 13.2% 76.5% -15.5 pp not confirmed -22.7 to -8.4 pp 732
+0.5% / −1% 10.7% 2.4% 86.8% -11.0 pp not confirmed -16.6 to -6.3 pp 293
+0.5% / −2% 10.7% 0.1% 89.2% -0.4 pp -2.1 to +1.5 pp 336
+0.5% / −3% 10.7% 0.0% 89.3% +0.3 pp -0.5 to +1.4 pp 1147
+1% / −0.25% 1.0% 32.7% 66.3% -4.2 pp not confirmed -6.2 to -2.3 pp 1467
+1% / −0.5% 1.4% 13.4% 85.2% -11.0 pp not confirmed -16.6 to -6.3 pp 610
+1% / −1% 1.5% 2.5% 96.0% -30.6 pp not confirmed -45.1 to -16.8 pp 141
+1% / −2% 1.5% 0.1% 98.4% -5.4 pp -18.2 to +7.3 pp 43
+1% / −3% 1.5% 0.0% 98.5% +1.1 pp -3.8 to +7.4 pp 145
+2% / −0.25% 0.1% 32.7% 67.2% -0.1 pp -0.5 to +0.4 pp 817
+2% / −0.5% 0.1% 13.5% 86.4% -0.4 pp -2.1 to +1.5 pp 229
+2% / −1% 0.1% 2.5% 97.3% -5.4 pp -18.2 to +7.3 pp 40
+2% / −2% insufficient data — 61 long and 61 short resolutions. The floor is 100 on each side.
+2% / −3% insufficient data — 33 long and 49 short resolutions. The floor is 100 on each side.
+3% / −0.25% 0.0% 32.7% 67.2% +0.0 pp -0.2 to +0.2 pp 1083
+3% / −0.5% 0.1% 13.5% 86.5% +0.3 pp -0.5 to +1.4 pp 201
+3% / −1% 0.1% 2.5% 97.4% +1.1 pp -3.8 to +7.4 pp 35
+3% / −2% insufficient data — 49 long and 33 short resolutions. The floor is 100 on each side.
+3% / −3% insufficient data — 21 long and 21 short resolutions. The floor is 100 on each side.
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 26.6% 29.2% 26.8% 44.0% 47.6% 52.1% 56% 56% -4.5 pp -4.0 pp -8.6 pp not computed: this window is too short for two halves to detect instability 0.17% 0.17% 22,649
+0.25% / −0.5% 30.2% 32.2% 8.7% 59.2% 72.2% 78.8% 42% 41% -6.6 pp -2.8 pp -9.4 pp not computed: this window is too short for two halves to detect instability 0.01% 0.03% 22,649
+0.25% / −1% 31.0% 32.7% 1.0% 66.3% 93.5% 97.0% 33% 34% -3.5 pp -0.7 pp -4.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.25% / −2% 31.0% 32.7% 0.1% 67.2% 99.7% 99.8% 31% 33% -0.0 pp -0.0 pp -0.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.25% / −3% 31.0% 32.7% 0.0% 67.2% 99.9% 99.9% 31% 33% +0.0 pp -0.0 pp +0.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −0.25% 8.6% 11.6% 30.2% 58.2% 21.2% 27.8% 41% 42% -6.6 pp -2.8 pp -9.5 pp not computed: this window is too short for two halves to detect instability 0.03% 0.01% 22,649
+0.5% / −0.5% 10.3% 13.1% 10.3% 76.5% 44.0% 56.0% 23% 23% -12.0 pp -3.5 pp -15.5 pp not computed: this window is too short for two halves to detect instability 0.01% 0.01% 22,649
+0.5% / −1% 10.7% 13.4% 1.4% 85.2% 81.4% 90.9% 13% 15% -9.4 pp -1.6 pp -11.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −2% 10.7% 13.5% 0.1% 86.4% 98.8% 99.1% 11% 14% -0.3 pp -0.1 pp -0.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −3% 10.7% 13.5% 0.1% 86.5% 99.8% 99.5% 11% 14% +0.3 pp -0.0 pp +0.3 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −0.25% 1.0% 2.2% 31.0% 66.9% 3.0% 6.5% 34% 33% -3.5 pp -0.7 pp -4.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −0.5% 1.4% 2.4% 10.7% 86.8% 9.1% 18.6% 15% 13% -9.4 pp -1.6 pp -11.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −1% 1.5% 2.5% 1.5% 96.0% 36.5% 63.5% 4% 4% -27.1 pp -3.5 pp -30.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −2% 1.5% 2.5% 0.1% 97.3% 90.9% 95.3% 2% 3% -4.5 pp -1.0 pp -5.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −3% 1.5% 2.5% 0.1% 97.4% 98.5% 97.3% 1% 3% +1.2 pp -0.1 pp +1.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −0.25% 0.1% 0.1% 31.0% 68.9% 0.2% 0.3% 33% 31% -0.0 pp -0.0 pp -0.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −0.5% 0.1% 0.1% 10.7% 89.2% 0.9% 1.2% 14% 11% -0.3 pp -0.1 pp -0.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −1% 0.1% 0.1% 1.5% 98.4% 4.7% 9.1% 3% 2% -4.5 pp -1.0 pp -5.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −2% insufficient data
+2% / −3% insufficient data
+3% / −0.25% 0.0% 0.0% 31.0% 69.0% 0.1% 0.1% 33% 31% +0.0 pp -0.0 pp +0.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −0.5% 0.1% 0.0% 10.7% 89.3% 0.5% 0.2% 14% 11% +0.3 pp -0.0 pp +0.3 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −1% 0.1% 0.0% 1.5% 98.5% 2.7% 1.5% 3% 1% +1.2 pp -0.1 pp +1.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −2% insufficient data
+3% / −3% insufficient data

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

9 Benjamini–Hochberg survivors in the 4h horizon — not computed: this window is too short for two halves to detect instability, so none can be confirmed here.

Sampling check: re-running this horizon on 1,532 strictly non-overlapping entries (rather than 22,649 every-bar entries) moves the asymmetry by a median of 0.2 pp and at most 3.5 pp.

1d horizon

258 non-overlapping entries · 364 coverage-span equivalents · median 89 bars per window

At this horizon: 0.25% ≈ 0.28σ · 0.5% ≈ 0.56σ · 1% ≈ 1.11σ · 2% ≈ 2.20σ · 3% ≈ 3.29σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:35.314413 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 48.3% 47.4% 4.3% -5.9 pp -12.6 to +0.4 pp 813
+0.25% / −0.5% 62.2% 29.2% 8.6% -6.8 pp -13.5 to -0.3 pp 620
+0.25% / −1% 68.9% 12.0% 19.1% -7.6 pp not confirmed -12.6 to -2.5 pp 391
+0.25% / −2% 70.2% 2.0% 27.8% -2.4 pp not confirmed -4.3 to -0.8 pp 440
+0.25% / −3% 70.2% 0.1% 29.7% -0.1 pp -0.6 to +0.3 pp 1616
+0.5% / −0.25% 28.7% 61.2% 10.0% -6.8 pp -13.5 to -0.3 pp 642
+0.5% / −0.5% 38.4% 40.1% 21.5% -10.1 pp not confirmed -18.4 to -1.5 pp 479
+0.5% / −1% 44.1% 17.5% 38.5% -15.2 pp not confirmed -22.4 to -7.1 pp 246
+0.5% / −2% 44.9% 2.9% 52.2% -4.6 pp not confirmed -8.3 to -1.7 pp 241
+0.5% / −3% 44.9% 0.2% 54.9% -0.0 pp -1.2 to +1.0 pp 915
+1% / −0.25% 8.6% 67.3% 24.1% -7.6 pp not confirmed -12.6 to -2.5 pp 395
+1% / −0.5% 11.3% 45.3% 43.3% -15.2 pp not confirmed -22.4 to -7.1 pp 328
+1% / −1% 13.6% 19.5% 66.9% -27.8 pp not confirmed -42.7 to -12.8 pp 171
+1% / −2% 14.1% 3.4% 82.5% -16.0 pp not confirmed -27.3 to -6.7 pp 99
+1% / −3% 14.1% 0.4% 85.6% -1.3 pp -6.8 to +4.1 pp 96
+2% / −0.25% 0.8% 67.9% 31.3% -2.4 pp not confirmed -4.3 to -0.8 pp 873
+2% / −0.5% 1.3% 45.9% 52.8% -4.6 pp not confirmed -8.3 to -1.7 pp 345
+2% / −1% 1.8% 19.7% 78.5% -16.0 pp not confirmed -27.3 to -6.7 pp 131
+2% / −2% insufficient data — 1235 long and 1235 short resolutions. Both clear the floor of 100 on each side, but the week-block bootstrap's effective sample size is 28, below the floor of 30 — these entries overlap so heavily that they carry far less independent evidence than their count suggests.
+2% / −3% insufficient data — 521 long and 940 short resolutions. Both clear the floor of 100 on each side, but the week-block bootstrap's effective sample size is 10, below the floor of 30 — these entries overlap so heavily that they carry far less independent evidence than their count suggests.
+3% / −0.25% 0.2% 67.9% 32.0% -0.1 pp -0.6 to +0.3 pp 1603
+3% / −0.5% 0.3% 45.9% 53.8% -0.0 pp -1.2 to +1.0 pp 609
+3% / −1% 0.6% 19.7% 79.7% -1.3 pp -6.8 to +4.1 pp 111
+3% / −2% insufficient data — 940 long and 521 short resolutions. Both clear the floor of 100 on each side, but the week-block bootstrap's effective sample size is 10, below the floor of 30 — these entries overlap so heavily that they carry far less independent evidence than their count suggests.
+3% / −3% insufficient data — 226 long and 226 short resolutions. Both clear the floor of 100 on each side, but the week-block bootstrap's effective sample size is 4, below the floor of 30 — these entries overlap so heavily that they carry far less independent evidence than their count suggests.
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 48.3% 47.2% 48.6% 4.3% 50.5% 49.3% 96% 96% +1.2 pp -7.0 pp -5.9 pp not computed: this window is too short for two halves to detect instability 0.25% 0.25% 22,649
+0.25% / −0.5% 62.2% 61.2% 28.8% 10.0% 68.0% 68.0% 91% 90% +0.0 pp -6.8 pp -6.8 pp not computed: this window is too short for two halves to detect instability 0.04% 0.04% 22,649
+0.25% / −1% 68.9% 67.3% 8.6% 24.1% 85.2% 88.6% 81% 76% -3.5 pp -4.1 pp -7.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.25% / −2% 70.2% 67.9% 0.8% 31.3% 97.2% 98.8% 72% 69% -1.6 pp -0.8 pp -2.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.25% / −3% 70.2% 67.9% 0.2% 32.0% 99.8% 99.7% 70% 68% +0.1 pp -0.2 pp -0.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −0.25% 28.7% 29.2% 62.2% 8.6% 31.9% 31.9% 90% 91% +0.0 pp -6.8 pp -6.8 pp not computed: this window is too short for two halves to detect instability 0.04% 0.04% 22,649
+0.5% / −0.5% 38.4% 40.1% 38.4% 21.5% 48.9% 51.1% 79% 79% -2.2 pp -8.0 pp -10.1 pp not computed: this window is too short for two halves to detect instability 0.01% 0.01% 22,649
+0.5% / −1% 44.1% 45.3% 11.3% 43.3% 71.6% 80.0% 62% 57% -8.4 pp -6.8 pp -15.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −2% 44.9% 45.9% 1.3% 52.8% 93.9% 97.2% 48% 47% -3.3 pp -1.4 pp -4.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −3% 44.9% 45.9% 0.3% 53.8% 99.7% 99.3% 45% 46% +0.4 pp -0.4 pp -0.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −0.25% 8.6% 12.0% 68.9% 19.1% 11.4% 14.8% 76% 81% -3.5 pp -4.1 pp -7.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −0.5% 11.3% 17.5% 44.1% 38.5% 20.0% 28.4% 57% 62% -8.4 pp -6.8 pp -15.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −1% 13.6% 19.5% 13.6% 66.9% 41.2% 58.8% 33% 33% -17.6 pp -10.2 pp -27.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −2% 14.1% 19.7% 1.8% 78.5% 80.5% 91.5% 18% 22% -11.0 pp -5.0 pp -16.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −3% 14.1% 19.7% 0.6% 79.7% 97.6% 96.9% 14% 20% +0.7 pp -2.0 pp -1.3 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −0.25% 0.8% 2.0% 70.2% 27.8% 1.2% 2.8% 69% 72% -1.6 pp -0.8 pp -2.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −0.5% 1.3% 2.9% 44.9% 52.2% 2.8% 6.1% 47% 48% -3.3 pp -1.4 pp -4.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −1% 1.8% 3.4% 14.1% 82.5% 8.5% 19.5% 22% 18% -11.0 pp -5.0 pp -16.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −2% insufficient data
+2% / −3% insufficient data
+3% / −0.25% 0.2% 0.1% 70.2% 29.7% 0.3% 0.2% 68% 70% +0.1 pp -0.2 pp -0.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −0.5% 0.3% 0.2% 44.9% 54.9% 0.7% 0.3% 46% 45% +0.4 pp -0.4 pp -0.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −1% 0.6% 0.4% 14.1% 85.6% 3.1% 2.4% 20% 14% +0.7 pp -2.0 pp -1.3 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −2% insufficient data
+3% / −3% insufficient data

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

12 Benjamini–Hochberg survivors in the 1d horizon — not computed: this window is too short for two halves to detect instability, so none can be confirmed here.

Sampling check: re-running this horizon on 258 strictly non-overlapping entries (rather than 22,649 every-bar entries) moves the asymmetry by a median of 0.9 pp and at most 4.7 pp.

3d horizon

105 non-overlapping entries · 121 coverage-span equivalents · median 214 bars per window

At this horizon: 0.25% ≈ 0.18σ · 0.5% ≈ 0.36σ · 1% ≈ 0.71σ · 2% ≈ 1.42σ · 3% ≈ 2.12σ — the same percentage barrier is a far bigger move at 4h than at 5d, which is most of why resolution rates differ across horizons.

2026-08-03T11:19:35.421477 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Shares of all long entries, not of the ones that resolved: the three add to 100%. “Neither” is the entry still open when the horizon expired — its share is the column below, and across this site it runs from near zero to nearly every entry depending on the horizon and how wide the rungs are. What happened inside those windows is measured in the next section, from intrabar highs and lows.

target / stoplong target firstlong stop first long neitherexcess (long − short)95% CI long effective n
+0.25% / −0.25% 50.2% 49.3% 0.4% -5.9 pp -13.3 to +0.7 pp 759
+0.25% / −0.5% 66.1% 32.8% 1.1% -7.2 pp -14.7 to -0.0 pp 589
+0.25% / −1% 77.6% 18.6% 3.8% -9.8 pp not confirmed -16.2 to -3.4 pp 387
+0.25% / −2% 82.3% 6.0% 11.6% -5.7 pp not confirmed -9.2 to -1.4 pp 365
+0.25% / −3% 83.0% 2.4% 14.6% -2.8 pp not confirmed -4.8 to -0.9 pp 437
+0.5% / −0.25% 32.6% 65.3% 2.1% -7.2 pp -14.7 to -0.0 pp 510
+0.5% / −0.5% 47.1% 47.9% 5.0% -10.7 pp not confirmed -20.3 to -1.3 pp 394
+0.5% / −1% 58.8% 29.2% 12.0% -16.6 pp not confirmed -26.0 to -7.4 pp 266
+0.5% / −2% 64.1% 9.9% 26.0% -11.3 pp not confirmed -17.3 to -4.6 pp 180
+0.5% / −3% 64.8% 3.1% 32.1% -4.8 pp not confirmed -8.3 to -1.7 pp 265
+1% / −0.25% 14.8% 77.0% 8.2% -9.8 pp not confirmed -16.2 to -3.4 pp 362
+1% / −0.5% 22.3% 60.8% 16.9% -16.6 pp not confirmed -26.0 to -7.4 pp 301
+1% / −1% 29.8% 37.5% 32.7% -26.2 pp not confirmed -39.7 to -13.0 pp 183
+1% / −2% 32.9% 12.9% 54.2% -26.0 pp not confirmed -37.8 to -13.3 pp 104
+1% / −3% 33.1% 3.5% 63.4% -10.9 pp not confirmed -18.7 to -3.9 pp 143
+2% / −0.25% 3.3% 79.7% 17.0% -5.7 pp not confirmed -9.2 to -1.4 pp 205
+2% / −0.5% 4.7% 63.8% 31.4% -11.3 pp not confirmed -17.3 to -4.6 pp 190
+2% / −1% 6.2% 39.8% 54.0% -26.0 pp not confirmed -37.8 to -13.3 pp 126
+2% / −2% 6.8% 13.7% 79.5% -48.2 pp not confirmed -70.3 to -23.9 pp 53
+2% / −3% 6.8% 3.5% 89.7% -33.6 pp not confirmed -57.8 to -9.1 pp 38
+3% / −0.25% 0.8% 79.8% 19.4% -2.8 pp not confirmed -4.8 to -0.9 pp 377
+3% / −0.5% 1.2% 64.1% 34.7% -4.8 pp not confirmed -8.3 to -1.7 pp 250
+3% / −1% 1.9% 40.2% 57.9% -10.9 pp not confirmed -18.7 to -3.9 pp 108
+3% / −2% 2.3% 13.7% 84.0% -33.6 pp not confirmed -57.8 to -9.1 pp 32
+3% / −3% insufficient data — 1329 long and 1329 short resolutions. Both clear the floor of 100 on each side, but the week-block bootstrap's effective sample size is 16, below the floor of 30 — these entries overlap so heavily that they carry far less independent evidence than their count suggests.
Full detail — conditional rates, both directions, drift reconciliation
target / stop long target firstshort target first short stop firstshort neither long, of resolvedshort, of resolved long resolvedshort resolved raw gapchange after detrendingdetrended gap stabilitylong tiesshort tiesn
+0.25% / −0.25% 50.2% 49.0% 50.5% 0.4% 50.5% 49.3% 100% 100% +1.2 pp -7.1 pp -5.9 pp not computed: this window is too short for two halves to detect instability 0.27% 0.27% 22,649
+0.25% / −0.5% 66.1% 65.3% 32.7% 2.1% 66.8% 66.6% 99% 98% +0.2 pp -7.4 pp -7.2 pp not computed: this window is too short for two halves to detect instability 0.04% 0.04% 22,649
+0.25% / −1% 77.6% 77.0% 14.8% 8.2% 80.7% 83.9% 96% 92% -3.2 pp -6.5 pp -9.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.25% / −2% 82.3% 79.7% 3.3% 17.0% 93.2% 96.0% 88% 83% -2.8 pp -2.9 pp -5.7 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.25% / −3% 83.0% 79.8% 0.8% 19.4% 97.2% 99.0% 85% 81% -1.9 pp -1.0 pp -2.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −0.25% 32.6% 32.8% 66.1% 1.1% 33.3% 33.1% 98% 99% +0.2 pp -7.4 pp -7.2 pp not computed: this window is too short for two halves to detect instability 0.04% 0.04% 22,649
+0.5% / −0.5% 47.1% 47.9% 47.1% 5.0% 49.6% 50.4% 95% 95% -0.8 pp -9.9 pp -10.7 pp not computed: this window is too short for two halves to detect instability 0.01% 0.01% 22,649
+0.5% / −1% 58.8% 60.8% 22.3% 16.9% 66.8% 73.2% 88% 83% -6.4 pp -10.2 pp -16.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −2% 64.1% 63.8% 4.7% 31.4% 86.7% 93.1% 74% 69% -6.4 pp -4.9 pp -11.3 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+0.5% / −3% 64.8% 64.1% 1.2% 34.7% 95.5% 98.2% 68% 65% -2.7 pp -2.1 pp -4.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −0.25% 14.8% 18.6% 77.6% 3.8% 16.1% 19.3% 92% 96% -3.2 pp -6.5 pp -9.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −0.5% 22.3% 29.2% 58.8% 12.0% 26.8% 33.2% 83% 88% -6.4 pp -10.2 pp -16.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −1% 29.8% 37.5% 29.8% 32.7% 44.2% 55.8% 67% 67% -11.6 pp -14.7 pp -26.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −2% 32.9% 39.8% 6.2% 54.0% 71.8% 86.6% 46% 46% -14.8 pp -11.2 pp -26.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+1% / −3% 33.1% 40.2% 1.9% 57.9% 90.3% 95.4% 37% 42% -5.1 pp -5.9 pp -10.9 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −0.25% 3.3% 6.0% 82.3% 11.6% 4.0% 6.8% 83% 88% -2.8 pp -2.9 pp -5.7 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −0.5% 4.7% 9.9% 64.1% 26.0% 6.9% 13.3% 69% 74% -6.4 pp -4.9 pp -11.3 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −1% 6.2% 12.9% 32.9% 54.2% 13.4% 28.2% 46% 46% -14.8 pp -11.2 pp -26.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −2% 6.8% 13.7% 6.8% 79.5% 33.1% 66.9% 20% 20% -33.8 pp -14.3 pp -48.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+2% / −3% 6.8% 13.7% 2.3% 84.0% 65.6% 85.5% 10% 16% -19.9 pp -13.6 pp -33.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −0.25% 0.8% 2.4% 83.0% 14.6% 1.0% 2.8% 81% 85% -1.9 pp -1.0 pp -2.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −0.5% 1.2% 3.1% 64.8% 32.1% 1.8% 4.5% 65% 68% -2.7 pp -2.1 pp -4.8 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −1% 1.9% 3.5% 33.1% 63.4% 4.6% 9.7% 42% 37% -5.1 pp -5.9 pp -10.9 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −2% 2.3% 3.5% 6.8% 89.7% 14.5% 34.4% 16% 10% -19.9 pp -13.6 pp -33.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 22,649
+3% / −3% insufficient data

The three gap columns add: raw + change after detrending = detrended gap. Only the detrended gap is tested and only it carries the interval in the table above. “Of resolved” is the target-first rate among entries that reached either barrier — on cells where little resolves it can read near 100% while the unconditional rate is modest.

21 Benjamini–Hochberg survivors in the 3d horizon — not computed: this window is too short for two halves to detect instability, so none can be confirmed here.

Sampling check: re-running this horizon on 105 strictly non-overlapping entries (rather than 22,649 every-bar entries) moves the asymmetry by a median of 11.1 pp and at most 11.1 pp.

5d horizon

Insufficient data — 53 non-overlapping 5d entries in this coverage span, below the floor of 100. A hit rate estimated on fewer cannot distinguish the deviations this statistic exists to detect.

Across the 3 horizons this window publishes, 42 of 44 cells that look significant uncorrected survive Benjamini–Hochberg at q=0.05, and 0 of those 42 Benjamini–Hochberg survivors also agree across both halves of history — survives Benjamini-Hochberg AND both halves of history agree in sign. Only confirmed cells are shown in bold and ringed on the charts; a cell that is significant but not confirmed keeps its colour, its number and its interval, marked “not confirmed” rather than hidden. The gaps between all three counts are themselves the point.

How much heat, and how far it runs

Not every window in the barrier grid above resolves: especially at shorter horizons and wider rungs, many windows touch neither barrier before the horizon runs out. This section measures what those windows did anyway, resolved or not — how far price ran in the trader's favour (MFE) and how much heat it took against them (MAE) — from intrabar high and low, never from closes: a stop is hit by the low, not the close. See methodology.

MFE is signed positive and MAE is signed negative. For MFE the higher quantile is the better outcome; for MAE it is the opposite — the lower (more negative) quantile is the worse drawdown, and the higher quantile is the mildest one. The tables below label each MAE column by what it means, not just by its quantile, so the two are never read the same way by mistake.

At the 4h horizon, a +1% / −1% bracket resolves — hits target or stop — in only 4.0% of long entries; the other 96.0% touch neither barrier inside the horizon. Across every 4h window regardless of whether it resolved, the median run in the trader's favour (MFE) was +0.15% and the best tenth of windows reached +0.52%, while the median heat taken against them (MAE) was -0.15% and the worst tenth of windows drew down -0.59% — that is what the rest of the grid's “neither” column was doing instead of resolving.

4h horizon — excursions

1,532 non-overlapping entries · 2,184 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 1,532 +0.15% +0.52% -0.15% -0.59%
Short 1,532 +0.15% +0.59% -0.15% -0.52%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 7,019 13.5% 857
+0.25% / −0.5% 7,019 2.5% 1402
+0.25% / −1% 7,019 0.1% 4098
+0.25% / −2% 7,019 0.0% 53
+0.25% / −3% 7,019 0.0% 53
+0.5% / −0.25% 2,428 19.1% 316
+0.5% / −0.5% 2,428 3.7% 480
+0.5% / −1% 2,428 0.1% 1248
+0.5% / −2% 2,428 0.0% 53
+0.5% / −3% 2,428 0.0% 53
+1% / −0.25% 329 30.1% 135
+1% / −0.5% 329 7.0% 163
+1% / −1% 329 0.0% 53
+1% / −2% 329 0.0% 53
+1% / −3% 329 0.0% 53
+2% / −0.25% insufficient data — 28 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −0.5% insufficient data — 28 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −1% insufficient data — 28 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −2% insufficient data — 28 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −3% insufficient data — 28 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −0.25% insufficient data — 16 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −0.5% insufficient data — 16 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −1% insufficient data — 16 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −2% insufficient data — 16 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −3% insufficient data — 16 qualifying long entries, against a floor of 100, or an effective sample size below 30

1d horizon — excursions

258 non-overlapping entries · 364 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 258 +0.44% +1.15% -0.45% -1.41%
Short 258 +0.45% +1.43% -0.44% -1.14%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 15,896 30.8% 992
+0.25% / −0.5% 15,896 11.3% 724
+0.25% / −1% 15,896 1.9% 711
+0.25% / −2% 15,896 0.0% 53
+0.25% / −3% 15,896 0.0% 53
+0.5% / −0.25% 10,177 36.0% 344
+0.5% / −0.5% 10,177 14.5% 330
+0.5% / −1% 10,177 1.9% 509
+0.5% / −2% 10,177 0.0% 53
+0.5% / −3% 10,177 0.0% 53
+1% / −0.25% 3,191 38.9% 83
+1% / −0.5% 3,191 19.5% 95
+1% / −1% 3,191 3.3% 249
+1% / −2% 3,191 0.0% 53
+1% / −3% 3,191 0.0% 53
+2% / −0.25% 441 58.0% 40
+2% / −0.5% insufficient data — 441 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −1% 441 6.1% 48
+2% / −2% 441 0.0% 53
+2% / −3% 441 0.0% 53
+3% / −0.25% insufficient data — 146 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −0.5% insufficient data — 146 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −1% 146 2.1% 61
+3% / −2% 146 0.0% 53
+3% / −3% 146 0.0% 53

3d horizon — excursions

105 non-overlapping entries · 121 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 105 +0.72% -0.76%
Short 105 +0.77% -0.72%
Heat before the win, by target/stop — long side only

Long-side reading only — there is no short-side version of this table. Of long entries whose maximum favourable excursion reached at least the target rung, what share drew down past the stop rung before the target was reached — i.e. would the stop already have closed a trade that went on to work. A drawdown that happens after the target was reached does not count: the position was already closed by then. Keyed by the same target/stop rungs as the barrier grid above, so the two tables read side by side. See methodology.

target / stopqualifying long entries share drew down past stop firsteffective n
+0.25% / −0.25% 18,788 39.1% 969
+0.25% / −0.5% 18,788 20.3% 748
+0.25% / −1% 18,788 6.5% 505
+0.25% / −2% 18,788 0.7% 936
+0.25% / −3% 18,788 0.0% 53
+0.5% / −0.25% 14,678 49.6% 416
+0.5% / −0.5% 14,678 27.3% 300
+0.5% / −1% 14,678 9.3% 327
+0.5% / −2% 14,678 1.0% 548
+0.5% / −3% 14,678 0.0% 53
+1% / −0.25% 7,490 55.3% 157
+1% / −0.5% 7,490 32.6% 139
+1% / −1% 7,490 10.0% 166
+1% / −2% 7,490 0.6% 683
+1% / −3% 7,490 0.0% 53
+2% / −0.25% insufficient data — 1533 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −0.5% insufficient data — 1533 qualifying long entries, against a floor of 100, or an effective sample size below 30
+2% / −1% 1,533 8.7% 51
+2% / −2% 1,533 0.0% 53
+2% / −3% 1,533 0.0% 53
+3% / −0.25% insufficient data — 525 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −0.5% insufficient data — 525 qualifying long entries, against a floor of 100, or an effective sample size below 30
+3% / −1% 525 16.8% 32
+3% / −2% 525 0.0% 53
+3% / −3% 525 0.0% 53

5d horizon — excursions

Insufficient data — 53 non-overlapping 5d entries in this coverage span, below the floor of 100. An excursion quantile estimated on fewer cannot distinguish real heat from noise.

How far it moves, and what the spread costs

Horizonmedian movep90 movep99 move non-overlapping entriesn spread as share of median move
4h 0.15% 0.54% 1,532 22,589
1d 0.44% 1.26% 258 22,594
3d 0.74% 105 22,647
5d insufficient data (53 non-overlapping entries)

No spread configured for this asset, so cost is not reported.

How move size scales with holding period

Sigma may be scaled by the square root of time; medians, stop distances and targets may not. Variance grows in proportion to time, so σ — its square root — grows with the square root of time. The typical move grows faster than that, so scaling a median from a short horizon to a longer one sets it too tight — on every asset and window this site publishes. The tails do not miss in one direction the way the median does, so a stop distance or a target is read off the measured table above, never scaled to it.

Horizonq√t factor from 4h median move, √t predictionmedian move, measured errormedian ÷ σkurtosis non-overlapping entriesn
4h 16 bars ×1.00 0.152% 0.152% +0.0% 0.435 10.3 1,532 22,589
1d 89 bars ×2.36 0.359% 0.441% +22.9% 0.557 4.8 258 22,594
3d 214 bars ×3.66 0.556% 0.745% +33.9% 0.632 4.0 105 22,647
5d insufficient data — the horizon-move table did not publish this horizon

A positive error means the real move is larger than √t predicts. The error is relative — (measured − predicted) ÷ predicted — not itself a move size in percent of price, even though it sits between two columns that are. The reason a positive error is the norm is in the last two columns: aggregation pulls the distribution toward normal, where median ÷ σ is 0.674 and kurtosis is 3.0. By the longest horizon this table actually publishes (3d), median ÷ σ is 0.632 and kurtosis is 4.0 — read those against the Gaussian reference above rather than assuming the shape has normalised by then.

The measurement behind it — variance ratio

VR(q) = Var(q-bar move) ÷ (q × Var(1-bar move)). Above 1 moves extend and a distant target is more reachable than its distance suggests; below 1 they retrace. The null is exactly 1. q is derived from this asset's own bar calendar, so “5d” is however many bars a five-calendar-day window actually contains — usually fewer than five trading days, because it swallows a weekend.

HorizonqVR95% interval as move size vs random walkrobust zp (robust) blockshomoskedastic z verdictsplit-half VR (first / second)
4h 16 bars ≈ 0.18 trading days 0.922 0.809 to 1.035 90% to 102% -1.35 0.178 1,420 -2.67 not significant not computed: this window is too short for two halves to detect instability
1d 89 bars ≈ 1.00 trading days 0.838 0.635 to 1.042 80% to 102% -1.56 0.119 255 -2.26 not significant not computed: this window is too short for two halves to detect instability
3d 214 bars ≈ 2.40 trading days 0.718 0.429 to 1.008 65% to 100% -1.91 0.057 106 -2.52 not significant not computed: this window is too short for two halves to detect instability
5d insufficient data — 85 non-overlapping q-blocks at this horizon, below the floor of 100

Only the robust z (and its p, the column so labelled) is tested; it allows the size of moves to change over time, which this asset's does. The homoskedastic z column assumes it does not, and is shown to make the gap visible: 3 of these horizons would look significant under it against 0 that survive Benjamini–Hochberg on the robust one. That difference is volatility clustering read as mean reversion, not a finding.

The verdict column applies one rule and states it in full: survives Benjamini-Hochberg on the robust standard error AND both halves of history agree in sign of (VR - 1). The split-half column is the second half of that rule shown as data — the same VR recomputed on each disjoint half of the window, at the same q. The comparison is on the sign of (VR − 1), not of VR: VR is always positive, so comparing raw signs would mark every pair as agreeing and the check could never fail. Halves that disagree do not overturn a significant result on their own; they stop it being called confirmed.

2026-08-03T11:19:35.504788 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/

Gap risk — A3

How far price moved while you could not trade. Split three ways and never pooled: a venue halt and a weekend are different phenomena and only one of them carries real overnight risk. No stop protects you across either.

Kindnmedianp90p99 >1× median bar>3×
session 0 insufficient data
weekend 46 insufficient data
daily break 185 0.948 8.752 31.808 27.6% 5.4%

Gaps are in index points, signed. Median bar range for comparison: 5.873.

A1 — 15-minute range and true range (execution detail)

Kept for placing an entry, not as a headline: the horizon this site reports at is hours to days, and a multi-day stop sized to a 15-minute range is the error that shakes a trader out of positions that would have worked.

Range

Unitnmeanp10p25p50p75p90p95p99
index points 22649 7.8066 2.3934 3.6000 5.8730 9.8000 15.3062 20.0564 33.1244
% of price 22649 0.1127 0.0350 0.0525 0.0843 0.1411 0.2223 0.2899 0.4763

True range

Unitnmeanp10p25p50p75p90p95p99
index points 22417 7.7897 2.4000 3.5970 5.8570 9.7720 15.2886 20.0096 33.0971
% of price 22417 0.1125 0.0350 0.0524 0.0842 0.1408 0.2212 0.2892 0.4750