WTI Crude Oil

energy · dukascopy · prices in USD/bbl · 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

118,469 bars · 2021-07-27T19:30:00+00:00 to 2026-08-02T23:45:00+00:00

Over this window the price drifted +2.4% 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,748 non-overlapping entries · 10,993 coverage-span equivalents · median 16 bars per window

At this horizon: 0.25% ≈ 0.22σ · 0.5% ≈ 0.44σ · 1% ≈ 0.88σ · 2% ≈ 1.75σ · 3% ≈ 2.61σ — 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.594320 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% 45.2% 48.8% 6.1% -0.1 pp -1.3 to +1.0 pp 21690
+0.25% / −0.5% 58.4% 28.1% 13.4% -0.0 pp -1.3 to +1.1 pp 14787
+0.25% / −1% 65.6% 12.2% 22.2% -0.8 pp -1.8 to +0.2 pp 8949
+0.25% / −2% 67.7% 3.4% 28.9% -1.2 pp -1.8 to -0.8 pp 5791
+0.25% / −3% 68.0% 1.2% 30.8% -0.8 pp -1.1 to -0.5 pp 5608
+0.5% / −0.25% 27.0% 59.5% 13.5% -0.1 pp -1.3 to +1.0 pp 20692
+0.5% / −0.5% 36.9% 37.5% 25.7% -0.3 pp -2.1 to +1.4 pp 11831
+0.5% / −1% 43.2% 17.2% 39.6% -1.2 pp -3.0 to +0.8 pp 6549
+0.5% / −2% 45.3% 5.0% 49.7% -2.2 pp -3.4 to -1.2 pp 3380
+0.5% / −3% 45.5% 1.8% 52.7% -1.6 pp -2.2 to -1.0 pp 3060
+1% / −0.25% 11.3% 65.7% 23.0% -0.8 pp -1.7 to +0.3 pp 10756
+1% / −0.5% 16.2% 43.4% 40.4% -1.2 pp -3.0 to +0.8 pp 6556
+1% / −1% 19.6% 20.8% 59.5% -3.0 pp -5.9 to +0.1 pp 4624
+1% / −2% 21.0% 6.3% 72.7% -5.5 pp -8.2 to -3.0 pp 2045
+1% / −3% 21.1% 2.3% 76.5% -4.2 pp -5.8 to -2.7 pp 1439
+2% / −0.25% 2.5% 67.3% 30.2% -1.2 pp -1.8 to -0.7 pp 6047
+2% / −0.5% 3.8% 45.1% 51.2% -2.2 pp -3.4 to -1.2 pp 3095
+2% / −1% 4.7% 21.9% 73.4% -5.5 pp -8.2 to -3.0 pp 1826
+2% / −2% 5.2% 6.8% 88.0% -13.4 pp -19.5 to -8.0 pp 1159
+2% / −3% 5.3% 2.6% 92.2% -14.8 pp -20.0 to -10.2 pp 781
+3% / −0.25% 0.7% 67.4% 31.9% -0.8 pp -1.1 to -0.5 pp 6589
+3% / −0.5% 1.0% 45.2% 53.7% -1.6 pp -2.2 to -1.0 pp 2947
+3% / −1% 1.3% 22.1% 76.6% -4.2 pp -5.8 to -2.7 pp 1369
+3% / −2% 1.5% 6.9% 91.6% -14.8 pp -20.0 to -10.2 pp 621
+3% / −3% 1.5% 2.6% 95.8% -26.4 pp -35.2 to -19.1 pp 495
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% 45.2% 45.2% 48.7% 6.1% 48.1% 48.1% 94% 94% -0.0 pp -0.1 pp -0.1 pp HALVES DISAGREE 3.55% 3.55% 116,758
+0.25% / −0.5% 58.4% 58.3% 28.2% 13.5% 67.5% 67.4% 87% 87% +0.1 pp -0.1 pp -0.0 pp HALVES DISAGREE 1.18% 1.19% 116,758
+0.25% / −1% 65.6% 65.5% 11.5% 23.0% 84.3% 85.1% 78% 77% -0.8 pp -0.1 pp -0.8 pp halves agree 0.25% 0.22% 116,758
+0.25% / −2% 67.7% 67.3% 2.5% 30.2% 95.2% 96.4% 71% 70% -1.2 pp -0.0 pp -1.2 pp halves agree 0.05% 0.03% 116,758
+0.25% / −3% 68.0% 67.4% 0.7% 31.9% 98.2% 99.0% 69% 68% -0.8 pp -0.0 pp -0.8 pp halves agree 0.02% 0.01% 116,758
+0.5% / −0.25% 27.0% 27.0% 59.6% 13.4% 31.2% 31.2% 87% 87% +0.0 pp -0.1 pp -0.1 pp HALVES DISAGREE 1.19% 1.18% 116,758
+0.5% / −0.5% 36.9% 37.0% 37.4% 25.7% 49.6% 49.7% 74% 74% -0.1 pp -0.2 pp -0.3 pp HALVES DISAGREE 0.50% 0.50% 116,758
+0.5% / −1% 43.2% 43.3% 16.3% 40.4% 71.6% 72.6% 60% 60% -1.1 pp -0.1 pp -1.2 pp halves agree 0.11% 0.11% 116,758
+0.5% / −2% 45.3% 45.0% 3.8% 51.2% 90.0% 92.2% 50% 49% -2.2 pp -0.0 pp -2.2 pp halves agree 0.02% 0.03% 116,758
+0.5% / −3% 45.5% 45.2% 1.0% 53.7% 96.2% 97.7% 47% 46% -1.6 pp -0.0 pp -1.6 pp halves agree 0.01% 0.01% 116,758
+1% / −0.25% 11.3% 12.0% 65.8% 22.2% 14.7% 15.4% 77% 78% -0.7 pp -0.1 pp -0.8 pp halves agree 0.22% 0.25% 116,758
+1% / −0.5% 16.2% 17.1% 43.3% 39.6% 27.2% 28.2% 60% 60% -1.1 pp -0.1 pp -1.2 pp halves agree 0.11% 0.11% 116,758
+1% / −1% 19.6% 20.8% 19.7% 59.5% 48.5% 51.4% 40% 40% -2.8 pp -0.2 pp -3.0 pp halves agree 0.04% 0.04% 116,758
+1% / −2% 21.0% 21.9% 4.7% 73.4% 76.9% 82.3% 27% 27% -5.4 pp -0.1 pp -5.5 pp halves agree 0.01% 0.01% 116,758
+1% / −3% 21.1% 22.1% 1.3% 76.6% 90.1% 94.3% 23% 23% -4.2 pp -0.0 pp -4.2 pp halves agree 0.00% 0.01% 116,758
+2% / −0.25% 2.5% 3.4% 67.8% 28.9% 3.6% 4.8% 70% 71% -1.2 pp -0.0 pp -1.2 pp halves agree 0.03% 0.05% 116,758
+2% / −0.5% 3.8% 5.0% 45.3% 49.7% 7.7% 9.9% 49% 50% -2.2 pp -0.0 pp -2.2 pp halves agree 0.03% 0.02% 116,758
+2% / −1% 4.7% 6.3% 21.0% 72.7% 17.7% 23.1% 27% 27% -5.5 pp -0.1 pp -5.5 pp halves agree 0.01% 0.01% 116,758
+2% / −2% 5.2% 6.8% 5.2% 88.0% 43.3% 56.6% 12% 12% -13.3 pp -0.2 pp -13.4 pp halves agree 0.00% 0.00% 116,758
+2% / −3% 5.3% 6.9% 1.5% 91.6% 67.2% 81.9% 8% 8% -14.7 pp -0.1 pp -14.8 pp halves agree 0.00% 0.00% 116,758
+3% / −0.25% 0.7% 1.2% 68.0% 30.8% 1.0% 1.8% 68% 69% -0.8 pp -0.0 pp -0.8 pp halves agree 0.01% 0.02% 116,758
+3% / −0.5% 1.0% 1.8% 45.5% 52.7% 2.3% 3.8% 46% 47% -1.6 pp -0.0 pp -1.6 pp halves agree 0.01% 0.01% 116,758
+3% / −1% 1.3% 2.3% 21.1% 76.5% 5.7% 9.9% 23% 23% -4.2 pp -0.0 pp -4.2 pp halves agree 0.01% 0.00% 116,758
+3% / −2% 1.5% 2.6% 5.3% 92.2% 18.1% 32.8% 8% 8% -14.7 pp -0.1 pp -14.8 pp halves agree 0.00% 0.00% 116,758
+3% / −3% 1.5% 2.6% 1.5% 95.8% 36.8% 63.2% 4% 4% -26.3 pp -0.1 pp -26.4 pp halves agree 0.00% 0.00% 116,758

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,748 strictly non-overlapping entries (rather than 116,758 every-bar entries) moves the asymmetry by a median of 0.6 pp and at most 3.2 pp.

1d horizon

1,296 non-overlapping entries · 1,832 coverage-span equivalents · median 92 bars per window

