# ETH edge search v3 — Round A **No validated trading edge is claimed.** This is a broad development experiment, not proof that no edge exists. The preregistered 3,888-config grid plus 72 adaptive sensitivity trials produced 632 positive after-cost development estimates. The strictly earlier-fold-selected policy then returned **-0.03896% equity/day on 52 next-fold trades**, losing in three of four folds. Positive full-development estimates must not be substituted for this result. ## Scope and reproducibility All code uses the Python standard library. v1/v2 source, scorer, tests, data and widget remain intact. The v3 execution engine is separate because maker orders, funding, leverage, sizing and non-overlapping positions change the model. Every result is a modeled execution estimate, not an exchange fill record. No live trading was performed. Offline commands: `python3 -m unittest discover -s tests -t .`; `python3 -m lab.report_v3`. The latter reconstructs the named outputs from committed compressed run records. For a fresh research clone with no v3 registry/results, `python3 -m lab.v3data fetch`, `python3 -m lab.search_v3 --jobs 3`, `python3 -m lab.neighbors_v3`, then `python3 -m lab.report_v3`. Registered searches refuse to overwrite an existing experiment. No downloaded packages are needed. ## Sealed data and coverage Data were fetched and hashed **before** the first v3 search result. `lab/data_v3/seal.json` is immutable; `configs/search-v3.json` records its hash. Search imports only burned ETH and development auxiliary data. **Round A leaves all final OHLC sealed.** The shortlist is frozen in `configs/frozen-v3.json`; `python3 -m lab.final_v3` is the separate, guarded one-time opening command. No final trade count or final Sharpe is invented. At least 100 final trades plus symbol/fold/parameter stability are required before any later edge claim. | Dataset | Coverage / bars | Status | |---|---|---| | binance_funding | 1780272000001 – 1793462400000; 459 | development only | | binance_klines | 1780272000000 – 1793490900000; 44064 | development only | | btc_full | in inherited manifest – in inherited manifest; in inherited manifest | previously-used: transfer check only | | data/ETH-USDT-SWAP_1m.csv.xz | in inherited manifest – in inherited manifest; in inherited manifest | burned v1/v2 development | | eth_2024 | 1704067200000 – 1706745540000; 44640 | untouched-v3 | | eth_new | 1794468600000 – 1794475140000; 110 | untouched-v3 | | lab/data_v2/ETH-USDT-SWAP_1m_new.csv.xz | in inherited manifest – in inherited manifest; in inherited manifest | burned v1/v2 development | | sol_full | in inherited manifest – in inherited manifest; in inherited manifest | previously-used: transfer check only | The January 2024 seal contains 44,640 confirmed ETH 1m bars, with no missing minutes. The post-v2 ETH seal has only 110 minutes: a frozen 48-hour strategy cannot produce a complete trade in it. **Check (a) is void for all ten frozen finalists**, not a measured zero-trade strategy result; the final scorer reports not_scored with null metrics. The immutable seal is not refreshed. No polling or waiting was used to manufacture more history. The inherited SOL series has one missing minute; v3 drops gapped resamples and rejects entire potential holding windows crossing gaps. This offline eligibility check reads future timestamps and can change SOL eligibility even for trades that would exit before the gap; it is not a causal live execution simulation around that gap. ETH development is gap-free. BTC and SOL had already been used by v1/v2, so **they cannot honestly be called untouched**. Their full inherited periods are sealed for transfer checks only. The task’s request for previously untouched BTC/SOL cannot be fulfilled retroactively; January 2024 and post-v2 ETH are genuinely new data, with limited usable checks. **January warm-up:** 44,640 minutes yield only 186 completed 4h bars. EMA200 plus its prior value requires 201. The final scorer refuses trend, session_trend and the entire regime_switch strategy on January, rather than silently removing its trend leg. For longer series it explicitly reports and excludes the warm-up prefix. No extra historical prices were opened or used in this revision. **Frozen ML calendar:** terminal ETH weights have labels ending before development end minus one day and are available only at development end. They may score later post-cutoff windows only. Logistic/meta_fade are refused for the overlapping BTC/SOL calendars and for the earlier January 2024 era. Those checks have null metrics and an invalid_model_calendar reason, never an out-of-sample ML transfer claim. Binance ETH USD-M 5m klines and realized funding archives cover June 1–October 31, 2026 (44,064 bars; 459 funding observations). Only June 5 onward overlaps the ETH development set. Taker imbalance = 2×taker-buy-volume/total-volume−1, available only after the 5m candle closes and never backfilled; stale values expire after five minutes. Funding signal values expire after 12h. Binance prices also yield an aligned cross-venue basis feature. Funding is a **Binance proxy**, not actual OKX/decentralized venue funding; outside coverage, debit 1bp per UTC 8h settlement with no credits. Actual venue funding/mark prices, spread, queue position and historical tick size are unavailable. Basis and funding are computed and causality-tested but are not standalone searched signal families. Relative-strength, boosted trees and partial-profit exits were not searched. Sources: [OKX public historical candles](https://www.okx.com/docs-v5/en/#rest-api-market-data-get-candlesticks-history), [Binance public archive](https://data.binance.vision/), [Binance archive format](https://github.com/binance/binance-public-data). Exact download URLs, source ZIP hashes, cache hashes, timestamp ranges and missing-bar counts are in the seal; all actual cache bytes are delivered. ## Search and validation design 12 families × 6 signal timeframes (1m,5m,15m,30m,1h,4h) × 3 maximum holds (30m,4h,48h) × 3 executions (taker, maker-entry/taker-exit, maker-entry/maker-target) × 3 leverages (10,20,50) × 2 sizing modes = **3,888**. ATR stop/target are 1.5/2 for 30m holds and 3/5 for longer holds; 48h holds trail from completed minute closes. Limits rest 0.1 ATR beyond signal close for three minutes. The sensitivity registry changes stops, targets, holds and maker offsets around ten family winners; these are additional adaptive trials, not independent confirmation. Nested validation uses expanding development with outer days 60–85,85–110,110–135,135–160. At each boundary, choose a config using only earlier 10-day inner validation folds, ending one full day before the outer test. Purge any trade whose signal or complete exit falls outside a fold. Require 20 inner trades. Choose FLAT when the best inner score is nonpositive. The early 30 days initialize features and train ML; rule configs also share this evaluation start. Logistic labels use the first signal-timeframe bar open at or after signal close +30 minutes: actual horizons are 30 minutes on 1m–30m, 60 minutes on 1h, and 240 minutes on 4h. They retrain on a fixed 10-day schedule using labels ending before the block minus one day. Logistic and meta-fade thresholds are fixed, not fitted on outer data. Model training samples are at least an hour apart; these timeframe-rounded labels do not overlap. Models may learn from earlier completed outer observations in a later block under this frozen online rule. Full-development rankings and adaptive neighbors are discovery statistics only. **Feature comparability:** frozen v3 breach-reentry uses a 3.5σ price breach on every timeframe, including 1m; the owner/v1/v2 1m baseline is 3.0σ. This is a v3 variant, not an exact baseline reproduction. Momentum spans max(1, floor(60/TF)) bars: one hour through 1h, but one 4h bar at TF=240. Existing feature definitions and search records are preserved; these documentation corrections do not retrofit different signals into old results. | Outer fold | Selected ID | Inner %/day | Next-fold %/day | Trades | |---|---|---:|---:|---:| | 1 | `efc4279620d0217f` | 0.24580 | -0.05159 | 14 | | 2 | `8e3d24568c696980` | 0.14810 | -0.04298 | 11 | | 3 | `efc4279620d0217f` | 0.09787 | 0.02344 | 17 | | 4 | `aa7ff7ff1718e00a` | 0.11981 | -0.08470 | 10 | ## Execution and risk assumptions Signals use closed candles; taker entries occur at the next minute open. Taker fees are 4.5bp/side and slippage 1bp/fill on **every** timeframe. Maker fees are 1.5bp/side. A post-only entry marketable at submission is canceled, never converted to taker. A resting order fills only after a trade-through of at least the modeled 0.01 quote-unit tick. Favorable gap improvement is never credited. No target is credited on a maker-entry minute, and adverse events take priority in ambiguous OHLC minutes. Maker exits require target trade-through; stops, trailing and time exits remain taker. No queue-position or book-liquidity guarantee is implied. Adverse selection is checked using next-minute-close markouts and missed-fill returns, never by rejecting losing fills with future knowledge. **Fill rates and missed-return diagnostics cover the full 160-day cache (including the first 30 days); scored trade means cover days 30–160. Missed returns are no-stop next-open-to-horizon shadow returns**, whereas filled gross reflects actual stops/targets: their difference is descriptive, not causal attribution. One position per configuration; reserve it until the exit minute ends. No overlapping portfolios or cross-margin assumptions. Commit 1% of current account equity as isolated margin per trade. Vol sizing multiplies that by clip(0.003/current ATR fraction,0.2,1). Leverage changes both liquidation distance (1/L−0.0005 adverse) and notional exposure. Liquidation loses margin plus fees/funding; there is no favorable return cap. Full accounting includes compounded equity and chronological drawdown. Scoring/selection use additive percent-of-equity return per elapsed day, so the percentage is not a compounded daily growth rate. OHLC price is a liquidation proxy; real mark-price liquidations, tiered maintenance and gap insurance are not reconstructed. ## Full result distribution Across 3960 v3 trials: 1720 have positive gross trade means; 632 positive after-cost equity/day; 2195 have at least 100 development trades. | Quantile | Net equity %/day | Net bp/trade | |---|---:|---:| | 0 | -3.27090 | -349.218 | | 0.01 | -1.37587 | -63.211 | | 0.05 | -0.60696 | -25.549 | | 0.25 | -0.08430 | -11.565 | | 0.5 | -0.01777 | -8.407 | | 0.75 | -0.00215 | -4.376 | | 0.95 | 0.00925 | 33.175 | | 0.99 | 0.04683 | 127.791 | | 1 | 0.12964 | 181.346 | Every tried config, fold result, daily return vector, fees, slippage, funding, liquidations, fill rate, missed-return mean, lineage and approximate DSR is in `artifacts/leaderboard_v3.json`. Compressed v3 records under `lab/runs_v3/` allow offline regeneration; the required outputs themselves are uploaded separately. ## Ten promising directions — hypotheses, not recommendations Representatives were chosen on the entire development period, including these outer slices. Positive-slice counts are selection-conditioned in-sample consistency only; the nested next-fold policy above is the out-of-sample evidence. | Rank / family | TF / maximum hold / execution | n | Gross bp | Net bp | % equity/day | Positive outer slices (in-sample) | |---|---|---:|---:|---:|---:|---:| | 1. regime_switch | 60m / 2880m / taker | 57 | 60.29 | 48.38 | 0.10607 | 3/4 | | 2. logistic | 60m / 2880m / maker_both | 86 | 36.49 | 29.80 | 0.09857 | 2/4 | | 3. meta_fade | 60m / 2880m / taker | 61 | 51.48 | 40.07 | 0.09401 | 3/4 | | 4. sigma_fade | 60m / 2880m / taker | 63 | 41.19 | 29.76 | 0.07211 | 3/4 | | 5. trend | 60m / 2880m / maker_both | 53 | 33.96 | 26.73 | 0.05449 | 3/4 | | 6. breakout | 60m / 2880m / maker_both | 34 | 34.49 | 27.83 | 0.03639 | 2/4 | | 7. rsi_fade | 60m / 2880m / maker_both | 29 | 34.69 | 27.53 | 0.03071 | 2/4 | | 8. confluence | 60m / 2880m / taker | 42 | 21.28 | 9.50 | 0.01535 | 3/4 | | 9. session_trend | 30m / 2880m / maker_both | 29 | 16.91 | 10.36 | 0.01156 | 3/4 | | 10. flow_follow | 240m / 2880m / taker | 52 | 17.79 | 4.38 | 0.00877 | 2/4 | **1. regime_switch — `8e3d24568c696980`.** Fees 9.00bp, slippage 2.00bp, funding 0.48bp per trade; liquidations 6, drawdown 3.51%. Fill rate 100.0%; missed shadow gross not applicable; next-minute-close markout 2.79bp. neighbor range 0.07334 to 0.09014%/day (5 trials). What blocks an edge claim: 57 development trades are not 100 final trades; only 3/4 positive in-sample outer slices (selected using these same slices); DSR=0.0025985; symbol checks remain sealed. **2. logistic — `efc4279620d0217f`.** Fees 5.30bp, slippage 0.77bp, funding 0.21bp per trade; liquidations 9, drawdown 5.21%. Fill rate 51.8%; missed shadow gross 52.37bp; next-minute-close markout -0.43bp. neighbor range 0.01864 to 0.12964%/day (10 trials). What blocks an edge claim: 86 development trades are not 100 final trades; only 2/4 positive in-sample outer slices (selected using these same slices); DSR=0.012504; symbol checks remain sealed. **3. meta_fade — `aa7ff7ff1718e00a`.** Fees 9.00bp, slippage 2.00bp, funding -0.05bp per trade; liquidations 7, drawdown 4.72%. Fill rate 100.0%; missed shadow gross not applicable; next-minute-close markout -1.47bp. neighbor range 0.04402 to 0.09388%/day (5 trials). What blocks an edge claim: 61 development trades are not 100 final trades; only 3/4 positive in-sample outer slices (selected using these same slices); DSR=0.0041642; symbol checks remain sealed. **4. sigma_fade — `cac42682180b9e08`.** Fees 9.00bp, slippage 2.00bp, funding -0.08bp per trade; liquidations 8, drawdown 5.06%. Fill rate 100.0%; missed shadow gross not applicable; next-minute-close markout -1.77bp. neighbor range 0.03921 to 0.07596%/day (5 trials). What blocks an edge claim: 63 development trades are not 100 final trades; only 3/4 positive in-sample outer slices (selected using these same slices); DSR=0.002188; symbol checks remain sealed. **5. trend — `dc64df023187b902`.** Fees 5.37bp, slippage 0.79bp, funding 0.70bp per trade; liquidations 5, drawdown 4.16%. Fill rate 67.9%; missed shadow gross 96.27bp; next-minute-close markout -0.30bp. neighbor range -0.03765 to 0.05809%/day (10 trials). What blocks an edge claim: 53 development trades are not 100 final trades; only 3/4 positive in-sample outer slices (selected using these same slices); DSR=0.00013863; symbol checks remain sealed. **6. breakout — `ee1db49b1ffa3fed`.** Fees 5.20bp, slippage 0.73bp, funding 0.26bp per trade; liquidations 4, drawdown 3.51%. Fill rate 66.7%; missed shadow gross 55.49bp; next-minute-close markout 3.84bp. neighbor range -0.01362 to 0.05760%/day (10 trials). What blocks an edge claim: 34 development trades are not 100 final trades; only 2/4 positive in-sample outer slices (selected using these same slices); DSR=0.00038441; symbol checks remain sealed. **7. rsi_fade — `b1843a560b4db53e`.** Fees 5.50bp, slippage 0.83bp, funding 0.14bp per trade; liquidations 5, drawdown 2.58%. Fill rate 58.2%; missed shadow gross 41.37bp; next-minute-close markout -0.50bp. neighbor range 0.00068 to 0.04496%/day (10 trials). What blocks an edge claim: 29 development trades are not 100 final trades; only 2/4 positive in-sample outer slices (selected using these same slices); DSR=0.00024788; symbol checks remain sealed. **8. confluence — `5f798488c0cabc89`.** Fees 9.02bp, slippage 2.01bp, funding -0.01bp per trade; liquidations 8, drawdown 5.29%. Fill rate 100.0%; missed shadow gross not applicable; next-minute-close markout -3.44bp. neighbor range -0.00501 to 0.01568%/day (5 trials). What blocks an edge claim: 42 development trades are not 100 final trades; only 3/4 positive in-sample outer slices (selected using these same slices); DSR=0.00017164; symbol checks remain sealed. **9. session_trend — `6e93d7b0a15b6e55`.** Fees 5.27bp, slippage 0.76bp, funding 0.38bp per trade; liquidations 1, drawdown 3.07%. Fill rate 55.8%; missed shadow gross -45.23bp; next-minute-close markout -0.64bp. neighbor range -0.00031 to 0.02740%/day (7 trials). What blocks an edge claim: 29 development trades are not 100 final trades; only 3/4 positive in-sample outer slices (selected using these same slices); DSR=7.1203e-05; symbol checks remain sealed. **10. flow_follow — `6656a86c82bd55ce`.** Fees 9.00bp, slippage 2.00bp, funding 0.71bp per trade; liquidations 22, drawdown 8.87%. Fill rate 100.0%; missed shadow gross not applicable; next-minute-close markout -0.23bp. neighbor range -0.01518 to 0.02017%/day (5 trials). What blocks an edge claim: 52 development trades are not 100 final trades; only 2/4 positive in-sample outer slices (selected using these same slices); DSR=3.6775e-05; symbol checks remain sealed. ## Leverage sensitivity of the ten directions | Family | 50x %/day (liq) | 20x %/day (liq) | 10x %/day (liq) | |---|---:|---:|---:| | regime_switch | 0.10607 (6) | 0.04800 (0) | 0.02400 (0) | | logistic | 0.09857 (9) | 0.03588 (0) | 0.01794 (0) | | meta_fade | 0.09401 (7) | 0.03863 (0) | 0.01931 (0) | | sigma_fade | 0.07211 (8) | 0.02934 (0) | 0.01467 (0) | | trend | 0.05449 (5) | 0.01760 (0) | 0.00880 (0) | | breakout | 0.03639 (4) | 0.01295 (0) | 0.00647 (0) | | rsi_fade | 0.03071 (5) | 0.01480 (0) | 0.00740 (0) | | confluence | 0.01535 (8) | 0.00664 (0) | 0.00332 (0) | | session_trend | 0.01156 (1) | 0.00464 (0) | 0.00232 (0) | | flow_follow | 0.00877 (22) | 0.00301 (0) | 0.00151 (0) | ## Cost and fill distribution | Maximum hold / execution | Median gross bp | Median net bp | Median fees bp | Median slip bp | Median fill rate | |---|---:|---:|---:|---:|---:| | 30m / taker | -0.20 | -11.20 | 9.00 | 2.00 | 100.0% | | 30m / maker | -1.32 | -8.32 | 6.00 | 1.00 | 68.8% | | 30m / maker_both | -1.34 | -7.63 | 5.83 | 0.94 | 68.8% | | 240m / taker | 0.08 | -11.04 | 9.00 | 2.00 | 100.0% | | 240m / maker | -1.66 | -8.87 | 6.00 | 1.00 | 69.8% | | 240m / maker_both | -1.66 | -7.68 | 5.73 | 0.91 | 69.8% | | 2880m / taker | 1.06 | -10.21 | 9.00 | 2.00 | 100.0% | | 2880m / maker | 0.25 | -6.74 | 6.00 | 1.00 | 73.1% | | 2880m / maker_both | 0.25 | -5.84 | 5.35 | 0.79 | 73.1% | Fees dominate the modeled explicit transaction costs (4.5bp vs 1bp on each taker fill). Maker filtering and adverse selection cannot be decomposed into a guaranteed bp saving with OHLC data. The leaderboard exposes both filled/missed diagnostics and matched execution variants. Liquidation costs add a separate adjustment (gross minus fees, slip, funding and net); this reconciles the net cost bridge because isolated-margin liquidation replaces the ordinary exit return. Strongest observed discovery result, including adaptive tests: `8c6176fab4c83b51`, {'family': 'logistic', 'tf': 60, 'hold_min': 2880, 'execution': 'maker_both', 'leverage': 50, 'sizing': 'fixed', 'stop_atr': 3.0, 'target_atr': 5.0, 'offset_atr': 0.05, 'trailing': True, 'tick': 0.01}, 104 trades, 0.12964% equity/day, 39.10bp gross and 32.41bp net per trade. It is reported even though it was adaptively selected; it is not the nested policy result. ## What costs and selection killed Short holds pay roughly 11bp round-trip taker cost versus roughly 3bp for a filled maker round trip; the 8bp apparent saving is not free because marketable orders cancel, limits miss moves, and maker fills select a different price path. Use each family row and paired execution configs to distinguish fees/slippage from fill selection. Funding is usually smaller per trade here but grows with hold length; wide stops at 50x encounter liquidation before the intended stop. Longer holds have the largest gross moves and some survive modeled costs in discovery, but sparse samples, leverage liquidation, unstable next-fold selection and multiplicity block the profitability inference. Flow-follow/fade have real historical inputs, but coverage ends October 31 and their samples cannot be compared as if they traded the whole 160-day period. ## Multiplicity and limits Recorded v1=252, v2=204, additional old neighbor evaluations=504; v3=3960. Total recorded configuration-evaluation lower bound=4920; including both legacy entry/exit arms gives 5880 arms for DSR. Legacy summaries also contain cross-symbol robustness checks, not extra selectable ETH configs. Unlogged experiments cannot be reconstructed; these counts are deliberately called lower bounds. White reality check is against **FLAT**, using common development calendar days 30–130, centered paired circular 5-day blocks, 999 bootstrap resamples, seed 20261112. Across 4872 recorded daily vectors, p=0.9200; observed best 0.18939%/day versus 95% null-max 0.42561%/day. 1008 historical neighbor-arm daily vectors were not saved, so the **global conservative p upper bound is 1**. Their counts enter DSR, but inventing vectors would produce a false exact White test. Approximate DSR uses all recorded arms, skew/kurtosis and positive lag1–5 autocorrelation inflation. Neither correction certifies adaptive-search validity, nonstationarity or market execution. The v1/v2 scorer differs from v3 and its old daily returns are used only to penalize multiplicity, never advertised as comparable v3 fills. ## Tests and remaining work The offline Python suite covers all new feature and rule prefix invariance, external release times, higher-timeframe completion, future-label perturbation, prequential embargo, gap/incomplete-bar handling, maker tick-through/cancellation/ambiguous paths, costs, liquidation, sizing, funding, non-overlap, purging and selection invariance to outer outcomes. See `lab/runs_v3/validation.json` for the actual validation record. Next step: review these frozen hypotheses and assumptions before spending the final seals. The scorer now explicitly refuses short-window, uninitialized higher-timeframe and invalid ML-calendar checks. A one-time opening cannot repair those unavailable checks or erase prior BTC/SOL use. An unsupported edge claim would be worse than the measured negative nested result. This bounded search does not prove the absence of an ETH edge. ## Review: maker assumptions and concentration These additional development-only fill sensitivities are adaptive trials, included in the leaderboard, DSR trial count and White vectors. Tick changes trade-through depth **and** price rounding, reproducing the review; it is not a calibrated queue model. The 0.01 default satisfies one-tick-through but is only ~0.045bp near ETH $2,231. Maker winners are assumption-sensitive hypotheses; their ranking does not establish a robust maker premium. | Family / parent | Tick / through depth (quote units) | n | Net equity %/day | Full-cache fill rate | |---|---:|---:|---:|---:| | rsi_fade / `b1843a560b4db53e` | 0.01 | 29 | 0.03071 | 58.2% | | rsi_fade / `b1843a560b4db53e` | 0.3 | 27 | 0.01491 | 54.5% | | rsi_fade / `b1843a560b4db53e` | 1.0 | 21 | 0.00392 | 43.6% | | rsi_fade / `b1843a560b4db53e` | 3.0 | 12 | 0.00068 | 24.6% | | trend / `dc64df023187b902` | 0.01 | 53 | 0.05449 | 67.9% | | trend / `dc64df023187b902` | 0.3 | 47 | 0.04683 | 56.6% | | trend / `dc64df023187b902` | 1.0 | 38 | 0.03519 | 43.2% | | trend / `dc64df023187b902` | 3.0 | 18 | -0.03765 | 18.2% | | breakout / `ee1db49b1ffa3fed` | 0.01 | 34 | 0.03639 | 66.7% | | breakout / `ee1db49b1ffa3fed` | 0.3 | 28 | 0.05428 | 56.2% | | breakout / `ee1db49b1ffa3fed` | 1.0 | 24 | 0.05760 | 48.5% | | breakout / `ee1db49b1ffa3fed` | 3.0 | 7 | -0.01362 | 10.8% | | logistic / `efc4279620d0217f` | 0.01 | 86 | 0.09857 | 51.8% | | logistic / `efc4279620d0217f` | 0.3 | 79 | 0.03886 | 44.1% | | logistic / `efc4279620d0217f` | 1.0 | 56 | 0.08262 | 25.8% | | logistic / `efc4279620d0217f` | 3.0 | 22 | 0.04662 | 8.1% | Matched taker comparisons: - rsi_fade: matched taker `41594ac9619735f2`: 0.00932%/day, 41 trades. All are in-sample development comparisons. - trend: matched taker `0462edf2a33ee9aa`: 0.02799%/day, 66 trades. All are in-sample development comparisons. - breakout: matched taker `e2da1b9083e9fb42`: -0.00089%/day, 46 trades. All are in-sample development comparisons. - logistic: matched taker `849c19bd6ef1c29b`: 0.07439%/day, 114 trades. All are in-sample development comparisons. Top family representative `8e3d24568c696980`: 57 trades; additive equity gain 13.7895%. The three best contribute 7.6105% (55.2% of net); without them, 6.1790%. Exit counts: {'liq': 6, 'stop': 28, 'target': 15, 'time': 8}. This concentrated, liquidation-exposed estimate is weak discovery evidence, not an edge claim. Removing winners is a descriptive stress test, not an investable alternative strategy.