More strategies than entries, because fourteen entries are families:
one row can hold eleven separate ideas. The ledger reported 112 until the bundles were
expanded by hand. And the true configuration count is higher still, because before this
ledger existed the discarded variants were never counted at all. Both admissions are the
artifact's own thesis applied to itself.
Every verdict with its numbers. Every failure on the record. Every retraction in public.
I · Why publish failures
Everyone publishes their wins. Nobody publishes their denominator.
That asymmetry is survivorship bias applied to research itself, and it is the reason most
published backtests cannot be trusted: you are looking at the best row of a table you were
never shown. This page is the table.
I run a systematic book on Indian markets and a research process that kills most of what it
touches. The kills are not the waste product of that process; they are most of what the process
knows. A strategy that survived 143 funerals means something different from a strategy that
survived none.
Each card links to its row. The other 79 are below, and the ledger
search finds anything.
III · The credibility core
Five times the test itself was wrong, and I said so in public.
Kills prove discipline. Retractions prove the discipline points at me too.
G-052 · RETRACTED 2026-07-26The dump-day short
A +50bps/day intraday short printed t=5.1 and survived a first audit. It used full-day
volume inside a 09:45 entry signal: the volume was caused by the outcome it predicted. The
point-in-time version loses 15bps/day. Retracted with its entire downstream: pro-forma
Sharpes, a 25.5% CAGR three-way book, a leverage plan. It propagated four working sessions
before I caught it. That is the honest speed of these errors.
G-053 · RETRACTED 2026-07-26The pump-long twin
Same look-ahead, opposite sign: claimed +64bps at t=7.4, point-in-time reality -48bps at
t=-11.9. A signal that flips from monster to disaster under a timestamp audit was never a
signal.
My published explanation for why a paper failed to replicate in India, circuit-band
censoring, was itself wrong: censoring is ~4% and the effect was threshold geometry.
Retracted the explanation, kept the kill.
I t-tested a return series with a constant cost subtracted, which inflates |t|
mechanically. Raw t was insignificant. Standing rule born: significance on raw returns,
profitability on net, never t-test a deterministic constant.
G-103 · RETRACTED 2026-07-25The double-counted lever
I proposed a new structural improvement that was already live in the book's canonical
configuration, and retracted the pro-forma. Read the live config before proposing
structure.
If you have never retracted anything, you have not looked hard enough at your own work.
IV · The ledger
112 rows, grouped by cause of death.
85 rows publish below, in full or in redacted form. 24 sit too
close to the live book and are withheld pending leak review: counted here, never hidden, and
they publish redacted as review completes. A further 3 are business and go-to-market
kills rather than strategy tests, so they are counted but not shown, because nothing in them
is usable by anyone reading this. Configs counts preregistered cells actually run.
Click any row for its full card; click an id to link straight to that grave. Detailed
autopsies are being added over time.
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barbeat static on mean AND p5, netverdictmean 10.3 to 0.8 pts/wk, tail WORSE (-481 vs -428)configs run2 runs x 256 cyclesreceiptHUNT_LEDGER K4
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsameverdictworst week of program (-680 vs -428 static)configs run256receiptK4
tail identical to static, mean -1.8; stops fire post-extraction
256
K4
Stop-at-2x-credit on weekly strangle
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsameverdicttail identical to static, mean -1.8; stops fire post-extractionconfigs run256receiptK4
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barmean net > 0, t≥2verdictall 6 exitxentry cells negative; tiers hit 3-9% of expiriesconfigs run6 x ~256receiptK5
gate deletes 84% of days, adds nothing (subsample noise)
2
K5 audit
ATM CE/PE parity gate improves expiry-day entries
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bargated beats ungatedverdictgate deletes 84% of days, adds nothing (subsample noise)configs run2receiptK5 audit
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barany cell mean>0 t≥2verdict18+6 cells all negative, t to -10.7; monotone worse further OTMconfigs run24receiptK6
"Buy cheap gamma" conditioning on expiry afternoons
no-signal
cheap quintile ≥ 0
INVERTED: cheapest quintile worst (-131 to -160% of outlay)
20
K6b
"Buy cheap gamma" conditioning on expiry afternoons
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barcheap quintile ≥ 0verdictINVERTED: cheapest quintile worst (-131 to -160% of outlay)configs run20receiptK6b
Week-1 expiry long strangles (far-week premium cheap)
no-signal
k1-2 ratio ≠ theoretical
ratio 0.6746 vs 0.6745 median-|z| - priced to 4 decimals
4
K2
Week-1 expiry long strangles (far-week premium cheap)
killed2026-07-29classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bark1-2 ratio ≠ theoreticalverdictratio 0.6746 vs 0.6745 median-|z| - priced to 4 decimalsconfigs run4receiptK2
killed2026-07-29classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsurvive momentum-matched controlverdictt=6.51 raw to control -0.5; 219 events = 39 waves; momentum in costumeconfigs run6receiptK3 + fo_inclusion_test
F&O-inclusion repricing, +10% in 60 days, t=6.5. Died to a momentum-matched control: the event was carrying a factor, not an edge.
touch +0.23% vs control +0.39% fwd10, t -2.5; hold rate 36.7%
5
ema200_test
200-EMA touch = support (the folklore)
killed2026-07-31classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bartouch beats near-miss control t≥2verdicttouch +0.23% vs control +0.39% fwd10, t -2.5; hold rate 36.7%configs run5receiptema200_test
The most-watched line on retail charts. Touches lose to a near-miss control that holds nothing: the folklore fails its own bar.
The 200 specifically is special vs unwatched lengths
no-signal
200 beats placebo family beyond their spread
150/175/225/250 hold 36.3/36.4/36.3/35.9 vs 36.7 - inside noise
5
ema200_test
The 200 specifically is special vs unwatched lengths
killed2026-07-31classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar200 beats placebo family beyond their spreadverdict150/175/225/250 hold 36.3/36.4/36.3/35.9 vs 36.7 - inside noiseconfigs run5receiptema200_test
Confirmation pairing rescues EMA touches (RSI/volume)
no-signal
any pairing beats plain control
all pairings ≤ +0.50 vs control +0.59 (PIT-500 harmonized: vol combo -0.01)
8
ema200_paired + harmonized
Confirmation pairing rescues EMA touches (RSI/volume)
killed2026-07-31classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barany pairing beats plain controlverdictall pairings ≤ +0.50 vs control +0.59 (PIT-500 harmonized: vol combo -0.01)configs run8receiptema200_paired + harmonized
Retail TA battery long entries (RSI<30, MACD cross, BB touch, golden cross, 55d, vol-chase)
no-signal
any |t|≥3 positive
nothing positive clears; significant cells all NEGATIVE (BB -0.70%/21d t-5.1)
14
ta_battery
Retail TA battery long entries (RSI<30, MACD cross, BB touch, golden cross, 55d, vol-chase)
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barany |t|≥3 positiveverdictnothing positive clears; significant cells all NEGATIVE (BB -0.70%/21d t-5.1)configs run14receiptta_battery
killed2026-07-30classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barmonotone improvement in k, top cell t≥2.3verdictV-shaped: k=2 worst cell of program (-0.60%/21d t-5.2); k=3-4 positive but ~once/stock/decade, thin after costsconfigs run16receiptta_confluence
killed2026-06-20classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barP(close>open | window) ≠ .5verdictP = .508; nothing tradableconfigs run~10receiptpattern scan
Sh +0.59 gross, cut as noise at audit (corr-to-mom +0.10)
~8
options_sentiment memory
Options-sentiment cross-sectional contrarian L/S
killed2026-07-02classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsurvive senior-audit noise barverdictSh +0.59 gross, cut as noise at audit (corr-to-mom +0.10)configs run~8receiptoptions_sentiment memory
killed2026-07-0xclassno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsurvive auditverdictinitial WIN, cut as noise at senior auditconfigs run~6receiptin_hand_signal memory
killed2026-07-0xclassno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barIC t≥2verdictkilledconfigs run~4receiptin_hand memory
killed2026-07-0xclassno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barIC t≥2verdictkilled at F&O-shortable universe (t 1.22)configs run~6receiptin_hand memory
survive on BORROWABLE universe (SLB re-open TESTED)
paper t3.75 to borrowable non-F&O short-excess +0.1%/yr t0.0 hit48. The t lived in the untradeable illiquid tail
~10
KILL_AUDIT prize test
Delivery-conviction short signal
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsurvive on BORROWABLE universe (SLB re-open TESTED)verdictpaper t3.75 to borrowable non-F&O short-excess +0.1%/yr t0.0 hit48. The t lived in the untradeable illiquid tailconfigs run~10receiptKILL_AUDIT prize test
borrowable universe short-excess +0.1%/yr t0.0 - same illiquid-tail evaporation. Generalization: SLB unlocks EVENTS, never continuous cross-sectional selection
~10
same
Promoter-selling short cluster
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsameverdictborrowable universe short-excess +0.1%/yr t0.0 - same illiquid-tail evaporation. Generalization: SLB unlocks EVENTS, never continuous cross-sectional selectionconfigs run~10receiptsame
killed2026-07-0xclassno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered baradds to frontierverdictkilled (thin, redundant)configs run~8receiptdiversifier notes
killed2026-07-0xclassno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barimproves after diversificationverdictredundant once diversified; killedconfigs run~4receiptdiversifier notes
all three killed at preregistered bars; two adjacent candidates frozen or parked, identities withheld
~15
fx_prop memory
FX F3/F4/F5 (breadth campaign)
killed2026-07-18classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barprereg barsverdictall three killed at preregistered bars; two adjacent candidates frozen or parked, identities withheldconfigs run~15receiptfx_prop memory
I1 intraday cross-sectional reversion (fade morning move into close)
no-signal
net ≥ +12bps, t≥3 gross
corr(morning,afternoon) +0.002; net -27bps/d
~8
INTRADAY_HUNT B1
I1 intraday cross-sectional reversion (fade morning move into close)
killed2026-07-25classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barnet ≥ +12bps, t≥3 grossverdictcorr(morning,afternoon) +0.002; net -27bps/dconfigs run~8receiptINTRADAY_HUNT B1
killed2026-07-25classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barsame barsverdictcorr +0.008; deadconfigs run~6receiptsame
PIT trailing-volume rescue of continuation/reversion
no-signal
PIT filters revive edge
continuation WORSE with every filter; reversion-long = IS+/OOS- falling-knife lottery (median -63bps, win 38-44%)
~12
rescue attempt
PIT trailing-volume rescue of continuation/reversion
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barPIT filters revive edgeverdictcontinuation WORSE with every filter; reversion-long = IS+/OOS- falling-knife lottery (median -63bps, win 38-44%)configs run~12receiptrescue attempt
stock RISES on OFS day intraday (short -65bps t-3.1); anticipated flow is priced at the open
~6
final kills
OFS-day intraday short (scheduled forced-flow)
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barnet > 0 tradeableverdictstock RISES on OFS day intraday (short -65bps t-3.1); anticipated flow is priced at the openconfigs run~6receiptfinal kills
-6bps t-0.7 (drift spent by 09:45, open artifact); stop HURTS
~6
same
F&O ban-list entry short
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bartradeable 09:45 entryverdict-6bps t-0.7 (drift spent by 09:45, open artifact); stop HURTSconfigs run~6receiptsame
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barany cell positiveverdictevery cell negative (t -3.6 to -9.5, win 35-42%); bigger burst = worse (buying tops of mean-reverting moves); theta + double-spread + reversion all against buyerconfigs run~24receiptscalp mine
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barOOS-replicateverdictNONE replicate (signs flip train/test)configs run~27receiptmicro mine
Directional macro cues (SP500/VIX overnight to NIFTY intraday)
no-signal
PIT tradeable direction
predicts the GAP only (+53% t22 = priced at open, untradeable); open-to-close is noise. 3rd look-ahead caught pre-claim
~10
macro mine
Directional macro cues (SP500/VIX overnight to NIFTY intraday)
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barPIT tradeable directionverdictpredicts the GAP only (+53% t22 = priced at open, untradeable); open-to-close is noise. 3rd look-ahead caught pre-claimconfigs run~10receiptmacro mine
decade-STABLE IC -4.62 t-5.7 (both halves!) BUT net-of-reversal t-0.7 = reversal in disguise. Decade-stable and still redundant
~8
bulk mine
Bulk-deal net-flow signal
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barorthogonal to owned factorsverdictdecade-STABLE IC -4.62 t-5.7 (both halves!) BUT net-of-reversal t-0.7 = reversal in disguise. Decade-stable and still redundantconfigs run~8receiptbulk mine
INVERTED: the insider signal adds ~0 to call-selling EV; the edge that exists is tail-shape, not direction
~18
sell_calls_insider
Sell calls on insider-flagged "won't rise" names
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barinsider adds to call-selling EVverdictINVERTED: the insider signal adds ~0 to call-selling EV; the edge that exists is tail-shape, not directionconfigs run~18receiptsell_calls_insider
killed≤2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdicteach carried the OPPOSITE sign OOS or in controlsconfigs run~6receiptKILL_AUDIT B1
OOS-collapse family: Follow-FII, Follow-Pro, resmom, most C-series, value_ey
no-signal
-
positive IS, dead OOS - the classic
~8
B1 + prereg batches
OOS-collapse family: Follow-FII, Follow-Pro, resmom, most C-series, value_ey
killed≤2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictpositive IS, dead OOS - the classicconfigs run~8receiptB1 + prereg batches
"Refine the graveyard" itself (the meta-hypothesis)
no-signal
-
refinement rescued NOTHING; every fixable-how was already refined to its next wall at kill time. The audit (re-classify by death reason) found the one dividend, refinement found zero
n/a
KILL_AUDIT bottom line
"Refine the graveyard" itself (the meta-hypothesis)
killed2026-07-26classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictrefinement rescued NOTHING; every fixable-how was already refined to its next wall at kill time. The audit (re-classify by death reason) found the one dividend, refinement found zeroconfigs runn/areceiptKILL_AUDIT bottom line
killed2026-07-02classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barhit ≥55%, monotone in GEXverdictnon-monotone noise, hit 48%configs run5receipth2_pin
killed2026-07-02classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar≥0.1%/cycle improvementverdict<=5bps/cycle, under the barconfigs run10receipth3_rolltime
H4: conditional overnight-gap continuation (gap x GEX)
no-signal
conditioning separates
negative everywhere that matters; gaps fade
6
h2_pin_h4_gap
H4: conditional overnight-gap continuation (gap x GEX)
killed2026-07-02classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barconditioning separatesverdictnegative everywhere that matters; gaps fadeconfigs run6receipth2_pin_h4_gap
"overshoot" is information, not dislocation: hit 33%, Sharpe -2.5 WRONG WAY
4
h3_h5
H5: open-auction IV-overshoot fade
killed2026-07-02classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered barnet Sharpe ≥1.5verdict"overshoot" is information, not dislocation: hit 33%, Sharpe -2.5 WRONG WAYconfigs run4receipth3_h5
KILL with sign REVERSED: next-open buying loses, t_raw ≈ -16 (reversal real, the opposite trade is cost-walled)
~6
E16
Circuit-lock continuation long (E16)
killed2026-07-23classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictKILL with sign REVERSED: next-open buying loses, t_raw ≈ -16 (reversal real, the opposite trade is cost-walled)configs run~6receiptE16
killed2026-07-23classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdict1,189 proxy events: no dip at proxy precisionconfigs run~4receiptE8
fails inside the composite; C1 family closes fully
~5
C1-v2
Seasonal tilt inside live composite (C1-v2)
killed2026-07-24classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictfails inside the composite; C1 family closes fullyconfigs run~5receiptC1-v2
killed2026-07-24classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictTS +0.3%/yr t0.08, XS -1.0% t-0.36; consistent with 6-name breadth floorconfigs run~4receiptC6
killed2026-07-24classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictALL THREE fail as flags; "far from flag-grade"configs run~9receipttail-typing
Correlation-regime reversion + index lead-lag + flow persistence
no-signal
-
clean DOWN moves do NOT revert (sign wrong, era-flips -1.03/+0.43/+0.59); lead-lag killed; flow-persistence dead
~15
PREREG_CORR_REGIME
Correlation-regime reversion + index lead-lag + flow persistence
killed2026-07-20classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictclean DOWN moves do NOT revert (sign wrong, era-flips -1.03/+0.43/+0.59); lead-lag killed; flow-persistence deadconfigs run~15receiptPREREG_CORR_REGIME
Long-only reversal suite (T1-T4) + "buy the middle"
no-signal
-
ALL FOUR killed, the sign is the finding (India continues, doesn't revert); buy-the-middle killed BY THE VOLATILITY CONTROL (was lowvol in costume)
~12
PREREG_LONGONLY
Long-only reversal suite (T1-T4) + "buy the middle"
killed2026-07-20classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictALL FOUR killed, the sign is the finding (India continues, doesn't revert); buy-the-middle killed BY THE VOLATILITY CONTROL (was lowvol in costume)configs run~12receiptPREREG_LONGONLY
GILT kill (crisis-shape fails +0.48 down vs +0.76 up; hostile audit found daily-corr inflated by smoothing - kill stands); term/skew nothing at 0.8t; OR15 debit = strongest kill of the night
killed2026-07-22classno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictGILT kill (crisis-shape fails +0.48 down vs +0.76 up; hostile audit found daily-corr inflated by smoothing - kill stands); term/skew nothing at 0.8t; OR15 debit = strongest kill of the nightconfigs run~12receiptPREREG_STREAM 1 + audit
Participant-positioning follows (FII/Pro/Client index futures)
no-signal
-
Follow-FII the textbook trap: IS +1.35 to OOS -0.15; Pro OOS -0.9 to -1.4; the one IS+OOS survivor (fade retail) later cut as noise at senior audit
~15
POSITIONING_HUNT
Participant-positioning follows (FII/Pro/Client index futures)
killed2026-07-1xclassno-signal · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictFollow-FII the textbook trap: IS +1.35 to OOS -0.15; Pro OOS -0.9 to -1.4; the one IS+OOS survivor (fade retail) later cut as noise at senior auditconfigs run~15receiptPOSITIONING_HUNT
Early forex H-series (H-EVENT-01-DRIFT, H-HTF-LTF-01 + siblings on the forex M1/M15 DB)
no-signal/infra
-
pre-swing-ledger era: the 4h drift survivor DIED after the -3h timezone-bug fix; the HTF-LTF v1 kill no longer holds as originally stated (data was mis-timestamped both ways). Era's honest lesson: half the "findings" were the clock. Receipts = memory-era notes + retained backup tables; provenance thinner than later rows, marked as such
~15
forex_ohlcv memory notes
Early forex H-series (H-EVENT-01-DRIFT, H-HTF-LTF-01 + siblings on the forex M1/M15 DB)
killed2026-05-xxclassno-signal/infra · the hypothesis produced nothing once artifacts and controls were appliedpreregistered bar-verdictpre-swing-ledger era: the 4h drift survivor DIED after the -3h timezone-bug fix; the HTF-LTF v1 kill no longer holds as originally stated (data was mis-timestamped both ways). Era's honest lesson: half the "findings" were the clock. Receipts = memory-era notes + retained backup tables; provenance thinner than later rows, marked as suchconfigs run~15receiptforex_ohlcv memory notes
#G-112
Broken test
11infra-invalid
the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractions
close-fill vs limit-fill BRACKET reality; all cells negative both
16
K6b
Limit-fill generosity rescues zero-hero
killed2026-07-30classinfra-invalid to no-signal · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered barany fill model positiveverdictclose-fill vs limit-fill BRACKET reality; all cells negative bothconfigs run16receiptK6b
KJ failure via circuit-band censoring (my own mechanism claim)
killed2026-07-28classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered barcensored-Pareto moves the measureverdictRETRACTED publicly: censoring ~4% pooled, threshold geometry artifactconfigs run8receiptkj_audit2-4
killed2026-06-xxclassinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered barpre-2023 PIT existsverdictFY2023 XBRL cliff: free PIT B/S pre-2023 nonexistent to crash-trap factorconfigs run~4receiptbalance_sheet_cliff
+30bps t12.5 raw to lives ENTIRELY open to 09:29 (untradeable); 09:29 entry -11.5bps. Open-window artifact
~6
same
I2 overnight-gap fade intraday
killed2026-07-25classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered bartradeable after 09:29verdict+30bps t12.5 raw to lives ENTIRELY open to 09:29 (untradeable); 09:29 entry -11.5bps. Open-window artifactconfigs run~6receiptsame
**Dump-day intraday short (the retraction)** - vol≥3x + drop to short 09:45
infra-invalid
PIT-clean at entry
"+50bps t5.1 confirmed, corrA -0.19" to hostility audit: signal used FULL-DAY volume (unknowable at 09:45, caused by the outcome). PIT version -15bps t-3.0. RETRACTED with entire downstream: pro-forma Sharpe 1.74 to 2.1, 3-way 25.5% CAGR, leverage k to 3.3-3.5 ALL INVALID
~30
dump_* scripts; propagated 4 turns before caught
**Dump-day intraday short (the retraction)** - vol≥3x + drop to short 09:45
killed2026-07-26classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered barPIT-clean at entryverdict"+50bps t5.1 confirmed, corrA -0.19" to hostility audit: signal used FULL-DAY volume (unknowable at 09:45, caused by the outcome). PIT version -15bps t-3.0. RETRACTED with entire downstream: pro-forma Sharpe 1.74 to 2.1, 3-way 25.5% CAGR, leverage k to 3.3-3.5 ALL INVALIDconfigs run~30receiptdump_* scripts; propagated 4 turns before caught
A +50bps/day short at t=5.1 that used the future: full-day volume inside a 09:45 signal. Point-in-time, it loses money. Retracted with its whole downstream.
killed2026-07-26classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered barPITverdictclaimed +64bps t7.4 to PIT -48bps t-11.9configs run~8receiptsame audit
Micro-artifact family: phantom-open E4 fills, cost-shifted-t E2, settle-vs-LTP ITM marks
infra-invalid
-
test-construction artifacts caught by entry/mark decomposition
~5
B1
Micro-artifact family: phantom-open E4 fills, cost-shifted-t E2, settle-vs-LTP ITM marks
killed≤2026-07-26classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered bar-verdicttest-construction artifacts caught by entry/mark decompositionconfigs run~5receiptB1
killed; literature (Blitz-Huij-Martens) robust with a DIFFERENT recipe to bounded re-trial filed
~6
GRAVEYARD_LIBRARY D1
Residual momentum (our construction)
killed2026-07-0xclassinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered barOOS survivesverdictkilled; literature (Blitz-Huij-Martens) robust with a DIFFERENT recipe to bounded re-trial filedconfigs run~6receiptGRAVEYARD_LIBRARY D1
**RETRACTED**: scoping bar t-tested a COST-SHIFTED series (constant charge inflates |t| mechanically); raw t -1.5/-1.7 = ns. Spawned the standing rule: significance on RAW, profitability on NET, never t-test a deterministic constant
~8
BATCH5 E2 correction
F&O ban-list entry/exit drift (E2)
killed2026-07-24classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered bar-verdict**RETRACTED**: scoping bar t-tested a COST-SHIFTED series (constant charge inflates |t| mechanically); raw t -1.5/-1.7 = ns. Spawned the standing rule: significance on RAW, profitability on NET, never t-test a deterministic constantconfigs run~8receiptBATCH5 E2 correction
killed AS artifact - the "dislocation" was the stale print itself
~4
E4
Gold-ETF stale-NAV arbitrage (E4)
killed2026-07-23classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered bar-verdictkilled AS artifact - the "dislocation" was the stale print itselfconfigs run~4receiptE4
t=2.93 was ENTIRELY overlapping sessions 1-3 of month (pooling artifact)
~4
batch5
SIP-window calendar effect
killed2026-07-24classinfra-invalid · the test itself was broken (look-ahead, stale marks, artifacts); refiled honestly, and several became public retractionspreregistered bar-verdictt=2.93 was ENTIRELY overlapping sessions 1-3 of month (pooling artifact)configs run~4receiptbatch5
#G-100
Costs ate it
11cost-wall
the edge is real gross and dead net of honest Indian costs
killed2026-07-29classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet > 0 after measured costsverdictorthogonality real (-0.46) but 2bp gross vs 8bp cost; -59%/yrconfigs run~12receiptK1
all configs net-negative (infra validated, both look-ahead gates PASS)
~24
quant.intraday
Fixed-param ORB (opening range breakout) India
killed2026-06-03classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet positive any configverdictall configs net-negative (infra validated, both look-ahead gates PASS)configs run~24receiptquant.intraday
killed2026-06-02classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet after STT > 0verdictfutures STT eats the edge entirelyconfigs run4receiptVRP_FINDINGS
killed2026-07-2xclasscost-wall · the edge is real gross and dead net of honest Indian costspreregistered barSharpe after costs ≥ book barverdictt7.7 IC to Sharpe 0.31 tradable-universeconfigs run~6receiptKILL_AUDIT
killed2026-07-2xclasscost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet > 0verdictt13 gross, dead on measured costsconfigs run~10receiptKILL_AUDIT
gross +77-162%/decade real; 0.3bps/trip edge vs 40bps cost = ~-1000%/yr of cost drag on traded notional (the bankroll dies in ~5 weeks). Two orders of magnitude under
killed2026-07-26classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet > 0verdictgross +77-162%/decade real; 0.3bps/trip edge vs 40bps cost = ~-1000%/yr of cost drag on traded notional (the bankroll dies in ~5 weeks). Two orders of magnitude underconfigs run~8receiptfinal kills
killed2026-07-26classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet > 0 at any real venueverdictIC OOS +4.83% t13 GENUINELY REAL; net -62(mid)/-15(large)/-4bps(top-cap optimistic). Market efficient exactly to the cost frontierconfigs run~40receiptsystematic mine
A 15-feature reversal composite with OOS IC at t=13, genuinely real, and net-negative at every venue that would fill it. The market is efficient exactly to the cost line.
Any sub-daily horizon harvest (5m to close full sweep)
cost-wall
net > 0 any horizon
nothing clears at sub-10-day holds; what does clear lives at horizons the book already trades, so the sweep bought redundancy, not alpha
~60
horizon sweep, subdaily_fwd
Any sub-daily horizon harvest (5m to close full sweep)
killed2026-07-26classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet > 0 any horizonverdictnothing clears at sub-10-day holds; what does clear lives at horizons the book already trades, so the sweep bought redundancy, not alphaconfigs run~60receipthorizon sweep, subdaily_fwd
killed≤2026-07-26classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered bar-verdictreal gross, dead at honest round-tripsconfigs run~10receiptB2
killed; literature's surviving version is DAILY residual (liquidity provision) - likely still cost-dead here
~6
GL D4
Short-term reversal 2-4wk
killed2026-07-0xclasscost-wall · the edge is real gross and dead net of honest Indian costspreregistered barnet > 0verdictkilled; literature's surviving version is DAILY residual (liquidity provision) - likely still cost-dead hereconfigs run~6receiptGL D4
REPRODUCED-NOT-TRADEABLE: monotone, t=11.65, survives every confound (half is bid-ask bounce, residual real) - and dies on the cost realistic for that liquidity bucket
~10
PREREG_PEAD
PEAD/SUE illiquid-tail long
killed2026-07-20classcost-wall · the edge is real gross and dead net of honest Indian costspreregistered bar-verdictREPRODUCED-NOT-TRADEABLE: monotone, t=11.65, survives every confound (half is bid-ask bounce, residual real) - and dies on the cost realistic for that liquidity bucketconfigs run~10receiptPREREG_PEAD
#G-109
One era only
5regime
worked in one era, sign flips or dies outside it; an era portrait, not a law
autocorr ~0 vs 0.9, COVID not top-tail, null all horizons; power verified 0.85 to 0.78
~20
kj_* 4-audit chain
Kelly-Jiang tail-risk state transfers to India
killed2026-07-28classregime · worked in one era, sign flips or dies outside it; an era portrait, not a lawpreregistered barpaper's autocorr/vol-corr replicateverdictautocorr ~0 vs 0.9, COVID not top-tail, null all horizons; power verified 0.85 to 0.78configs run~20receiptkj_* 4-audit chain
pledge data 2021+ crisis-blind; can't validate where it matters
~4
balance_sheet memory
Promoter-pledge as crisis signal
killed2026-07-0xclassregime · worked in one era, sign flips or dies outside it; an era portrait, not a lawpreregistered barfires in crisis windowsverdictpledge data 2021+ crisis-blind; can't validate where it mattersconfigs run~4receiptbalance_sheet memory
killed≤2026-07-26classregime · worked in one era, sign flips or dies outside it; an era portrait, not a lawpreregistered bar-verdictlooked like signals, were era-portraitsconfigs run~10receiptB1 + PREREG_CRASH_CUE
every cell FLIPS SIGN by era; post-2021 arbed away
~6
B5-1 + FORCED_FLOW
Index-rebalance add/delete flow (B5-1)
killed2026-07-23classregime · worked in one era, sign flips or dies outside it; an era portrait, not a lawpreregistered bar-verdictevery cell FLIPS SIGN by era; post-2021 arbed awayconfigs run~6receiptB5-1 + FORCED_FLOW
killed2026-07-21classregime · worked in one era, sign flips or dies outside it; an era portrait, not a lawpreregistered bar-verdictprediction fails on clean methodology (reactive, not predictive); overlay tilt FAILS vs incumbent; halves disagreeconfigs run~20receiptPREREG_CRASH_CUE
#G-107
Edge given back
6handed-back
the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)
tail -95 vs -203 but mean -32%; 2x costs to negative
256 cycles
K4
Roll-tested-out adjustment as risk tool
killed2026-07-30classhanded-back · the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)preregistered barp5 +25% w/ mean cost ≤10%verdicttail -95 vs -203 but mean -32%; 2x costs to negativeconfigs run256 cyclesreceiptK4
Buyable window for naked long ATM weeklies (intraday)
handed-back
any entryxhold cell positive IS&OOS
all 78 straddle cells negative; momentum 0 cells positive
78
nifty_pattern_scan
Buyable window for naked long ATM weeklies (intraday)
killed2026-06-20classhanded-back · the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)preregistered barany entryxhold cell positive IS&OOSverdictall 78 straddle cells negative; momentum 0 cells positiveconfigs run78receiptnifty_pattern_scan
Every intraday entry-by-hold cell for buying NIFTY ATM premium: negative. All 78 of them.
premium real (+1.59 vol pts t=4.75) but direction kills unhedged
6
VRP_FINDINGS
VRP harvest naked short strangle
killed2026-06-02classhanded-back · the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)preregistered bardirection survivableverdictpremium real (+1.59 vol pts t=4.75) but direction kills unhedgedconfigs run6receiptVRP_FINDINGS
NIFTY weekly/0DTE short straddle (incl intraday sell 09:45 to 15:15)
handed-back
net > 0 or a timer rescues
breakeven t1.2 win60% worst -2.1%; best conditioner t1.8 fails 6-way multiple testing. VRP fully priced net of cost at ATM
~20
weekly options mine
NIFTY weekly/0DTE short straddle (incl intraday sell 09:45 to 15:15)
killed2026-07-26classhanded-back · the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)preregistered barnet > 0 or a timer rescuesverdictbreakeven t1.2 win60% worst -2.1%; best conditioner t1.8 fails 6-way multiple testing. VRP fully priced net of cost at ATMconfigs run~20receiptweekly options mine
Single-stock OTM wing-selling as standalone sleeve
handed-back
survives a real crash
calm alpha REAL both sides (puts +8.2, calls +5.8%/yr, beta 0.13-0.19), then the COVID test: -24% notional in ONE month (-96% on margin) wipes ~3yr; predicted-by-strike-math -25%, hit -24.0. Spreads eat the edge; crash-correlated with the rest of the book, so it fails the diversification bar; in-book it was Sharpe-neutral with a worse tail
Single-stock OTM wing-selling as standalone sleeve
killed2026-07-26classhanded-back · the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)preregistered barsurvives a real crashverdictcalm alpha REAL both sides (puts +8.2, calls +5.8%/yr, beta 0.13-0.19), then the COVID test: -24% notional in ONE month (-96% on margin) wipes ~3yr; predicted-by-strike-math -25%, hit -24.0. Spreads eat the edge; crash-correlated with the rest of the book, so it fails the diversification bar; in-book it was Sharpe-neutral with a worse tailconfigs run~64receiptgrid + cov_crash_test + stop tests + combined_book_puts
Single-stock wing-selling: real calm-market alpha both sides, then one COVID month erases three years. Predicted -25%, realized -24%.
killed≤2026-07-26classhanded-back · the premium or edge is real and the mechanism hands it back (direction risk, crash correlation, theta)preregistered bar-verdictdefined-risk hands the edge back; crash-correlatedconfigs run~15receiptB5
#G-077
Market said no
1structural-wall
unshortable, illegal, lot-size or capacity walls; the market says no
Read as a distribution, the causes of death are the finding.
60% died as no-signal. 51 of 85 published hypotheses
produced nothing once artifacts and controls were applied. That is the base rate this work
actually runs at, worth stating plainly because most published research implies the opposite
ratio.
13% died because my own test was broken. 11 rows are
infra-invalid: look-ahead in the plumbing, stale marks, a statistic computed on a cost-shifted
series, a calendar artifact. That is the number I did not expect when I started counting, and it
is the strongest argument for keeping the ledger at all, because an error rate you cannot see is
an error rate you cannot reduce.
13% were real and unharvestable. 11 rows are cost-wall: genuine
gross edge, dead net of honest costs. The most expensive kind of dead end, because they survive
every statistical check and fail only where money changes hands.
The rest divide into premium the mechanism hands back (6), era-dependence (5), and one structural wall where the market simply says no.
Recurring failure modes, in the order they have cost me most: a field only knowable
after the decision timestamp; a universe screened today and run backwards; costs assumed rather
than measured; a statistic computed on a series that was already smoothed; and a result found by
search but reported as though it were found by hypothesis.
VI · Exploratory and confirmatory
Not the same kind of evidence.
Of the 85 published rows, 29 carry a stated numeric bar fixed before the
test ran. Those are confirmatory: the result either cleared a threshold set in advance or it did
not. The remaining 56 were exploratory, run to see what was there, with the verdict
recorded afterwards.
Exploratory work is legitimate and necessary, and it is how you find out which questions are
worth asking. It is not evidence at the same strength, and treating it as though it were is
precisely the error this ledger exists to document. The preregistered bar column is the marker:
where it holds a number, the test was confirmatory. Everything appended to the forward file from
launch onward is confirmatory by construction, because the bar is committed before the result
exists.
VII · Known limitations
Three, stated because a reader would find them anyway.
Rows record what was tested and how it died, not why I believed it would work. The
rationale is the most useful field for someone learning to do this, and it is the one the
backlog lacks. Autopsies carry it and are being added over time.
The published set is not the complete set. Rows sitting too close to live book
construction are withheld, counted and stated. More importantly, configurations discarded before
this ledger existed were never recorded at all, so the true denominator is higher than the number
shown and is not recoverable.
Configuration counts are deliberately conservative. The census takes the first number
in each row's configs field, which undercounts compound entries. The recorded total is a floor
rather than an estimate.
VIII · Provenance
Timestamps, stated precisely.
"Preregistered before results" is only as good as its clock, so here is exactly what the
clock shows and exactly where it stops short.
Every preregistration file in the research repo was committed as its own commit, before any
result was appended to it. There is no case where a bar and its verdict landed together. The
gaps, though, are minutes to hours rather than days, for the plain reason that most of these
tests take minutes to run: median twelve minutes between the bar going in and the file next
being touched. Anyone treating a twelve-minute gap as strong evidence of good faith should not,
and I would rather say so than let it be discovered.
What those short follow-up commits actually contain is the part that carries more weight than
the gap. They are protocol amendments that declare their own position relative to the output,
in the file, at the time. One reads "declared after Phase-1 output, before any rescoring."
Another opens with "epistemic status declared before results: this is a same-data follow-up on
a result already seen, so directional confirmation here is not independent evidence." Writing
down that your own next test will not count as independent evidence, before running it, is a
harder discipline than preregistration and it is the one I would point at.
The limitation is real: that repository is private, because the same files contain live book
construction, so you cannot check any of this directly. What exists externally are anchors for
the flagship rows: an SSRN
working paper, dated public posts, and a retraction trail published the same day the errors
were found. From launch onward the situation inverts: new preregistrations append to the public
forward file before their results exist, and that git history is a clock anyone can audit
without taking my word for anything.
Every major kill-family was also cross-checked against the academic literature: 16 families,
7 confirmed by independent published work, 5 scoped as dead-at-my-venue but alive elsewhere,
4 flagged for bounded re-trials, and zero cases of the literature contradicting a component that
survived.
12 hypotheses are alive in some form: deployed, paper-gated, or parked as candidates. Their
construction does not publish. The ledger is about the dead; the survivors are the book.
IX · Run your own
The method is free.
Write the bar before the test. Count everything you run. Classify the deaths. Park with
named re-open conditions instead of deleting. Retract in public when the test itself was
wrong. The full method, with the table format to steal:
github.com/Finance-broski/graveyard.
Corrections welcome: measured disagreements are the good kind. Open an issue
with your numbers and method; rows change when the evidence does, and the git history keeps
every prior version. If you want this class of scrutiny on your own backtest:
Bias Check, fixed price, written verdict.
The ledger continues.
New preregistrations append to the forward file before their results exist.