At this horizon: 0.25% ≈ 0.09σ · 0.5% ≈ 0.18σ · 1% ≈ 0.37σ · 2% ≈ 0.73σ · 3% ≈ 1.09σ — 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.689708 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% 47.5% 51.2% 1.4% -0.3 pp -1.4 to +1.0 pp 20180
+0.25% / −0.5% 64.7% 33.4% 1.9% -0.0 pp -1.5 to +1.3 pp 15001
+0.25% / −1% 77.8% 19.6% 2.5% -0.3 pp -1.7 to +1.2 pp 8160
+0.25% / −2% 85.5% 9.6% 4.9% -0.4 pp -1.8 to +0.9 pp 5126
+0.25% / −3% 87.1% 5.3% 7.6% -0.9 pp -1.8 to +0.1 pp 3909
+0.5% / −0.25% 32.3% 65.8% 1.9% -0.0 pp -1.5 to +1.3 pp 14972
+0.5% / −0.5% 48.6% 48.7% 2.7% +0.2 pp -2.0 to +2.3 pp 8501
+0.5% / −1% 64.2% 31.7% 4.1% -0.2 pp -2.7 to +2.1 pp 5045
+0.5% / −2% 74.1% 16.0% 9.8% -0.7 pp -3.0 to +1.6 pp 3051
+0.5% / −3% 76.3% 8.9% 14.7% -1.6 pp -3.3 to +0.1 pp 2302
+1% / −0.25% 19.3% 78.1% 2.6% -0.2 pp -1.7 to +1.3 pp 9672
+1% / −0.5% 31.5% 64.2% 4.3% -0.2 pp -2.6 to +2.1 pp 5436
+1% / −1% 45.9% 45.5% 8.6% +0.2 pp -3.2 to +3.5 pp 3308
+1% / −2% 55.4% 23.7% 20.8% -1.2 pp -4.8 to +2.3 pp 1898
+1% / −3% 57.7% 13.3% 29.0% -2.9 pp -6.0 to -0.0 pp 1314
+2% / −0.25% 9.3% 85.0% 5.7% -0.4 pp -1.8 to +0.9 pp 5983
+2% / −0.5% 15.4% 73.7% 11.0% -0.7 pp -3.0 to +1.6 pp 3674
+2% / −1% 22.4% 54.7% 22.9% -1.2 pp -4.8 to +2.3 pp 2245
+2% / −2% 27.4% 29.2% 43.4% -3.4 pp -9.4 to +2.3 pp 1264
+2% / −3% 28.8% 16.3% 54.9% -6.2 pp -12.0 to -0.7 pp 847
+3% / −0.25% 4.5% 86.3% 9.2% -0.8 pp -1.8 to +0.1 pp 4842
+3% / −0.5% 7.5% 75.5% 17.0% -1.6 pp -3.3 to +0.1 pp 2686
+3% / −1% 10.8% 56.7% 32.5% -2.9 pp -6.0 to -0.0 pp 1657
+3% / −2% 13.4% 30.6% 56.0% -6.2 pp -12.1 to -0.7 pp 940
+3% / −3% 14.1% 17.3% 68.6% -10.7 pp -18.8 to -3.2 pp 643
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% 47.5% 47.6% 51.0% 1.4% 48.1% 48.3% 99% 99% -0.1 pp -0.1 pp -0.3 pp HALVES DISAGREE 3.56% 3.56% 116,758
+0.25% / −0.5% 64.7% 64.6% 33.5% 1.9% 65.9% 65.8% 98% 98% +0.1 pp -0.1 pp -0.0 pp halves agree 1.19% 1.19% 116,758
+0.25% / −1% 77.8% 77.9% 19.5% 2.6% 79.8% 80.0% 97% 97% -0.1 pp -0.1 pp -0.3 pp halves agree 0.27% 0.23% 116,758
+0.25% / −2% 85.5% 84.9% 9.3% 5.7% 89.9% 90.1% 95% 94% -0.3 pp -0.1 pp -0.4 pp halves agree 0.05% 0.03% 116,758
+0.25% / −3% 87.1% 86.3% 4.5% 9.2% 94.3% 95.0% 92% 91% -0.8 pp -0.1 pp -0.9 pp halves agree 0.02% 0.01% 116,758
+0.5% / −0.25% 32.3% 32.2% 65.9% 1.9% 33.0% 32.8% 98% 98% +0.1 pp -0.1 pp -0.0 pp halves agree 1.19% 1.19% 116,758
+0.5% / −0.5% 48.6% 48.2% 49.1% 2.7% 50.0% 49.5% 97% 97% +0.4 pp -0.2 pp +0.2 pp HALVES DISAGREE 0.51% 0.51% 116,758
+0.5% / −1% 64.2% 64.1% 31.6% 4.3% 66.9% 66.9% 96% 96% -0.0 pp -0.2 pp -0.2 pp HALVES DISAGREE 0.14% 0.12% 116,758
+0.5% / −2% 74.1% 73.6% 15.4% 11.0% 82.2% 82.7% 90% 89% -0.5 pp -0.2 pp -0.7 pp halves agree 0.03% 0.03% 116,758
+0.5% / −3% 76.3% 75.5% 7.5% 17.0% 89.5% 91.0% 85% 83% -1.4 pp -0.1 pp -1.6 pp halves agree 0.01% 0.01% 116,758
+1% / −0.25% 19.3% 19.4% 78.1% 2.5% 19.8% 19.9% 97% 97% -0.1 pp -0.1 pp -0.2 pp halves agree 0.23% 0.27% 116,758
+1% / −0.5% 31.5% 31.6% 64.3% 4.1% 32.9% 33.0% 96% 96% -0.0 pp -0.2 pp -0.2 pp HALVES DISAGREE 0.12% 0.14% 116,758
+1% / −1% 45.9% 45.5% 45.9% 8.6% 50.2% 49.8% 91% 91% +0.4 pp -0.3 pp +0.2 pp HALVES DISAGREE 0.05% 0.05% 116,758
+1% / −2% 55.4% 54.7% 22.4% 22.9% 70.0% 71.0% 79% 77% -1.0 pp -0.3 pp -1.2 pp halves agree 0.01% 0.02% 116,758
+1% / −3% 57.7% 56.7% 10.8% 32.5% 81.3% 84.0% 71% 68% -2.7 pp -0.2 pp -2.9 pp halves agree 0.01% 0.01% 116,758
+2% / −0.25% 9.3% 9.6% 85.5% 4.9% 9.8% 10.1% 94% 95% -0.2 pp -0.1 pp -0.4 pp halves agree 0.03% 0.05% 116,758
+2% / −0.5% 15.4% 16.0% 74.2% 9.8% 17.3% 17.8% 89% 90% -0.5 pp -0.2 pp -0.7 pp halves agree 0.03% 0.03% 116,758
+2% / −1% 22.4% 23.7% 55.4% 20.8% 29.0% 30.0% 77% 79% -1.0 pp -0.3 pp -1.2 pp halves agree 0.02% 0.01% 116,758
+2% / −2% 27.4% 29.2% 27.4% 43.4% 48.5% 51.5% 57% 57% -3.1 pp -0.4 pp -3.4 pp halves agree 0.00% 0.00% 116,758
+2% / −3% 28.8% 30.6% 13.4% 56.0% 63.8% 69.6% 45% 44% -5.8 pp -0.3 pp -6.2 pp halves agree 0.00% 0.00% 116,758
+3% / −0.25% 4.5% 5.3% 87.2% 7.6% 4.9% 5.7% 91% 92% -0.8 pp -0.1 pp -0.8 pp halves agree 0.01% 0.02% 116,758
+3% / −0.5% 7.5% 8.9% 76.4% 14.7% 9.0% 10.4% 83% 85% -1.4 pp -0.1 pp -1.6 pp halves agree 0.01% 0.01% 116,758
+3% / −1% 10.8% 13.3% 57.7% 29.0% 16.0% 18.7% 68% 71% -2.7 pp -0.2 pp -2.9 pp halves agree 0.01% 0.01% 116,758
+3% / −2% 13.4% 16.3% 28.8% 54.9% 30.4% 36.2% 44% 45% -5.8 pp -0.3 pp -6.2 pp halves agree 0.00% 0.00% 116,758
+3% / −3% 14.1% 17.3% 14.1% 68.6% 44.9% 55.1% 31% 31% -10.3 pp -0.4 pp -10.7 pp halves agree 0.00% 0.00% 116,758

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.

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

Sampling check: re-running this horizon on 1,296 strictly non-overlapping entries (rather than 116,758 every-bar entries) moves the asymmetry by a median of 0.4 pp and at most 1.0 pp.

3d horizon

525 non-overlapping entries · 610 coverage-span equivalents · median 224 bars per window

