Gap Fill Presentation

A self-contained presentation arguing that the gap-fill folklore is empirically supported but not easily tradeable with a naive fade strategy.

Position

The folklore is directionally real, but this naive implementation is not a good strategy.

Across the selected universe, strict gaps often trade back through the prior range over longer horizons. But the actual fade trade still loses money and posts a weak -0.412 trade Sharpe.

  • The 60-day fill rate is 78.44%.
  • The baseline trade returns average -0.620% with 1.506% volatility per event.
  • Winners average 3.901% while losers average -0.834%.
Position
Empirically yes, tradeably no
Universe
503 symbols
Date range
2016-04-19 to 2026-04-19
Gap events in study
38992
Trades
38992
60d fill rate
78.44%
Average return
-0.620%
Trade Sharpe
-0.412
Return stdev
1.506%
1. Hypothesis and setup

What exactly is being claimed?

A strict gap up means today's low is above yesterday's high. A strict gap down means today's high is below yesterday's low.

The empirical claim is that price later trades back through the prior bar extreme. The trading claim is stronger: you can monetize that tendency with a fade entry, a stop, and a time stop.

FieldValue
Universe size503
Date range2016-04-19 to 2026-04-19
Gap definitionstrict candle-range gap
Minimum gap threshold0.5
Time stop5
Stop multiple0.5
2. Empirical evidence: do gaps get filled?

Short answer

Yes, often enough to be interesting. The fill-rate study found 38992 qualifying gaps and shows the probability rising as you allow more time.

That means the folklore can be empirically true even before we ask whether a trader can capture it cleanly.

FieldValue
1d16.66
5d43.68
20d65.34
60d78.44
3. Trade result: why the strategy still fails

The gap between truth and tradability

The baseline fade strategy averages -0.620% per trade at -0.412 trade Sharpe.

The issue is not that fills never happen. The issue is that the path to the fill is noisy, slow, and expensive enough that a simple fade entry cannot turn the tendency into attractive risk-adjusted returns.

What drags Sharpe down

  • Per-trade volatility is 1.506%, much larger than the mean return.
  • Losers average -0.834% while winners average only 3.901%.
  • 1170 trades hit the time stop before the fill target.
4. Charts
5. Cross-sectional breakdown

What the symbol breakdown suggests

If the edge were clean, you would expect at least a few symbols to stand out with meaningfully positive risk-adjusted returns. Instead, the weakness is fairly broad across the basket.

