EthCmUsSessionCarryOverLS
Hypotheses
ETH COIN-M US-Session Return Carry-Over, Long-Short (ETHUSD_PERP.BINANCE_CM, Hourly Bars — Take the SIGN of the US-Session Move and Hold It Overnight; Pure Time-of-Day Seasonality, No Supplementary Feed, 2-Parameter)
Hypotheses
A LONG-SHORT, single-instrument directional strategy on the ETH-margined COIN-M inverse perpetual (ETHUSD_PERP.BINANCE_CM) driven by an intraday CALENDAR/SEASONALITY effect rather than by any of the exhausted mechanisms in the failure log. It deliberately fills the two most under-represented, lowest-risk buckets available: BINANCE_CM venue (3.4% vs 5% target, and only 0.06% round-trip taker cost so the per-trade edge floor is 0.10%, not 0.15%) and long-short direction (13.1% vs push-toward target). The idea is NOT a price-move gated by a non-price feed (L46 exhausted), NOT a momentum-confluence clone (L38), NOT a portfolio-construction basket (L48), NOT a cross-venue basis/liquidation edge (L47 data_unavailable), and NOT an options structure (the BINANCE_OPTIONS/DERIBIT engine graveyard). It uses OHLCV hourly bars ONLY — the no_supplementary_data tag family has the single best survival rate (3%). Core observation: crypto's trading day is not uniform. The US session (13:00–21:00 UTC) carries the heaviest institutional / ETF-linked flow, and its net directional impulse has documented positive continuation into the overnight/Asia window, whereas the Asia/EU sessions are comparatively mean-reverting noise. We measure ONE thing — the sign and magnitude of the US-session return — and take a position in that direction, holding overnight until the next US session opens.
Hypotheses
Implements the hypothesis exactly and only it: ONE measurement (the sign and magnitude of the US-session 13:00-21:00 UTC return) drives a same-direction overnight carry, with no supplementary feed, no confluence filters, and no cross-venue legs. All schedule logic is anchored to CALENDAR time derived from bar.ts_init (UTC hour-of-day and day index), never to a process-relative bar counter, so the schedule is identical across restarts, backtests and paper replay. Binance klines are stamped at OPEN time (verified in the collector and catalog), so the bar CLOSING at hour H carries timestamp hour H-1 — the code derives its reference/entry bar hours from the session parameters accordingly. calculate_signal returns a CONTINUOUS running return since the latched reference in natural fractional units every bar (never a gated constant); the once-a-day calendar gate lives in should_enter and is thresholded in the same units. A first-bar bootstrap reference keeps the signal live from bar one but is flagged not-a-session-reference so it can never trigger an entry. Venue is BINANCE_CM per the hypothesis: the strategy is genuinely long-short (shorts require a MARGIN venue) and COIN-M's ~0.10% round-trip taker on a ~0.4%+ session impulse leaves per-trade headroom; ETHUSD_PERP.BINANCE_CM-1-HOUR data is confirmed present in the catalog. Inverse sizing uses contracts_for_notional (whole $10-face contracts) rather than the linear equity/price formula — ~$50k notional is ~5000 contracts, far above min notional, so zero-trade/min-notional failure is not a risk. Entry frequency is one opportunity per day with a threshold that a typical 8-hour ETH session clears well over half the time (~150-250 trades/year), so the Layer-3 window cannot come up empty. leverage stays 1.0 — exposure never exceeds 0.6x equity — and per-trade risk is capped at 1.5% of equity by the stop, so no compounding blow-up path exists. Two tunable parameters (entry_threshold, stop_loss_pct) with clamps mirrored in _param_bounds so the optimizer never searches values the code silently rewrites.
Hypotheses
Falsified seasonality premise plus a total blow-up — not optimizable. The account LIQUIDATED on 2024-02-28 (total_return -100%, max_drawdown 100%), ~3.5 years into the window. The US-session return carry-over edge is not merely weak but negative in every year (2021 -37%, 2022 -38%, 2023 -21%, 2024 -13% into liquidation), with win_rate 14.3%, profit_factor 0.75, avg_trade_return_pct -0.142% (net negative), expectancy -$71/trade over 1,017 trades, and 35 consecutive losses — the continuation premise is the wrong sign and both legs lose. This is compounded by a catastrophic risk profile (avg_position_pct 91%, annualized_volatility 147%, kurtosis 297, stressed tercile -100%) and heavy costs (commission 23.7% of gross, $50.9k fees + $46.3k impact). No parameter change rescues an account that went to zero on a negative-expectancy signal in every regime. Failure pattern: risk_reject/no_edge liquidated single-instrument time-of-day seasonality, premise falsified (negative every year) + over-leveraged blow-up.
Implementation
Long-short time-of-day seasonality strategy on the ETH COIN-M inverse perpetual (ETHUSD_PERP.BINANCE_CM, 1-hour bars, pure OHLCV, no supplementary feed). Each UTC day it latches the close at 13:00 UTC (the US-session open) as a reference, then at the bar closing at 21:00 UTC measures the US-session return (close_21/close_13 - 1). If that return's magnitude clears entry_threshold (default 0.4%) it enters in the SAME direction — LONG after an up session, SHORT after a down session — and carries the position overnight through the Asia/EU window, exiting at the next US open (the bar closing at 13:00 UTC). A stop_loss_pct (default 3%) protective exit and a 30-bar safety cap (which only binds if a 13:00 bar is missing) also close the position. Sizing risks 1.5% of equity against the stop distance, capped at 0.6x equity gross notional, converted to WHOLE inverse contracts via contracts_for_notional ($10 face per ETHUSD_PERP contract, ETH-margined/settled).
Verification Results
CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.
Verification Results
Analyst to abandon or route back to research to re-frame as overnight reversion (enter opposite the US-session sign); a threshold/stop sweep alone cannot fix a wrong-signed edge.
Verification Results
The hypothesis's core claim (US-session moves CONTINUE overnight) appears empirically inverted in the sandbox (~89% stop-out, 10.5% win rate = overnight reversion). Code faithfully implements the stated continuation direction, so this is a hypothesis-validity finding, not a code defect — but because direction is hard-coded, optimization cannot correct it.
Verification Results
Analyst to confirm net-of-fee per-trade edge on full history; the corrected-direction edge may still be fee-marginal.
Verification Results
High fee drag: commission_pct_of_gross 29.81%, turnover 278, frequent small stop-outs. Even sign-corrected, the ~0.06% CM round trip on frequent 3%-stopped trades erodes a meaningful share of gross; per-trade edge must clear the 0.10% CM floor with margin.
Backtest Review
Clean COIN-M inverse-contract sizing via contracts_for_notional and a genuinely under-represented venue/direction bucket; pure-OHLCV with no fragile supplementary feed
Backtest Review
Account LIQUIDATED 2024-02-28: total_return -100%, max_drawdown 100%, dead ~3.5 years into the window
Backtest Review
Premise falsified — negative in every year (2021 -37%, 2022 -38%, 2023 -21%, 2024 -13% → zero); win_rate 14.3%, profit_factor 0.75, avg_trade_return_pct -0.142% (negative), expectancy -$71/trade, 35 consecutive losses
Backtest Review
Catastrophic risk/vol profile: avg_position_pct 91%, annualized_volatility 147%, return_kurtosis 297, stressed vol tercile -100%
Backtest Review
Fee/impact heavy: commission 23.7% of gross ($50.9k fees + $46.3k impact) over 1,017 trades
Iteration History
Verification failed (Layer 4 — QA review) [class=premise_falsified]:
- The US-session continuation premise is refuted by the data: the strategy is a clear net LOSER. profit_factor 0.696 (<1), total_return -45.98%, expectancy -73/trade, avg_trade_return_pct -0.147%, win_rate 10.5% over 571 trades. Taking the sign of the 13:00-21:00 UTC session move and holding it overnight loses money systematically — the overnight window does NOT continue the session impulse. Direction is implemented correctly (continuation as specified; no polarity/sequencing bug found), so this is a faithful implementation whose mechanism the sandbox refutes, not a code defect or tuning gap.
- METRICS ARTIFACT — do not be misled. Sharpe 1.49 (CI [0.43, 2.52]), Sortino 2.55, omega 1.66, PSR 0.9976 are mutually inconsistent with PF 0.696, -46% return and negative expectancy. Positive-skew + volatility-drag artifact: return_skew 1.99 with a few huge wins (largest_win $9,446 vs avg_loss $269) lifts the arithmetic mean of per-bar returns while compounding ends deeply negative, max_drawdown 59.6% with a drawdown CI reaching 99.96%. Per L17's spirit, a high Sharpe on PF<1 / negative expectancy / 10.5% win rate is an artifact, not edge — PnL-based metrics are the ground truth and say loser.
Backtest and paper results are hypothetical. Trading involves risk of loss.