At this horizon: 0.25% ≈ 0.06σ · 0.5% ≈ 0.12σ · 1% ≈ 0.23σ · 2% ≈ 0.47σ · 3% ≈ 0.70σ — 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.785384 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.1% 51.8% 0.1% -0.2 pp -1.4 to +1.0 pp 20045
+0.25% / −0.5% 65.7% 34.2% 0.1% -0.0 pp -1.4 to +1.4 pp 15441
+0.25% / −1% 79.5% 20.4% 0.1% -0.1 pp -1.5 to +1.4 pp 8273
+0.25% / −2% 88.4% 11.0% 0.6% +0.1 pp -1.5 to +1.6 pp 4913
+0.25% / −3% 91.1% 7.3% 1.6% -0.4 pp -1.7 to +0.9 pp 3906
+0.5% / −0.25% 33.2% 66.8% 0.1% +0.0 pp -1.4 to +1.3 pp 14836
+0.5% / −0.5% 49.9% 50.0% 0.1% +0.2 pp -1.9 to +2.1 pp 8854
+0.5% / −1% 66.4% 33.3% 0.3% -0.0 pp -2.4 to +2.4 pp 4997
+0.5% / −2% 79.0% 19.3% 1.7% -0.1 pp -2.8 to +2.2 pp 2999
+0.5% / −3% 83.1% 13.0% 3.9% -1.0 pp -3.3 to +1.2 pp 2410
+1% / −0.25% 20.3% 79.6% 0.1% -0.0 pp -1.4 to +1.5 pp 9471
+1% / −0.5% 33.3% 66.4% 0.3% -0.0 pp -2.4 to +2.4 pp 5548
+1% / −1% 49.7% 49.2% 1.1% +0.3 pp -3.1 to +3.7 pp 3139
+1% / −2% 64.0% 30.6% 5.4% +0.2 pp -4.0 to +3.8 pp 1828
+1% / −3% 69.2% 20.6% 10.2% -1.4 pp -5.3 to +1.9 pp 1447
+2% / −0.25% 11.2% 87.9% 0.9% +0.2 pp -1.5 to +1.7 pp 6024
+2% / −0.5% 19.2% 78.5% 2.3% -0.1 pp -2.8 to +2.2 pp 3742
+2% / −1% 30.7% 62.9% 6.3% +0.2 pp -4.1 to +3.8 pp 2208
+2% / −2% 42.1% 41.5% 16.4% +0.3 pp -5.9 to +5.4 pp 1269
+2% / −3% 46.3% 28.1% 25.6% -1.8 pp -8.3 to +3.7 pp 930
+3% / −0.25% 6.9% 90.4% 2.6% -0.4 pp -1.7 to +0.9 pp 5061
+3% / −0.5% 11.9% 82.4% 5.6% -1.0 pp -3.3 to +1.2 pp 2897
+3% / −1% 19.0% 68.0% 13.1% -1.4 pp -5.3 to +1.9 pp 1773
+3% / −2% 26.2% 45.8% 28.1% -1.8 pp -8.3 to +3.7 pp 976
+3% / −3% 28.9% 31.3% 39.8% -4.4 pp -12.4 to +2.4 pp 689
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.1% 48.2% 51.8% 0.1% 48.2% 48.2% 100% 100% -0.0 pp -0.1 pp -0.2 pp HALVES DISAGREE 3.63% 3.63% 116,758
+0.25% / −0.5% 65.7% 65.6% 34.4% 0.1% 65.8% 65.6% 100% 100% +0.1 pp -0.1 pp -0.0 pp HALVES DISAGREE 1.21% 1.21% 116,758
+0.25% / −1% 79.5% 79.4% 20.5% 0.1% 79.5% 79.5% 100% 100% +0.1 pp -0.1 pp -0.1 pp HALVES DISAGREE 0.28% 0.23% 116,758
+0.25% / −2% 88.4% 87.8% 11.2% 0.9% 88.9% 88.7% 99% 99% +0.3 pp -0.1 pp +0.1 pp halves agree 0.05% 0.03% 116,758
+0.25% / −3% 91.1% 90.4% 6.9% 2.6% 92.6% 92.9% 98% 97% -0.3 pp -0.1 pp -0.4 pp halves agree 0.02% 0.01% 116,758
+0.5% / −0.25% 33.2% 33.0% 66.9% 0.1% 33.2% 33.0% 100% 100% +0.1 pp -0.1 pp +0.0 pp HALVES DISAGREE 1.21% 1.21% 116,758
+0.5% / −0.5% 49.9% 49.5% 50.4% 0.1% 49.9% 49.5% 100% 100% +0.4 pp -0.2 pp +0.2 pp HALVES DISAGREE 0.51% 0.51% 116,758
+0.5% / −1% 66.4% 66.3% 33.4% 0.3% 66.6% 66.5% 100% 100% +0.2 pp -0.2 pp -0.0 pp HALVES DISAGREE 0.14% 0.12% 116,758
+0.5% / −2% 79.0% 78.5% 19.3% 2.3% 80.4% 80.3% 98% 98% +0.1 pp -0.2 pp -0.1 pp HALVES DISAGREE 0.03% 0.03% 116,758
+0.5% / −3% 83.1% 82.4% 11.9% 5.6% 86.5% 87.3% 96% 94% -0.8 pp -0.2 pp -1.0 pp halves agree 0.01% 0.01% 116,758
+1% / −0.25% 20.3% 20.2% 79.7% 0.1% 20.3% 20.2% 100% 100% +0.1 pp -0.1 pp -0.0 pp HALVES DISAGREE 0.23% 0.28% 116,758
+1% / −0.5% 33.3% 33.1% 66.6% 0.3% 33.4% 33.2% 100% 100% +0.2 pp -0.2 pp -0.0 pp HALVES DISAGREE 0.12% 0.14% 116,758
+1% / −1% 49.7% 49.1% 49.8% 1.1% 50.3% 49.7% 99% 99% +0.6 pp -0.3 pp +0.3 pp HALVES DISAGREE 0.05% 0.05% 116,758
+1% / −2% 64.0% 62.9% 30.7% 6.3% 67.7% 67.2% 95% 94% +0.5 pp -0.3 pp +0.2 pp halves agree 0.01% 0.02% 116,758
+1% / −3% 69.2% 68.0% 19.0% 13.1% 77.1% 78.2% 90% 87% -1.1 pp -0.3 pp -1.4 pp halves agree 0.01% 0.01% 116,758
+2% / −0.25% 11.2% 10.9% 88.5% 0.6% 11.3% 11.0% 99% 99% +0.3 pp -0.1 pp +0.2 pp halves agree 0.03% 0.05% 116,758
+2% / −0.5% 19.2% 19.3% 79.0% 1.7% 19.7% 19.6% 98% 98% +0.1 pp -0.2 pp -0.1 pp HALVES DISAGREE 0.03% 0.03% 116,758
+2% / −1% 30.7% 30.6% 64.0% 5.4% 32.8% 32.3% 94% 95% +0.5 pp -0.3 pp +0.2 pp halves agree 0.02% 0.01% 116,758
+2% / −2% 42.1% 41.5% 42.1% 16.4% 50.4% 49.6% 84% 84% +0.7 pp -0.4 pp +0.3 pp HALVES DISAGREE 0.00% 0.00% 116,758
+2% / −3% 46.3% 45.8% 26.2% 28.1% 62.3% 63.6% 74% 72% -1.4 pp -0.5 pp -1.8 pp halves agree 0.00% 0.00% 116,758
+3% / −0.25% 6.9% 7.3% 91.1% 1.6% 7.1% 7.4% 97% 98% -0.2 pp -0.1 pp -0.4 pp halves agree 0.01% 0.02% 116,758
+3% / −0.5% 11.9% 13.0% 83.1% 3.9% 12.7% 13.5% 94% 96% -0.8 pp -0.2 pp -1.0 pp halves agree 0.01% 0.01% 116,758
+3% / −1% 19.0% 20.6% 69.3% 10.2% 21.8% 22.9% 87% 90% -1.1 pp -0.3 pp -1.4 pp halves agree 0.01% 0.01% 116,758
+3% / −2% 26.2% 28.1% 46.3% 25.6% 36.4% 37.7% 72% 74% -1.4 pp -0.5 pp -1.8 pp halves agree 0.00% 0.00% 116,758
+3% / −3% 28.9% 31.3% 28.9% 39.8% 48.1% 51.9% 60% 60% -3.9 pp -0.5 pp -4.4 pp halves agree 0.00% 0.00% 116,758

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.

Sampling check: re-running this horizon on 525 strictly non-overlapping entries (rather than 116,758 every-bar entries) moves the asymmetry by a median of 0.7 pp and at most 3.8 pp.

5d horizon

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