symbol trade_count fill_rate_pct win_rate_pct avg_return_pct median_return_pct trade_sharpe avg_gap_pct avg_holding_bars
SW 659 39.454 44.765 0.537 0.000 0.207 3.359 3.898
KDP 45 31.111 20.000 0.487 -0.486 0.126 3.867 1.867
GEN 59 25.424 16.949 0.131 -0.509 0.036 3.601 1.915
BIIB 56 37.500 21.429 0.104 -0.470 0.039 4.106 2.071
CSGP 53 35.849 7.547 0.046 -0.513 0.013 1.806 1.283
ROST 66 42.424 12.121 0.018 -0.543 0.005 2.263 1.727
MDLZ 35 34.286 17.143 -0.009 -0.359 -0.007 1.327 1.914
TGT 86 41.860 16.279 -0.011 -0.426 -0.004 2.770 1.988
ROL 33 30.303 12.121 -0.062 -0.461 -0.027 1.789 1.606
CNC 81 34.568 11.111 -0.120 -0.566 -0.041 2.229 1.531
GILD 52 34.615 13.462 -0.121 -0.541 -0.056 1.932 1.462
LII 52 46.154 5.769 -0.125 -0.414 -0.065 1.231 1.250
PFE 54 25.926 7.407 -0.135 -0.397 -0.070 1.431 1.481
MKC 31 32.258 16.129 -0.145 -0.345 -0.094 1.856 1.742
FFIV 82 37.805 15.854 -0.148 -0.505 -0.075 2.247 1.963
A 84 33.333 9.524 -0.156 -0.447 -0.088 1.550 1.619
KVUE 9 33.333 33.333 -0.157 -0.509 -0.091 3.483 2.222
CVS 83 30.120 10.843 -0.181 -0.481 -0.080 2.098 1.578
CRH 370 55.405 17.568 -0.197 -0.425 -0.152 1.434 1.705
AMCR 153 27.451 21.569 -0.214 -0.301 -0.191 2.182 3.686
LNT 17 58.824 5.882 -0.217 -0.350 -0.197 0.934 1.059
EA 49 28.571 10.204 -0.230 -0.457 -0.091 2.305 1.551
WDAY 102 45.098 11.765 -0.236 -0.481 -0.107 2.033 1.520
GIS 37 45.946 13.514 -0.249 -0.496 -0.166 1.754 1.649
PSA 26 38.462 3.846 -0.252 -0.466 -0.163 1.116 1.038
PEP 22 40.909 9.091 -0.253 -0.398 -0.193 1.117 1.318
RVTY 71 46.479 4.225 -0.270 -0.437 -0.165 1.402 1.197
HRL 32 50.000 12.500 -0.271 -0.454 -0.165 2.088 1.531
EVRG 22 36.364 13.636 -0.284 -0.447 -0.272 1.621 1.818
COO 48 41.667 8.333 -0.285 -0.528 -0.123 1.932 1.375
NWSA 51 45.098 3.922 -0.288 -0.432 -0.133 1.431 1.118
NXPI 123 53.659 7.317 -0.301 -0.516 -0.160 1.582 1.236
POOL 59 37.288 6.780 -0.304 -0.423 -0.165 1.489 1.390
WELL 46 36.957 8.696 -0.305 -0.544 -0.160 1.714 1.457
HUM 58 37.931 13.793 -0.320 -0.556 -0.117 2.719 1.810
LIN 126 42.857 9.524 -0.327 -0.483 -0.311 1.236 1.373
GEHC 26 38.462 15.385 -0.333 -0.625 -0.135 2.354 1.615
CB 47 44.681 4.255 -0.336 -0.402 -0.306 1.136 1.234
ACN 88 45.455 6.818 -0.337 -0.456 -0.297 1.446 1.420
DGX 38 34.211 7.895 -0.348 -0.466 -0.254 1.458 1.342
6. Recent trade log
symbol signal_date gap_direction trade_direction previous_close entry_price target_price stop_price gap_lower_price gap_upper_price gap_size gap_pct gap_filled_within_horizon days_to_fill exit_date exit_price exit_reason holding_bars return_pct
AMZN 2026-04-10 up short 233.650 235.300 233.800 236.005 233.800 235.210 1.410 0.603 False <NA> 2026-04-10 236.005 stop 1 -0.300
AVGO 2026-04-10 up short 354.910 360.940 358.700 362.000 358.700 360.820 2.120 0.597 False <NA> 2026-04-10 362.000 stop 1 -0.294
FCX 2026-04-10 up short 66.450 67.240 66.750 67.415 66.750 67.100 0.350 0.527 False <NA> 2026-04-10 67.415 stop 1 -0.260
APP 2026-04-13 up short 391.380 395.660 391.940 396.842 391.940 394.304 2.364 0.604 False <NA> 2026-04-13 396.842 stop 1 -0.299
BBY 2026-04-13 down long 62.370 60.050 62.120 59.650 61.320 62.120 0.800 1.283 True 1 2026-04-14 62.120 gap_filled 2 3.447
DOW 2026-04-13 up short 39.010 40.000 39.120 40.330 39.120 39.781 0.661 1.694 True 1 2026-04-13 40.330 stop 1 -0.826
HRL 2026-04-13 down long 20.870 20.540 20.790 20.445 20.600 20.790 0.190 0.910 True 1 2026-04-13 20.445 stop 1 -0.463
LYB 2026-04-13 up short 73.720 75.500 74.540 75.690 74.540 74.920 0.380 0.515 True 1 2026-04-13 75.690 stop 1 -0.252
ALGN 2026-04-14 up short 180.670 183.100 181.280 183.775 181.280 182.630 1.350 0.747 False <NA> 2026-04-14 183.775 stop 1 -0.369
AMZN 2026-04-14 up short 239.890 241.780 240.000 242.670 240.000 241.780 1.780 0.742 False <NA> 2026-04-14 242.670 stop 1 -0.368
APO 2026-04-14 up short 109.950 111.800 110.000 112.700 110.000 111.800 1.800 1.637 False <NA> 2026-04-14 112.700 stop 1 -0.805
APP 2026-04-14 up short 417.450 428.545 422.465 429.783 422.465 424.940 2.475 0.593 False <NA> 2026-04-14 429.783 stop 1 -0.289
ARES 2026-04-14 up short 106.680 108.800 107.050 109.620 107.050 108.690 1.640 1.537 False <NA> 2026-04-14 109.620 stop 1 -0.754
AXON 2026-04-14 up short 359.630 371.440 364.880 373.860 364.880 369.720 4.840 1.346 False <NA> 2026-04-14 373.860 stop 1 -0.652
BLK 2026-04-14 up short 1023.650 1050.000 1025.650 1057.615 1025.650 1040.880 15.230 1.488 True 2 2026-04-14 1057.615 stop 1 -0.725
CCL 2026-04-14 up short 27.750 28.250 27.800 28.370 27.800 28.040 0.240 0.865 True 2 2026-04-14 28.370 stop 1 -0.425
CDNS 2026-04-14 up short 288.200 293.310 288.330 294.285 288.330 290.280 1.950 0.677 False <NA> 2026-04-14 294.285 stop 1 -0.332
COIN 2026-04-14 up short 174.530 180.030 175.010 182.525 175.010 180.000 4.990 2.859 False <NA> 2026-04-14 182.525 stop 1 -1.386
CVNA 2026-04-14 up short 359.270 365.000 359.790 367.420 359.790 364.630 4.840 1.347 True 2 2026-04-14 367.420 stop 1 -0.663
DAL 2026-04-14 up short 67.050 68.600 67.160 69.060 67.160 68.080 0.920 1.372 False <NA> 2026-04-14 69.060 stop 1 -0.671
EXPE 2026-04-14 up short 240.210 244.620 240.370 246.120 240.370 243.370 3.000 1.249 False <NA> 2026-04-14 246.120 stop 1 -0.613
F 2026-04-14 up short 12.160 12.510 12.170 12.650 12.170 12.450 0.280 2.303 False <NA> 2026-04-14 12.650 stop 1 -1.119
GM 2026-04-14 up short 76.830 78.630 76.860 79.250 76.860 78.100 1.240 1.614 False <NA> 2026-04-14 79.250 stop 1 -0.789
GOOG 2026-04-14 up short 319.210 322.065 319.430 322.925 319.430 321.150 1.720 0.539 False <NA> 2026-04-14 322.925 stop 1 -0.267
GOOGL 2026-04-14 up short 321.310 324.790 321.630 325.850 321.630 323.750 2.120 0.660 False <NA> 2026-04-14 325.850 stop 1 -0.326
HOOD 2026-04-14 up short 71.670 75.130 71.700 76.805 71.700 75.050 3.350 4.674 False <NA> 2026-04-14 76.805 stop 1 -2.229
IVZ 2026-04-14 up short 24.300 24.550 24.310 24.640 24.310 24.490 0.180 0.741 True 2 2026-04-14 24.640 stop 1 -0.367
LUV 2026-04-14 up short 39.450 40.250 39.480 40.560 39.480 40.100 0.620 1.572 False <NA> 2026-04-14 40.560 stop 1 -0.770
META 2026-04-14 up short 634.530 643.220 635.000 645.405 635.000 639.370 4.370 0.689 False <NA> 2026-04-14 645.405 stop 1 -0.340
MSFT 2026-04-14 up short 384.370 387.920 384.540 388.910 384.540 386.520 1.980 0.515 False <NA> 2026-04-14 388.910 stop 1 -0.255
NCLH 2026-04-14 up short 20.260 20.680 20.280 20.815 20.280 20.550 0.270 1.333 True 2 2026-04-14 20.815 stop 1 -0.653
NVDA 2026-04-14 up short 189.310 190.840 189.660 191.395 189.660 190.770 1.110 0.586 False <NA> 2026-04-14 191.395 stop 1 -0.291
ORCL 2026-04-14 up short 155.620 167.930 155.910 170.755 155.910 161.560 5.650 3.631 False <NA> 2026-04-15 170.755 stop 2 -1.682
OXY 2026-04-14 down long 58.060 56.920 57.400 56.720 57.000 57.400 0.400 0.689 False <NA> 2026-04-14 56.720 stop 1 -0.351
SMCI 2026-04-14 up short 25.970 27.000 25.990 27.255 25.990 26.500 0.510 1.964 False <NA> 2026-04-14 27.255 stop 1 -0.944
TDG 2026-04-14 up short 1233.110 1279.240 1235.500 1295.925 1235.500 1268.870 33.370 2.706 True 2 2026-04-14 1295.925 stop 1 -1.304
WFC 2026-04-14 down long 86.640 83.020 84.070 82.565 83.160 84.070 0.910 1.050 False <NA> 2026-04-14 82.565 stop 1 -0.548
XOM 2026-04-14 down long 152.640 150.070 151.280 149.485 150.110 151.280 1.170 0.767 True 2 2026-04-14 149.485 stop 1 -0.390
ADSK 2026-04-15 up short 228.590 234.790 230.680 235.550 230.680 232.200 1.520 0.665 False <NA> 2026-04-15 235.550 stop 1 -0.324
ARES 2026-04-15 up short 112.610 114.400 113.690 114.700 113.690 114.290 0.600 0.533 False <NA> 2026-04-15 114.700 stop 1 -0.262
AVGO 2026-04-15 up short 380.780 389.880 382.280 391.525 382.280 385.570 3.290 0.864 False <NA> 2026-04-15 391.525 stop 1 -0.422
HOOD 2026-04-15 up short 79.090 83.550 79.280 84.660 79.280 81.500 2.220 2.807 False <NA> 2026-04-15 84.660 stop 1 -1.329
IBKR 2026-04-15 up short 77.100 78.390 77.250 78.775 77.250 78.020 0.770 0.999 False <NA> 2026-04-15 78.775 stop 1 -0.491
MS 2026-04-15 up short 183.340 188.490 184.590 190.155 184.590 187.920 3.330 1.816 False <NA> 2026-04-15 190.155 stop 1 -0.883
MSFT 2026-04-15 up short 393.110 398.000 394.690 399.020 394.690 396.730 2.040 0.519 False <NA> 2026-04-15 399.020 stop 1 -0.256
NKE 2026-04-15 up short 44.200 45.090 44.210 45.340 44.210 44.710 0.500 1.131 False <NA> 2026-04-15 45.340 stop 1 -0.554
ABT 2026-04-16 down long 101.560 97.130 100.630 96.315 99.000 100.630 1.630 1.605 False <NA> 2026-04-16 96.315 stop 1 -0.839
AMD 2026-04-16 up short 258.120 264.990 258.180 266.655 258.180 261.510 3.330 1.290 False <NA> 2026-04-16 266.655 stop 1 -0.628
DDOG 2026-04-16 up short 121.060 128.390 121.180 129.097 121.180 122.595 1.415 1.169 False <NA> 2026-04-17 126.610 timeout 2 1.386
JBHT 2026-04-16 up short 224.170 233.200 229.340 234.530 229.340 232.000 2.660 1.187 False <NA> 2026-04-16 234.530 stop 1 -0.570
MRSH 2026-04-16 up short 174.900 178.190 175.840 179.320 175.840 178.100 2.260 1.292 True 1 2026-04-16 179.320 stop 1 -0.634
NOW 2026-04-16 up short 94.190 97.610 94.830 97.880 94.830 95.370 0.540 0.573 False <NA> 2026-04-16 97.880 stop 1 -0.277
ON 2026-04-16 up short 72.430 74.370 72.550 75.085 72.550 73.980 1.430 1.974 False <NA> 2026-04-16 75.085 stop 1 -0.961
ORCL 2026-04-16 up short 169.810 176.420 172.560 177.040 172.560 173.800 1.240 0.730 False <NA> 2026-04-16 177.040 stop 1 -0.351
PLD 2026-04-16 up short 139.770 142.640 139.900 143.420 139.900 141.460 1.560 1.116 False <NA> 2026-04-16 143.420 stop 1 -0.547
PPG 2026-04-16 up short 107.720 116.000 110.130 116.895 110.130 111.920 1.790 1.662 False <NA> 2026-04-17 116.895 stop 2 -0.772
ADI 2026-04-17 up short 353.800 359.670 355.850 360.655 355.850 357.820 1.970 0.557 False <NA> 2026-04-17 360.655 stop 1 -0.274
AMCR 2026-04-17 up short 40.180 40.970 40.560 41.075 40.560 40.770 0.210 0.523 False <NA> 2026-04-17 41.075 stop 1 -0.256
APA 2026-04-17 down long 37.900 34.620 36.580 34.305 35.950 36.580 0.630 1.662 False <NA> 2026-04-17 34.305 stop 1 -0.910
BLDR 2026-04-17 up short 83.900 89.050 86.250 89.755 86.250 87.660 1.410 1.681 False <NA> 2026-04-17 89.755 stop 1 -0.792
CF 2026-04-17 down long 124.710 114.000 120.400 111.200 114.800 120.400 5.600 4.490 False <NA> 2026-04-17 111.200 stop 1 -2.456
CMI 2026-04-17 up short 608.890 615.630 609.020 618.240 609.020 614.240 5.220 0.857 False <NA> 2026-04-17 618.240 stop 1 -0.424
COIN 2026-04-17 up short 199.830 205.200 200.580 206.385 200.580 202.950 2.370 1.186 False <NA> 2026-04-17 206.385 stop 1 -0.577
COP 2026-04-17 down long 121.570 116.330 119.370 114.895 116.500 119.370 2.870 2.361 False <NA> 2026-04-17 114.895 stop 1 -1.234
CTRA 2026-04-17 down long 31.970 30.330 31.600 30.000 30.940 31.600 0.660 2.064 False <NA> 2026-04-17 30.000 stop 1 -1.088
CVX 2026-04-17 down long 188.150 181.890 185.340 181.370 184.300 185.340 1.040 0.553 False <NA> 2026-04-17 181.370 stop 1 -0.286
DHI 2026-04-17 up short 143.350 146.690 145.740 147.165 145.740 146.690 0.950 0.663 False <NA> 2026-04-17 147.165 stop 1 -0.324
DOW 2026-04-17 down long 39.920 36.290 39.180 34.975 36.550 39.180 2.630 6.588 False <NA> 2026-04-17 34.975 stop 1 -3.624
DVN 2026-04-17 down long 45.780 43.340 45.190 42.880 44.270 45.190 0.920 2.010 False <NA> 2026-04-17 42.880 stop 1 -1.061
EMR 2026-04-17 up short 140.370 142.560 141.760 142.960 141.760 142.560 0.800 0.570 False <NA> 2026-04-17 142.960 stop 1 -0.281
EOG 2026-04-17 down long 134.070 126.310 131.150 125.235 129.000 131.150 2.150 1.604 False <NA> 2026-04-17 125.235 stop 1 -0.851
FANG 2026-04-17 down long 186.650 176.450 185.550 173.980 180.610 185.550 4.940 2.647 False <NA> 2026-04-17 173.980 stop 1 -1.400
GM 2026-04-17 up short 78.050 79.400 78.350 79.925 78.350 79.400 1.050 1.345 False <NA> 2026-04-17 79.925 stop 1 -0.661
HLT 2026-04-17 up short 330.380 334.700 332.410 335.750 332.410 334.510 2.100 0.636 False <NA> 2026-04-17 335.750 stop 1 -0.314
JBL 2026-04-17 up short 310.100 313.680 310.760 314.725 310.760 312.850 2.090 0.674 False <NA> 2026-04-17 314.725 stop 1 -0.333
LEN 2026-04-17 up short 88.800 90.950 90.060 91.285 90.060 90.730 0.670 0.755 False <NA> 2026-04-17 91.285 stop 1 -0.368
LVS 2026-04-17 up short 56.710 57.130 56.780 57.305 56.780 57.130 0.350 0.617 False <NA> 2026-04-17 57.305 stop 1 -0.306
LYB 2026-04-17 down long 75.290 70.120 73.090 68.745 70.340 73.090 2.750 3.653 False <NA> 2026-04-17 68.745 stop 1 -1.961
MAS 2026-04-17 up short 63.730 65.060 64.390 65.295 64.390 64.860 0.470 0.737 False <NA> 2026-04-17 65.295 stop 1 -0.361
MCHP 2026-04-17 up short 76.870 78.780 77.320 79.000 77.320 77.760 0.440 0.572 False <NA> 2026-04-17 79.000 stop 1 -0.279
MPC 2026-04-17 down long 226.240 217.250 223.430 215.575 220.080 223.430 3.350 1.481 False <NA> 2026-04-17 215.575 stop 1 -0.771
MPWR 2026-04-17 up short 1402.810 1437.620 1405.140 1445.220 1405.140 1420.340 15.200 1.084 False <NA> 2026-04-17 1445.220 stop 1 -0.529
NDSN 2026-04-17 up short 276.700 279.010 277.610 279.710 277.610 279.010 1.400 0.506 False <NA> 2026-04-17 279.710 stop 1 -0.251
NFLX 2026-04-17 down long 107.790 96.370 106.620 92.430 98.740 106.620 7.880 7.311 False <NA> 2026-04-17 97.310 timeout 1 0.975
OXY 2026-04-17 down long 56.870 53.660 55.610 52.870 54.030 55.610 1.580 2.778 False <NA> 2026-04-17 52.870 stop 1 -1.472
PH 2026-04-17 up short 957.000 1029.000 971.930 1031.825 971.930 977.580 5.650 0.590 False <NA> 2026-04-17 988.800 timeout 1 3.907
PKG 2026-04-17 up short 207.620 210.000 207.930 210.865 207.930 209.660 1.730 0.833 False <NA> 2026-04-17 210.865 stop 1 -0.412
PSX 2026-04-17 down long 163.330 157.080 161.880 155.360 158.440 161.880 3.440 2.106 False <NA> 2026-04-17 155.360 stop 1 -1.095
Q 2026-04-17 up short 131.300 134.270 132.225 135.092 132.225 133.870 1.645 1.253 False <NA> 2026-04-17 135.092 stop 1 -0.613
RL 2026-04-17 up short 369.700 377.420 375.500 378.380 375.500 377.420 1.920 0.519 False <NA> 2026-04-17 378.380 stop 1 -0.254
STX 2026-04-17 up short 531.810 544.450 532.060 547.180 532.060 537.520 5.460 1.027 False <NA> 2026-04-17 547.180 stop 1 -0.501
SWK 2026-04-17 up short 68.470 70.010 68.570 70.675 68.570 69.900 1.330 1.942 False <NA> 2026-04-17 70.675 stop 1 -0.950
TEL 2026-04-17 up short 236.480 239.630 237.460 240.255 237.460 238.710 1.250 0.529 False <NA> 2026-04-17 240.255 stop 1 -0.261
TPR 2026-04-17 up short 150.690 155.060 152.050 155.680 152.050 153.290 1.240 0.823 False <NA> 2026-04-17 155.680 stop 1 -0.400
TRMB 2026-04-17 up short 67.670 69.550 67.790 70.110 67.790 68.910 1.120 1.655 False <NA> 2026-04-17 70.110 stop 1 -0.805
UAL 2026-04-17 up short 95.030 102.880 96.570 105.050 96.570 100.910 4.340 4.567 False <NA> 2026-04-17 105.050 stop 1 -2.109
VLO 2026-04-17 down long 241.740 228.190 235.000 225.190 229.000 235.000 6.000 2.482 False <NA> 2026-04-17 225.190 stop 1 -1.315
XOM 2026-04-17 down long 151.980 144.860 149.350 143.585 146.800 149.350 2.550 1.678 False <NA> 2026-04-17 143.585 stop 1 -0.880
XYL 2026-04-17 down long 125.210 120.800 124.750 120.100 123.350 124.750 1.400 1.118 False <NA> 2026-04-17 121.110 timeout 1 0.257
XYZ 2026-04-17 up short 68.670 70.040 69.170 70.405 69.170 69.900 0.730 1.063 False <NA> 2026-04-17 70.405 stop 1 -0.521
7. What to test next
  • Separate gap-up and gap-down variants rather than pooling them.
  • Filter by market regime or trend state before fading.
  • Exclude earnings gaps and other event-driven discontinuities.
  • Use the grid search report to see whether alternative stop and hold settings improve the mean without destroying Sharpe.