At this horizon: 0.25% ≈ 0.05σ · 0.5% ≈ 0.11σ · 1% ≈ 0.21σ · 2% ≈ 0.42σ · 3% ≈ 0.63σ — 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.878181 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.2% 51.8% 0.0% -0.2 pp -1.4 to +1.0 pp 20015
+0.25% / −0.5% 65.8% 34.2% 0.0% +0.0 pp -1.3 to +1.4 pp 15445
+0.25% / −1% 79.5% 20.5% 0.0% -0.0 pp -1.5 to +1.4 pp 8310
+0.25% / −2% 88.7% 11.2% 0.0% +0.4 pp -1.2 to +1.9 pp 4884
+0.25% / −3% 91.8% 7.9% 0.2% +0.1 pp -1.4 to +1.5 pp 3978
+0.5% / −0.25% 33.2% 66.8% 0.0% +0.0 pp -1.3 to +1.4 pp 14874
+0.5% / −0.5% 50.0% 50.0% 0.0% +0.2 pp -1.9 to +2.1 pp 8861
+0.5% / −1% 66.6% 33.4% 0.0% +0.1 pp -2.3 to +2.5 pp 4999
+0.5% / −2% 79.9% 20.0% 0.1% +0.3 pp -2.4 to +2.8 pp 2921
+0.5% / −3% 85.0% 14.4% 0.6% -0.2 pp -2.7 to +2.3 pp 2385
+1% / −0.25% 20.3% 79.7% 0.0% +0.0 pp -1.4 to +1.5 pp 9567
+1% / −0.5% 33.5% 66.5% 0.0% +0.1 pp -2.2 to +2.5 pp 5564
+1% / −1% 50.5% 49.5% 0.0% +0.7 pp -2.8 to +4.1 pp 3060
+1% / −2% 66.8% 32.5% 0.6% +1.3 pp -3.0 to +5.2 pp 1725
+1% / −3% 73.8% 23.6% 2.6% +0.1 pp -3.9 to +4.0 pp 1423
+2% / −0.25% 11.7% 88.2% 0.0% +0.4 pp -1.2 to +2.0 pp 5781
+2% / −0.5% 20.5% 79.4% 0.2% +0.3 pp -2.4 to +2.8 pp 3530
+2% / −1% 34.0% 65.0% 0.9% +1.3 pp -3.0 to +5.2 pp 2055
+2% / −2% 48.7% 46.3% 5.0% +2.0 pp -4.0 to +7.2 pp 1238
+2% / −3% 54.7% 33.8% 11.5% +0.3 pp -6.1 to +6.2 pp 936
+3% / −0.25% 8.1% 91.4% 0.5% +0.1 pp -1.3 to +1.6 pp 4603
+3% / −0.5% 14.2% 84.5% 1.2% -0.2 pp -2.7 to +2.3 pp 2659
+3% / −1% 23.6% 72.0% 4.4% +0.1 pp -3.9 to +4.0 pp 1582
+3% / −2% 33.8% 53.0% 13.2% +0.3 pp -6.1 to +6.2 pp 919
+3% / −3% 38.2% 38.9% 22.8% -1.5 pp -9.8 to +5.9 pp 682
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.2% 48.2% 51.8% 0.0% 48.2% 48.2% 100% 100% -0.0 pp -0.1 pp -0.2 pp HALVES DISAGREE 3.63% 3.63% 116,758
+0.25% / −0.5% 65.8% 65.6% 34.4% 0.0% 65.8% 65.6% 100% 100% +0.2 pp -0.1 pp +0.0 pp HALVES DISAGREE 1.21% 1.21% 116,758
+0.25% / −1% 79.5% 79.4% 20.6% 0.0% 79.5% 79.4% 100% 100% +0.1 pp -0.1 pp -0.0 pp HALVES DISAGREE 0.28% 0.23% 116,758
+0.25% / −2% 88.7% 88.2% 11.7% 0.0% 88.8% 88.2% 100% 100% +0.5 pp -0.1 pp +0.4 pp halves agree 0.05% 0.03% 116,758
+0.25% / −3% 91.8% 91.4% 8.1% 0.5% 92.0% 91.8% 100% 100% +0.2 pp -0.1 pp +0.1 pp HALVES DISAGREE 0.02% 0.01% 116,758
+0.5% / −0.25% 33.2% 33.0% 67.0% 0.0% 33.2% 33.0% 100% 100% +0.2 pp -0.1 pp +0.0 pp HALVES DISAGREE 1.21% 1.21% 116,758
+0.5% / −0.5% 50.0% 49.5% 50.5% 0.0% 50.0% 49.5% 100% 100% +0.4 pp -0.2 pp +0.2 pp HALVES DISAGREE 0.51% 0.51% 116,758
+0.5% / −1% 66.6% 66.4% 33.6% 0.0% 66.6% 66.4% 100% 100% +0.3 pp -0.2 pp +0.1 pp HALVES DISAGREE 0.14% 0.12% 116,758
+0.5% / −2% 79.9% 79.3% 20.5% 0.2% 80.0% 79.5% 100% 100% +0.5 pp -0.2 pp +0.3 pp HALVES DISAGREE 0.03% 0.03% 116,758
+0.5% / −3% 85.0% 84.5% 14.3% 1.2% 85.5% 85.6% 99% 99% -0.0 pp -0.2 pp -0.2 pp HALVES DISAGREE 0.01% 0.01% 116,758
+1% / −0.25% 20.3% 20.2% 79.8% 0.0% 20.3% 20.2% 100% 100% +0.2 pp -0.1 pp +0.0 pp HALVES DISAGREE 0.23% 0.28% 116,758
+1% / −0.5% 33.5% 33.2% 66.8% 0.0% 33.5% 33.2% 100% 100% +0.3 pp -0.2 pp +0.1 pp HALVES DISAGREE 0.12% 0.14% 116,758
+1% / −1% 50.5% 49.5% 50.5% 0.0% 50.5% 49.5% 100% 100% +1.0 pp -0.3 pp +0.7 pp HALVES DISAGREE 0.05% 0.05% 116,758
+1% / −2% 66.8% 65.0% 34.0% 0.9% 67.3% 65.6% 99% 99% +1.6 pp -0.3 pp +1.3 pp halves agree 0.01% 0.02% 116,758
+1% / −3% 73.8% 72.0% 23.6% 4.4% 75.8% 75.3% 97% 96% +0.5 pp -0.3 pp +0.1 pp halves agree 0.01% 0.01% 116,758
+2% / −0.25% 11.7% 11.2% 88.8% 0.0% 11.7% 11.2% 100% 100% +0.5 pp -0.1 pp +0.4 pp halves agree 0.03% 0.05% 116,758
+2% / −0.5% 20.5% 20.0% 80.0% 0.1% 20.5% 20.0% 100% 100% +0.5 pp -0.2 pp +0.3 pp HALVES DISAGREE 0.03% 0.03% 116,758
+2% / −1% 34.0% 32.5% 66.9% 0.6% 34.3% 32.7% 99% 99% +1.6 pp -0.3 pp +1.3 pp halves agree 0.02% 0.01% 116,758
+2% / −2% 48.7% 46.3% 48.7% 5.0% 51.2% 48.7% 95% 95% +2.5 pp -0.5 pp +2.0 pp halves agree 0.00% 0.00% 116,758
+2% / −3% 54.7% 53.0% 33.8% 13.2% 61.8% 61.0% 88% 87% +0.8 pp -0.5 pp +0.3 pp HALVES DISAGREE 0.00% 0.00% 116,758
+3% / −0.25% 8.1% 7.9% 91.9% 0.2% 8.2% 7.9% 100% 100% +0.2 pp -0.1 pp +0.1 pp HALVES DISAGREE 0.01% 0.02% 116,758
+3% / −0.5% 14.2% 14.4% 85.0% 0.6% 14.4% 14.5% 99% 99% -0.0 pp -0.2 pp -0.2 pp HALVES DISAGREE 0.01% 0.01% 116,758
+3% / −1% 23.6% 23.6% 73.8% 2.6% 24.7% 24.2% 96% 97% +0.5 pp -0.3 pp +0.1 pp halves agree 0.01% 0.01% 116,758
+3% / −2% 33.8% 33.8% 54.7% 11.5% 39.0% 38.2% 87% 88% +0.8 pp -0.5 pp +0.3 pp HALVES DISAGREE 0.00% 0.00% 116,758
+3% / −3% 38.2% 38.9% 38.2% 22.8% 49.6% 50.4% 77% 77% -0.9 pp -0.6 pp -1.5 pp halves agree 0.00% 0.00% 116,758

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.

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

Across the 4 horizons this window publishes, 17 of 20 cells that look significant uncorrected survive Benjamini–Hochberg at q=0.05, and 17 of those 17 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 40.5% of long entries; the other 59.5% 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.44% and the best tenth of windows reached +1.52%, while the median heat taken against them (MAE) was -0.44% and the worst tenth of windows drew down -1.63% — that is what the rest of the grid's “neither” column was doing instead of resolving.

4h horizon — excursions

7,748 non-overlapping entries · 10,993 coverage-span equivalents.

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 7,748 +0.44% +1.52% -0.44% -1.63%
Short 7,748 +0.44% +1.66% -0.44% -1.50%
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% 79,432 28.4% 17590
+0.25% / −0.5% 79,432 12.4% 9756
+0.25% / −1% 79,432 3.2% 7451
+0.25% / −2% 79,432 0.4% 12158
+0.25% / −3% 79,432 0.1% 17310
+0.5% / −0.25% 53,220 38.2% 7683
+0.5% / −0.5% 53,220 18.0% 4899
+0.5% / −1% 53,220 5.0% 3982
+0.5% / −2% 53,220 0.6% 6737
+0.5% / −3% 53,220 0.1% 9158
+1% / −0.25% 24,766 45.7% 3145
+1% / −0.5% 24,766 23.1% 2151
+1% / −1% 24,766 7.2% 1758
+1% / −2% 24,766 1.1% 2379
+1% / −3% 24,766 0.3% 2384
+2% / −0.25% 6,195 52.6% 1238
+2% / −0.5% 6,195 28.5% 883
+2% / −1% 6,195 11.1% 735
+2% / −2% 6,195 2.1% 754
+2% / −3% 6,195 0.7% 496
+3% / −0.25% 1,816 56.5% 520
+3% / −0.5% 1,816 32.5% 347
+3% / −1% 1,816 13.5% 243
+3% / −2% 1,816 2.5% 153
+3% / −3% 1,816 1.7% 170

1d horizon — excursions

1,296 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,296 +1.28% +3.52% -1.23% -3.84%
Short 1,296 +1.24% +3.99% -1.26% -3.40%
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% 102,592 41.9% 27041
+0.25% / −0.5% 102,592 25.0% 18463
+0.25% / −1% 102,592 11.1% 9432
+0.25% / −2% 102,592 2.7% 6637
+0.25% / −3% 102,592 0.8% 7576
+0.5% / −0.25% 90,321 56.6% 14141
+0.5% / −0.5% 90,321 36.5% 8917
+0.5% / −1% 90,321 16.9% 4772
+0.5% / −2% 90,321 4.1% 3663
+0.5% / −3% 90,321 1.3% 4618
+1% / −0.25% 68,873 66.9% 6499
+1% / −0.5% 68,873 46.3% 3945
+1% / −1% 68,873 22.1% 2211
+1% / −2% 68,873 6.0% 1947
+1% / −3% 68,873 2.1% 2262
+2% / −0.25% 34,626 68.6% 2403
+2% / −0.5% 34,626 48.1% 1520
+2% / −1% 34,626 24.6% 1054
+2% / −2% 34,626 7.5% 1023
+2% / −3% 34,626 3.0% 1059
+3% / −0.25% 17,030 69.2% 1463
+3% / −0.5% 17,030 48.6% 859
+3% / −1% 17,030 25.9% 592
+3% / −2% 17,030 8.3% 480
+3% / −3% 17,030 3.4% 452

3d horizon — excursions

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

Sidenon-overlapping entries MFE medianMFE p90 — best case MAE median — typical heatMAE p10 — worst-case heat
Long 525 +2.00% +5.60% -1.92% -5.98%
Short 525 +1.96% +6.36% -1.96% -5.31%
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% 108,755 44.4% 28753
+0.25% / −0.5% 108,755 28.2% 21266
+0.25% / −1% 108,755 14.4% 10300
+0.25% / −2% 108,755 5.0% 7043
+0.25% / −3% 108,755 2.1% 7296
+0.5% / −0.25% 100,561 60.1% 16770
+0.5% / −0.5% 100,561 41.5% 11177
+0.5% / −1% 100,561 22.7% 5704
+0.5% / −2% 100,561 8.3% 4228
+0.5% / −3% 100,561 3.5% 4279
+1% / −0.25% 85,373 71.9% 9032
+1% / −0.5% 85,373 54.3% 5786
+1% / −1% 85,373 31.9% 3323
+1% / −2% 85,373 12.5% 2351
+1% / −3% 85,373 5.3% 2011
+2% / −0.25% 58,393 77.6% 4284
+2% / −0.5% 58,393 61.5% 2764
+2% / −1% 58,393 38.6% 1749
+2% / −2% 58,393 15.7% 1258
+2% / −3% 58,393 7.4% 1061
+3% / −0.25% 37,071 78.1% 2542
+3% / −0.5% 37,071 62.4% 1581
+3% / −1% 37,071 40.3% 1092
+3% / −2% 37,071 17.6% 769
+3% / −3% 37,071 8.8% 630

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 +2.59% +6.87% -2.51% -7.49%
Short 263 +2.58% +8.10% -2.52% -6.43%
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% 110,521 45.3% 28294
+0.25% / −0.5% 110,521 29.2% 20748
+0.25% / −1% 110,521 15.7% 11041
+0.25% / −2% 110,521 6.2% 8006
+0.25% / −3% 110,521 3.0% 7606
+0.5% / −0.25% 104,440 61.5% 16635
+0.5% / −0.5% 104,440 43.6% 11660
+0.5% / −1% 104,440 25.3% 6524
+0.5% / −2% 104,440 10.6% 4622
+0.5% / −3% 104,440 4.9% 4084
+1% / −0.25% 93,393 74.3% 10438
+1% / −0.5% 93,393 58.0% 6846
+1% / −1% 93,393 36.9% 3939
+1% / −2% 93,393 16.4% 2385
+1% / −3% 93,393 7.7% 1838
+2% / −0.25% 71,278 80.8% 5187
+2% / −0.5% 71,278 66.4% 3351
+2% / −1% 71,278 44.2% 1958
+2% / −2% 71,278 20.3% 1268
+2% / −3% 71,278 10.4% 1007
+3% / −0.25% 50,435 81.2% 2949
+3% / −0.5% 50,435 67.0% 1824
+3% / −1% 50,435 45.4% 1222
+3% / −2% 50,435 21.7% 836
+3% / −3% 50,435 11.5% 743

How far it moves, and what the spread costs

Horizonmedian movep90 movep99 move non-overlapping entriesn spread as share of median move
4h 0.44% 1.57% 3.63% 7,748 116,500
1d 1.26% 3.58% 1,296 116,505
3d 1.98% 5.77% 525 116,748
5d 2.54% 7.20% 263 116,757

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.436% 0.436% +0.0% 0.419 16.5 7,748 116,500
1d 92 bars ×2.40 1.045% 1.256% +20.2% 0.522 10.0 1,296 116,505
3d 224 bars ×3.74 1.631% 1.980% +21.4% 0.524 9.6 525 116,748
5d 276 bars ×4.15 1.810% 2.537% +40.1% 0.539 9.3 263 116,757

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.539 and kurtosis is 9.3 — 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.17 trading days 0.960 0.900 to 1.021 95% to 101% -1.28 0.200 7,404 -3.10 not significant 0.993 / 0.933 — halves agree
1d 92 bars ≈ 1.00 trading days 0.944 0.809 to 1.080 90% to 104% -0.81 0.420 1,287 -1.74 not significant 0.957 / 0.937 — halves agree
3d 224 bars ≈ 2.43 trading days 0.890 0.688 to 1.093 83% to 105% -1.06 0.289 528 -2.19 not significant 0.950 / 0.847 — halves agree
5d 276 bars ≈ 3.00 trading days 0.865 0.643 to 1.086 80% to 104% -1.20 0.231 429 -2.43 not significant 0.935 / 0.814 — 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: 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.961371 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 255 0.038 0.718 7.395 44.3% 19.2%
daily break 1009 0.015 0.121 0.652 11.0% 3.5%

Gaps are in USD/bbl, signed. Median bar range for comparison: 0.190.

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
USD/bbl 116758 0.2667 0.0700 0.1100 0.1900 0.3300 0.5400 0.7200 1.2600
% of price 116758 0.3290 0.0949 0.1496 0.2519 0.4144 0.6392 0.8266 1.3792

True range

Unitnmeanp10p25p50p75p90p95p99
USD/bbl 115494 0.2665 0.0700 0.1100 0.1900 0.3300 0.5380 0.7200 1.2500
% of price 115494 0.3288 0.0955 0.1503 0.2528 0.4149 0.6382 0.8249 1.3669

Trailing 12 months

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

Over this window the price drifted +20.8% 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,537 non-overlapping entries · 2,184 coverage-span equivalents · median 16 bars per window

At this horizon: 0.25% ≈ 0.16σ · 0.5% ≈ 0.32σ · 1% ≈ 0.63σ · 2% ≈ 1.26σ · 3% ≈ 1.88σ — 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:36.042827 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% 44.3% 51.1% 4.6% -2.1 pp -4.2 to +0.3 pp 4416
+0.25% / −0.5% 58.5% 30.7% 10.8% -1.8 pp -4.3 to +0.6 pp 3642
+0.25% / −1% 67.4% 14.4% 18.2% -1.5 pp -3.4 to +0.7 pp 1955
+0.25% / −2% 70.4% 4.4% 25.2% -0.9 pp -1.9 to +0.4 pp 1197
+0.25% / −3% 70.9% 1.8% 27.3% -0.7 pp -1.4 to -0.1 pp 1172
+0.5% / −0.25% 27.8% 62.0% 10.2% -1.8 pp -4.3 to +0.4 pp 5378
+0.5% / −0.5% 39.3% 40.6% 20.2% -1.7 pp -5.8 to +1.9 pp 2998
+0.5% / −1% 47.3% 20.0% 32.7% -1.1 pp -4.6 to +2.5 pp 1778
+0.5% / −2% 50.4% 6.5% 43.2% -1.0 pp -3.2 to +1.5 pp 799
+0.5% / −3% 50.8% 2.7% 46.5% -1.2 pp -2.5 to +0.1 pp 719
+1% / −0.25% 13.2% 68.9% 17.9% -1.5 pp -3.3 to +0.8 pp 2247
+1% / −0.5% 19.7% 47.6% 32.7% -1.1 pp -4.6 to +2.5 pp 1411
+1% / −1% 24.4% 25.0% 50.6% -1.9 pp -7.7 to +3.6 pp 1317
+1% / −2% 26.6% 8.6% 64.8% -2.6 pp -7.5 to +2.4 pp 701
+1% / −3% 27.0% 3.6% 69.4% -3.1 pp -6.3 to +0.3 pp 475
+2% / −0.25% 3.8% 71.2% 25.0% -0.8 pp -1.8 to +0.5 pp 1025
+2% / −0.5% 6.0% 50.2% 43.8% -0.9 pp -3.2 to +1.6 pp 535
+2% / −1% 7.7% 26.9% 65.4% -2.6 pp -7.5 to +2.3 pp 394
+2% / −2% 8.7% 9.4% 81.9% -4.6 pp -14.1 to +4.2 pp 454
+2% / −3% 8.8% 4.2% 87.0% -7.6 pp -16.3 to +0.6 pp 416
+3% / −0.25% 1.3% 71.5% 27.2% -0.6 pp -1.3 to -0.0 pp 1149
+3% / −0.5% 2.1% 50.6% 47.3% -1.1 pp -2.5 to +0.2 pp 506
+3% / −1% 2.7% 27.3% 70.0% -3.1 pp -6.3 to +0.3 pp 267
+3% / −2% 3.2% 9.7% 87.1% -7.6 pp -16.3 to +0.6 pp 180
+3% / −3% 3.2% 4.3% 92.4% -15.0 pp -29.5 to -3.4 pp 223
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% 44.3% 45.4% 50.0% 4.6% 46.5% 47.6% 95% 95% -1.1 pp -1.0 pp -2.1 pp not computed: this window is too short for two halves to detect instability 5.70% 5.70% 23,082
+0.25% / −0.5% 58.5% 59.7% 30.1% 10.2% 65.6% 66.5% 89% 90% -0.8 pp -0.9 pp -1.8 pp not computed: this window is too short for two halves to detect instability 2.24% 2.31% 23,082
+0.25% / −1% 67.4% 68.4% 13.7% 17.9% 82.4% 83.3% 82% 82% -1.0 pp -0.6 pp -1.5 pp not computed: this window is too short for two halves to detect instability 0.58% 0.52% 23,082
+0.25% / −2% 70.4% 71.1% 3.9% 25.0% 94.1% 94.8% 75% 75% -0.7 pp -0.2 pp -0.9 pp not computed: this window is too short for two halves to detect instability 0.16% 0.07% 23,082
+0.25% / −3% 70.9% 71.5% 1.3% 27.2% 97.5% 98.2% 73% 73% -0.7 pp -0.0 pp -0.7 pp not computed: this window is too short for two halves to detect instability 0.08% 0.01% 23,082
+0.5% / −0.25% 27.8% 28.4% 60.8% 10.8% 31.0% 31.9% 90% 89% -0.9 pp -0.9 pp -1.8 pp not computed: this window is too short for two halves to detect instability 2.31% 2.24% 23,082
+0.5% / −0.5% 39.3% 39.6% 40.2% 20.2% 49.2% 49.6% 80% 80% -0.4 pp -1.3 pp -1.7 pp not computed: this window is too short for two halves to detect instability 0.96% 0.96% 23,082
+0.5% / −1% 47.3% 47.4% 19.9% 32.7% 70.3% 70.4% 67% 67% -0.1 pp -1.0 pp -1.1 pp not computed: this window is too short for two halves to detect instability 0.27% 0.24% 23,082
+0.5% / −2% 50.4% 50.2% 6.1% 43.8% 88.6% 89.2% 57% 56% -0.6 pp -0.4 pp -1.0 pp not computed: this window is too short for two halves to detect instability 0.08% 0.04% 23,082
+0.5% / −3% 50.8% 50.6% 2.1% 47.3% 95.0% 96.1% 54% 53% -1.1 pp -0.1 pp -1.2 pp not computed: this window is too short for two halves to detect instability 0.03% 0.00% 23,082
+1% / −0.25% 13.2% 13.9% 67.9% 18.2% 16.0% 16.9% 82% 82% -0.9 pp -0.6 pp -1.5 pp not computed: this window is too short for two halves to detect instability 0.52% 0.58% 23,082
+1% / −0.5% 19.7% 19.7% 47.6% 32.7% 29.3% 29.3% 67% 67% -0.1 pp -1.0 pp -1.1 pp not computed: this window is too short for two halves to detect instability 0.24% 0.27% 23,082
+1% / −1% 24.4% 24.9% 24.5% 50.6% 49.5% 50.4% 49% 49% -0.9 pp -1.0 pp -1.9 pp not computed: this window is too short for two halves to detect instability 0.08% 0.08% 23,082
+1% / −2% 26.6% 26.9% 7.7% 65.4% 75.7% 77.7% 35% 35% -2.1 pp -0.6 pp -2.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.03% 23,082
+1% / −3% 27.0% 27.3% 2.7% 70.0% 88.1% 91.0% 31% 30% -2.9 pp -0.2 pp -3.1 pp not computed: this window is too short for two halves to detect instability 0.01% 0.00% 23,082
+2% / −0.25% 3.8% 4.2% 70.6% 25.2% 5.1% 5.6% 75% 75% -0.6 pp -0.2 pp -0.8 pp not computed: this window is too short for two halves to detect instability 0.07% 0.16% 23,082
+2% / −0.5% 6.0% 6.4% 50.4% 43.2% 10.7% 11.2% 56% 57% -0.5 pp -0.4 pp -0.9 pp not computed: this window is too short for two halves to detect instability 0.04% 0.08% 23,082
+2% / −1% 7.7% 8.5% 26.7% 64.8% 22.2% 24.3% 35% 35% -2.1 pp -0.6 pp -2.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.03% 23,082
+2% / −2% 8.7% 9.4% 8.7% 81.9% 48.0% 52.0% 18% 18% -4.0 pp -0.6 pp -4.6 pp not computed: this window is too short for two halves to detect instability 0.01% 0.01% 23,082
+2% / −3% 8.8% 9.7% 3.2% 87.1% 68.0% 75.2% 13% 13% -7.2 pp -0.4 pp -7.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082
+3% / −0.25% 1.3% 1.7% 70.9% 27.3% 1.8% 2.4% 73% 73% -0.6 pp -0.0 pp -0.6 pp not computed: this window is too short for two halves to detect instability 0.01% 0.08% 23,082
+3% / −0.5% 2.1% 2.7% 50.9% 46.5% 3.9% 5.0% 53% 54% -1.0 pp -0.1 pp -1.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.03% 23,082
+3% / −1% 2.7% 3.6% 27.0% 69.4% 9.0% 11.9% 30% 31% -2.8 pp -0.2 pp -3.1 pp not computed: this window is too short for two halves to detect instability 0.00% 0.01% 23,082
+3% / −2% 3.2% 4.2% 8.8% 87.0% 24.8% 32.0% 13% 13% -7.3 pp -0.4 pp -7.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082
+3% / −3% 3.2% 4.3% 3.2% 92.4% 42.6% 57.4% 8% 8% -14.7 pp -0.3 pp -15.0 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082

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.

Sampling check: re-running this horizon on 1,537 strictly non-overlapping entries (rather than 23,082 every-bar entries) moves the asymmetry by a median of 1.4 pp and at most 7.1 pp.

1d horizon

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

At this horizon: 0.25% ≈ 0.07σ · 0.5% ≈ 0.13σ · 1% ≈ 0.26σ · 2% ≈ 0.53σ · 3% ≈ 0.79σ — 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:36.131667 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% 45.5% 53.3% 1.2% -3.1 pp -5.3 to -0.7 pp 4619
+0.25% / −0.5% 62.7% 35.7% 1.6% -3.4 pp -6.3 to -0.9 pp 3940
+0.25% / −1% 76.4% 21.4% 2.2% -3.1 pp -5.9 to -0.3 pp 2603
+0.25% / −2% 84.0% 10.8% 5.2% -2.5 pp -5.1 to +0.6 pp 1247
+0.25% / −3% 85.4% 6.4% 8.2% -1.8 pp -4.0 to +0.5 pp 1002
+0.5% / −0.25% 31.2% 67.2% 1.6% -3.5 pp -6.2 to -1.0 pp 4331
+0.5% / −0.5% 47.5% 50.3% 2.2% -3.8 pp -8.8 to +0.5 pp 2314
+0.5% / −1% 63.2% 33.0% 3.8% -2.8 pp -7.0 to +1.6 pp 1695
+0.5% / −2% 72.9% 17.0% 10.1% -2.9 pp -7.6 to +2.4 pp 806
+0.5% / −3% 75.0% 10.3% 14.8% -2.2 pp -6.0 to +2.1 pp 606
+1% / −0.25% 18.9% 78.7% 2.4% -3.1 pp -5.8 to -0.2 pp 2979
+1% / −0.5% 31.6% 64.3% 4.2% -2.8 pp -7.0 to +1.5 pp 1978
+1% / −1% 45.9% 45.9% 8.3% -1.8 pp -7.2 to +3.7 pp 1241
+1% / −2% 55.1% 24.7% 20.2% -3.6 pp -10.9 to +4.6 pp 533
+1% / −3% 57.8% 15.2% 27.0% -3.5 pp -10.2 to +3.8 pp 364
+2% / −0.25% 9.1% 85.4% 5.4% -2.4 pp -5.1 to +0.6 pp 1267
+2% / −0.5% 15.6% 73.8% 10.6% -2.9 pp -7.6 to +2.4 pp 686
+2% / −1% 22.9% 55.3% 21.7% -3.6 pp -10.9 to +4.6 pp 390
+2% / −2% 29.0% 30.8% 40.2% -5.5 pp -17.1 to +7.8 pp 246
+2% / −3% 31.3% 19.3% 49.5% -5.5 pp -18.2 to +7.7 pp 191
+3% / −0.25% 5.2% 86.7% 8.1% -1.8 pp -4.0 to +0.6 pp 827
+3% / −0.5% 9.2% 75.7% 15.2% -2.2 pp -6.0 to +2.2 pp 470
+3% / −1% 13.4% 57.9% 28.7% -3.4 pp -10.2 to +3.9 pp 280
+3% / −2% 17.8% 33.2% 49.0% -5.5 pp -18.2 to +7.6 pp 196
+3% / −3% 19.5% 20.8% 59.7% -5.6 pp -21.6 to +9.1 pp 156
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% 45.5% 47.6% 51.3% 1.2% 46.1% 48.1% 99% 99% -2.1 pp -1.0 pp -3.1 pp not computed: this window is too short for two halves to detect instability 5.71% 5.71% 23,082
+0.25% / −0.5% 62.7% 64.9% 33.5% 1.6% 63.7% 65.9% 98% 98% -2.2 pp -1.2 pp -3.4 pp not computed: this window is too short for two halves to detect instability 2.24% 2.31% 23,082
+0.25% / −1% 76.4% 78.2% 19.4% 2.4% 78.1% 80.1% 98% 98% -2.0 pp -1.2 pp -3.1 pp not computed: this window is too short for two halves to detect instability 0.58% 0.52% 23,082
+0.25% / −2% 84.0% 85.4% 9.2% 5.4% 88.6% 90.2% 95% 95% -1.6 pp -0.9 pp -2.5 pp not computed: this window is too short for two halves to detect instability 0.16% 0.08% 23,082
+0.25% / −3% 85.4% 86.7% 5.2% 8.1% 93.1% 94.3% 92% 92% -1.3 pp -0.6 pp -1.8 pp not computed: this window is too short for two halves to detect instability 0.08% 0.01% 23,082
+0.5% / −0.25% 31.2% 33.5% 64.9% 1.6% 31.7% 34.0% 98% 98% -2.3 pp -1.2 pp -3.5 pp not computed: this window is too short for two halves to detect instability 2.31% 2.24% 23,082
+0.5% / −0.5% 47.5% 49.4% 48.4% 2.2% 48.6% 50.5% 98% 98% -1.9 pp -1.9 pp -3.8 pp not computed: this window is too short for two halves to detect instability 0.96% 0.96% 23,082
+0.5% / −1% 63.2% 64.0% 31.8% 4.2% 65.7% 66.8% 96% 96% -1.1 pp -1.7 pp -2.8 pp not computed: this window is too short for two halves to detect instability 0.27% 0.24% 23,082
+0.5% / −2% 72.9% 73.7% 15.7% 10.6% 81.1% 82.5% 90% 89% -1.4 pp -1.5 pp -2.9 pp not computed: this window is too short for two halves to detect instability 0.08% 0.04% 23,082
+0.5% / −3% 75.0% 75.7% 9.2% 15.2% 88.0% 89.2% 85% 85% -1.2 pp -1.0 pp -2.2 pp not computed: this window is too short for two halves to detect instability 0.03% 0.00% 23,082
+1% / −0.25% 18.9% 20.8% 77.0% 2.2% 19.4% 21.3% 98% 98% -1.9 pp -1.2 pp -3.1 pp not computed: this window is too short for two halves to detect instability 0.52% 0.58% 23,082
+1% / −0.5% 31.6% 32.7% 63.5% 3.8% 33.0% 34.0% 96% 96% -1.0 pp -1.8 pp -2.8 pp not computed: this window is too short for two halves to detect instability 0.24% 0.27% 23,082
+1% / −1% 45.9% 45.8% 45.9% 8.3% 50.0% 49.9% 92% 92% +0.1 pp -1.9 pp -1.8 pp not computed: this window is too short for two halves to detect instability 0.09% 0.09% 23,082
+1% / −2% 55.1% 55.3% 22.9% 21.7% 69.1% 70.7% 80% 78% -1.6 pp -2.0 pp -3.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.03% 23,082
+1% / −3% 57.8% 57.9% 13.4% 28.7% 79.2% 81.2% 73% 71% -2.1 pp -1.4 pp -3.5 pp not computed: this window is too short for two halves to detect instability 0.02% 0.00% 23,082
+2% / −0.25% 9.1% 10.6% 84.2% 5.2% 9.7% 11.2% 95% 95% -1.5 pp -0.9 pp -2.4 pp not computed: this window is too short for two halves to detect instability 0.08% 0.16% 23,082
+2% / −0.5% 15.6% 16.9% 73.0% 10.1% 17.5% 18.8% 89% 90% -1.4 pp -1.5 pp -2.9 pp not computed: this window is too short for two halves to detect instability 0.04% 0.08% 23,082
+2% / −1% 22.9% 24.7% 55.2% 20.2% 29.3% 30.9% 78% 80% -1.6 pp -2.0 pp -3.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.03% 23,082
+2% / −2% 29.0% 30.8% 29.1% 40.2% 48.5% 51.4% 60% 60% -2.9 pp -2.5 pp -5.5 pp not computed: this window is too short for two halves to detect instability 0.02% 0.02% 23,082
+2% / −3% 31.3% 33.2% 17.8% 49.0% 61.9% 65.1% 51% 51% -3.3 pp -2.3 pp -5.5 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082
+3% / −0.25% 5.2% 6.3% 85.5% 8.2% 5.6% 6.8% 92% 92% -1.2 pp -0.6 pp -1.8 pp not computed: this window is too short for two halves to detect instability 0.01% 0.08% 23,082
+3% / −0.5% 9.2% 10.2% 75.0% 14.8% 10.8% 12.0% 85% 85% -1.2 pp -1.0 pp -2.2 pp not computed: this window is too short for two halves to detect instability 0.00% 0.03% 23,082
+3% / −1% 13.4% 15.2% 57.8% 27.0% 18.8% 20.8% 71% 73% -2.0 pp -1.4 pp -3.4 pp not computed: this window is too short for two halves to detect instability 0.00% 0.02% 23,082
+3% / −2% 17.8% 19.3% 31.3% 49.5% 34.8% 38.1% 51% 51% -3.3 pp -2.3 pp -5.5 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082
+3% / −3% 19.5% 20.8% 19.5% 59.7% 48.4% 51.6% 40% 40% -3.1 pp -2.5 pp -5.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082

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.

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

3d horizon

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

At this horizon: 0.25% ≈ 0.04σ · 0.5% ≈ 0.09σ · 1% ≈ 0.17σ · 2% ≈ 0.34σ · 3% ≈ 0.51σ — 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:36.218840 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% 46.2% 53.8% 0.0% -2.7 pp -5.0 to -0.3 pp 4631
+0.25% / −0.5% 63.7% 36.3% 0.0% -3.0 pp -5.8 to -0.5 pp 4176
+0.25% / −1% 77.9% 22.0% 0.0% -2.6 pp -5.3 to +0.4 pp 2604
+0.25% / −2% 87.3% 12.3% 0.4% -2.0 pp -4.7 to +1.2 pp 1366
+0.25% / −3% 89.7% 8.8% 1.5% -2.6 pp -5.2 to +0.3 pp 1102
+0.5% / −0.25% 32.1% 67.9% 0.0% -3.1 pp -5.7 to -0.6 pp 4584
+0.5% / −0.5% 48.8% 51.2% 0.0% -3.3 pp -8.1 to +0.7 pp 2370
+0.5% / −1% 65.7% 34.1% 0.2% -2.0 pp -6.4 to +2.5 pp 1564
+0.5% / −2% 78.3% 20.4% 1.3% -2.1 pp -6.9 to +3.6 pp 867
+0.5% / −3% 81.8% 14.8% 3.5% -3.6 pp -8.4 to +1.7 pp 663
+1% / −0.25% 20.1% 79.8% 0.2% -2.5 pp -5.2 to +0.5 pp 2816
+1% / −0.5% 33.7% 66.0% 0.3% -2.0 pp -6.4 to +2.4 pp 1810
+1% / −1% 49.7% 49.2% 1.1% -1.4 pp -7.0 to +4.2 pp 1239
+1% / −2% 63.4% 31.6% 5.0% -2.6 pp -10.1 to +5.4 pp 581
+1% / −3% 67.7% 23.0% 9.2% -5.9 pp -13.9 to +2.5 pp 421
+2% / −0.25% 11.2% 87.8% 1.0% -1.9 pp -4.7 to +1.3 pp 1540
+2% / −0.5% 19.7% 77.7% 2.6% -2.0 pp -6.9 to +3.7 pp 920
+2% / −1% 30.5% 62.4% 7.0% -2.6 pp -10.1 to +5.4 pp 545
+2% / −2% 41.1% 43.4% 15.4% -5.8 pp -17.6 to +6.7 pp 285
+2% / −3% 45.6% 31.3% 23.1% -8.5 pp -21.5 to +5.4 pp 211
+3% / −0.25% 7.1% 90.4% 2.4% -2.5 pp -5.2 to +0.5 pp 984
+3% / −0.5% 12.5% 81.9% 5.6% -3.6 pp -8.4 to +1.7 pp 560
+3% / −1% 18.8% 68.5% 12.7% -5.9 pp -13.9 to +2.5 pp 308
+3% / −2% 26.7% 49.2% 24.2% -8.5 pp -21.5 to +5.4 pp 182
+3% / −3% 30.5% 36.0% 33.5% -11.9 pp -28.9 to +4.7 pp 144
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% 46.2% 48.0% 52.0% 0.0% 46.2% 48.0% 100% 100% -1.7 pp -1.0 pp -2.7 pp not computed: this window is too short for two halves to detect instability 5.77% 5.77% 23,082
+0.25% / −0.5% 63.7% 65.5% 34.4% 0.0% 63.7% 65.6% 100% 100% -1.9 pp -1.2 pp -3.0 pp not computed: this window is too short for two halves to detect instability 2.28% 2.32% 23,082
+0.25% / −1% 77.9% 79.2% 20.6% 0.2% 78.0% 79.4% 100% 100% -1.4 pp -1.2 pp -2.6 pp not computed: this window is too short for two halves to detect instability 0.62% 0.52% 23,082
+0.25% / −2% 87.3% 87.7% 11.3% 1.0% 87.7% 88.6% 100% 99% -0.9 pp -1.1 pp -2.0 pp not computed: this window is too short for two halves to detect instability 0.16% 0.08% 23,082
+0.25% / −3% 89.7% 90.4% 7.1% 2.4% 91.1% 92.7% 99% 98% -1.6 pp -0.9 pp -2.6 pp not computed: this window is too short for two halves to detect instability 0.08% 0.01% 23,082
+0.5% / −0.25% 32.1% 34.0% 66.0% 0.0% 32.1% 34.0% 100% 100% -1.9 pp -1.2 pp -3.1 pp not computed: this window is too short for two halves to detect instability 2.32% 2.28% 23,082
+0.5% / −0.5% 48.8% 50.2% 49.7% 0.0% 48.8% 50.2% 100% 100% -1.5 pp -1.9 pp -3.3 pp not computed: this window is too short for two halves to detect instability 0.97% 0.97% 23,082
+0.5% / −1% 65.7% 65.8% 33.9% 0.3% 65.8% 66.0% 100% 100% -0.2 pp -1.8 pp -2.0 pp not computed: this window is too short for two halves to detect instability 0.27% 0.24% 23,082
+0.5% / −2% 78.3% 77.6% 19.8% 2.6% 79.3% 79.7% 99% 97% -0.4 pp -1.7 pp -2.1 pp not computed: this window is too short for two halves to detect instability 0.08% 0.04% 23,082
+0.5% / −3% 81.8% 81.9% 12.5% 5.6% 84.7% 86.8% 97% 94% -2.1 pp -1.5 pp -3.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.00% 23,082
+1% / −0.25% 20.1% 21.4% 78.6% 0.0% 20.1% 21.4% 100% 100% -1.3 pp -1.2 pp -2.5 pp not computed: this window is too short for two halves to detect instability 0.52% 0.62% 23,082
+1% / −0.5% 33.7% 33.9% 65.9% 0.2% 33.8% 33.9% 100% 100% -0.2 pp -1.8 pp -2.0 pp not computed: this window is too short for two halves to detect instability 0.24% 0.27% 23,082
+1% / −1% 49.7% 49.1% 49.8% 1.1% 50.2% 49.7% 99% 99% +0.6 pp -2.0 pp -1.4 pp not computed: this window is too short for two halves to detect instability 0.09% 0.09% 23,082
+1% / −2% 63.4% 62.4% 30.6% 7.0% 66.8% 67.1% 95% 93% -0.4 pp -2.2 pp -2.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.03% 23,082
+1% / −3% 67.7% 68.5% 18.8% 12.7% 74.6% 78.5% 91% 87% -3.8 pp -2.1 pp -5.9 pp not computed: this window is too short for two halves to detect instability 0.02% 0.00% 23,082
+2% / −0.25% 11.2% 12.1% 87.5% 0.4% 11.3% 12.2% 99% 100% -0.9 pp -1.0 pp -1.9 pp not computed: this window is too short for two halves to detect instability 0.08% 0.16% 23,082
+2% / −0.5% 19.7% 20.3% 78.4% 1.3% 20.3% 20.6% 97% 99% -0.3 pp -1.7 pp -2.0 pp not computed: this window is too short for two halves to detect instability 0.04% 0.08% 23,082
+2% / −1% 30.5% 31.6% 63.5% 5.0% 32.8% 33.2% 93% 95% -0.4 pp -2.2 pp -2.6 pp not computed: this window is too short for two halves to detect instability 0.03% 0.03% 23,082
+2% / −2% 41.1% 43.4% 41.2% 15.4% 48.7% 51.3% 85% 85% -2.7 pp -3.1 pp -5.8 pp not computed: this window is too short for two halves to detect instability 0.02% 0.02% 23,082
+2% / −3% 45.6% 49.2% 26.7% 24.2% 59.3% 64.8% 77% 76% -5.6 pp -3.0 pp -8.5 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082
+3% / −0.25% 7.1% 8.7% 89.8% 1.5% 7.3% 8.9% 98% 99% -1.6 pp -0.9 pp -2.5 pp not computed: this window is too short for two halves to detect instability 0.01% 0.08% 23,082
+3% / −0.5% 12.5% 14.7% 81.8% 3.5% 13.2% 15.3% 94% 97% -2.1 pp -1.5 pp -3.6 pp not computed: this window is too short for two halves to detect instability 0.00% 0.03% 23,082
+3% / −1% 18.8% 23.0% 67.8% 9.2% 21.5% 25.3% 87% 91% -3.8 pp -2.1 pp -5.9 pp not computed: this window is too short for two halves to detect instability 0.00% 0.02% 23,082
+3% / −2% 26.7% 31.3% 45.6% 23.1% 35.2% 40.7% 76% 77% -5.6 pp -3.0 pp -8.5 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082
+3% / −3% 30.5% 36.0% 30.5% 33.5% 45.8% 54.2% 66% 66% -8.3 pp -3.5 pp -11.9 pp not computed: this window is too short for two halves to detect instability 0.00% 0.00% 23,082

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.

Sampling check: re-running this horizon on 105 strictly non-overlapping entries (rather than 23,082 every-bar entries) moves the asymmetry by a median of 3.0 pp and at most 19.9 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, 0 of 10 cells that look significant uncorrected survive Benjamini–Hochberg at q=0.05, and 0 of those 0 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 49.4% of long entries; the other 50.6% 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.52% and the best tenth of windows reached +1.90%, while the median heat taken against them (MAE) was -0.51% and the worst tenth of windows drew down -1.95% — that is what the rest of the grid's “neither” column was doing instead of resolving.

4h horizon — excursions

1,537 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,537 +0.52% +1.90% -0.51% -1.95%
Short 1,537 +0.51% +1.98% -0.51% -1.87%
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% 16,411 29.7% 2759
+0.25% / −0.5% 16,411 14.6% 1631
+0.25% / −1% 16,411 4.4% 1215
+0.25% / −2% 16,411 0.7% 2052
+0.25% / −3% 16,411 0.2% 3064
+0.5% / −0.25% 11,784 41.0% 1385
+0.5% / −0.5% 11,784 21.2% 939
+0.5% / −1% 11,784 6.8% 701
+0.5% / −2% 11,784 1.2% 1272
+0.5% / −3% 11,784 0.4% 1687
+1% / −0.25% 6,273 49.6% 662
+1% / −0.5% 6,273 26.7% 454
+1% / −1% 6,273 9.8% 360
+1% / −2% 6,273 1.9% 476
+1% / −3% 6,273 0.8% 504
+2% / −0.25% 2,076 56.9% 334
+2% / −0.5% 2,076 32.5% 213
+2% / −1% 2,076 14.4% 176
+2% / −2% 2,076 3.4% 196
+2% / −3% 2,076 1.8% 185
+3% / −0.25% 773 60.8% 160
+3% / −0.5% 773 38.0% 129
+3% / −1% 773 19.3% 98
+3% / −2% 773 4.8% 73
+3% / −3% 773 3.6% 96

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 +1.35% +4.73% -1.34% -4.50%
Short 258 +1.36% +4.71% -1.34% -4.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% 20,041 41.0% 4968
+0.25% / −0.5% 20,041 25.2% 3503
+0.25% / −1% 20,041 11.4% 1852
+0.25% / −2% 20,041 3.1% 930
+0.25% / −3% 20,041 1.5% 1196
+0.5% / −0.25% 17,781 56.5% 3426
+0.5% / −0.5% 17,781 37.1% 1864
+0.5% / −1% 17,781 17.6% 1008
+0.5% / −2% 17,781 5.3% 594
+0.5% / −3% 17,781 2.6% 811
+1% / −0.25% 13,971 67.9% 1686
+1% / −0.5% 13,971 47.4% 1010
+1% / −1% 13,971 24.1% 426
+1% / −2% 13,971 8.8% 363
+1% / −3% 13,971 4.5% 415
+2% / −0.25% 7,768 72.6% 813
+2% / −0.5% 7,768 53.5% 514
+2% / −1% 7,768 31.8% 288
+2% / −2% 7,768 13.6% 225
+2% / −3% 7,768 7.1% 221
+3% / −0.25% 4,869 75.3% 496
+3% / −0.5% 4,869 56.6% 314
+3% / −1% 4,869 36.5% 198
+3% / −2% 4,869 15.7% 143
+3% / −3% 4,869 7.5% 123

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 +2.10% -2.31%
Short 105 +2.37% -2.06%
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% 21,343 43.8% 5268
+0.25% / −0.5% 21,343 28.7% 4960
+0.25% / −1% 21,343 15.0% 2888
+0.25% / −2% 21,343 5.4% 1290
+0.25% / −3% 21,343 2.9% 1322
+0.5% / −0.25% 19,782 59.8% 4446
+0.5% / −0.5% 19,782 42.0% 2772
+0.5% / −1% 19,782 23.1% 1598
+0.5% / −2% 19,782 8.6% 755
+0.5% / −3% 19,782 4.6% 663
+1% / −0.25% 16,961 72.0% 2317
+1% / −0.5% 16,961 53.9% 1446
+1% / −1% 16,961 32.2% 673
+1% / −2% 16,961 13.6% 370
+1% / −3% 16,961 7.8% 326
+2% / −0.25% 12,038 78.4% 1208
+2% / −0.5% 12,038 62.1% 676
+2% / −1% 12,038 41.4% 363
+2% / −2% 12,038 21.1% 219
+2% / −3% 12,038 12.6% 196
+3% / −0.25% 8,313 80.2% 767
+3% / −0.5% 8,313 65.4% 539
+3% / −1% 8,313 47.8% 301
+3% / −2% 8,313 25.9% 171
+3% / −3% 8,313 15.4% 135

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.51% 1.87% 1,537 23,030
1d 1.33% 4.41% 258 23,030
3d 2.25% 105 23,080
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.509% 0.509% +0.0% 0.387 20.7 1,537 23,030
1d 92 bars ×2.40 1.220% 1.334% +9.3% 0.426 11.7 258 23,030
3d 222 bars ×3.72 1.895% 2.255% +19.0% 0.442 10.2 105 23,080
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.442 and kurtosis is 10.2 — 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.17 trading days 0.905 0.766 to 1.044 88% to 102% -1.34 0.180 1,468 -3.31 not significant not computed: this window is too short for two halves to detect instability
1d 92 bars ≈ 1.00 trading days 0.923 0.608 to 1.238 78% to 111% -0.48 0.632 255 -1.07 not significant not computed: this window is too short for two halves to detect instability
3d 222 bars ≈ 2.41 trading days 0.813 0.343 to 1.283 59% to 113% -0.78 0.436 105 -1.67 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: 1 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:36.298185 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 50 insufficient data
daily break 200 0.015 0.191 0.864 17.0% 6.5%

Gaps are in USD/bbl, signed. Median bar range for comparison: 0.205.

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
USD/bbl 23082 0.3245 0.0720 0.1130 0.2050 0.3920 0.6950 0.9570 1.8050
% of price 23082 0.4045 0.1152 0.1768 0.2954 0.4879 0.7823 1.0470 1.9465

True range

Unitnmeanp10p25p50p75p90p95p99
USD/bbl 22831 0.3230 0.0720 0.1130 0.2050 0.3900 0.6920 0.9470 1.7770
% of price 22831 0.4028 0.1164 0.1775 0.2958 0.4868 0.7795 1.0390 1.9250