GammaRips

The Lab

We publish our experiments. Including the dead ones.

Every finding below was produced on the engine's own data substrate — point-in-time, leakage-checked, with the sample size and conditions attached. This is the research that shapes how the pool is curated. When a hypothesis dies, it stays on this page with a verdict, because a methodology you can't audit is a story, not a method.

Buying the whole pool blindly is profitable

KILLED

Hypothesis. The curated pool is high-signal — so mechanically buying every contract in it each morning, under one fixed exit rule, should be profitable.

Method. Daily bracket replay of the full enriched pool (not just selected names) under the fixed same-day exit, logged to the outcome substrate. Composite tracked across the full labeled window.

Result. Robustly negative — a composite on the order of −2 to −6% per contract per day depending on window, with a win rate around 30%. The excursion data shows real winners inside the pool; the fixed exit and the blind sizing destroy them in aggregate.

What changed. This finding shaped the product. We do not publish a "buy the pool" index, we do not sell picks, and we tell you on the homepage that blind buying loses. The pool is a surface for analysis — the edge lives in selection and exits.

Reproduce it: query_outcomes + get_outcome_summary over any window you like.

Contract delta separates winners from losers

CONFIRMED

Hypothesis. Some observable, point-in-time contract feature distinguishes trades that ended up winning from those that lost.

Method. Feature-by-feature comparison of won vs. lost trades on 1,375 historically labeled trades (realized option P&L, not underlying moves), with leakage-checked, as-of-scan-time features only.

Result. Delta was the only feature that cleanly separated the two groups. A mid-delta band (roughly |delta| 0.20–0.46) concentrated the favorable outcomes; scores, narrative features, and volume statistics did not separate.

What changed. The delta band became a live ranking lever in pool curation. It is also why the data layer exposes per-contract feature vectors — the lever is only usable if you can see delta at selection time.

Reproduce it: get_pool_features + query_outcomes, group by delta bucket.

Volume/OI liquidity gates improve the pool

KILLED

Hypothesis. Filtering candidates on scan-time volume-to-open-interest and open-interest floors should remove junk and improve pool quality.

Method. Backtested the gate stack against the labeled outcome set; audited which historical winners each gate would have excluded.

Result. The gates removed real winners. Root cause: scan-time open interest is stale — the overnight sweep that makes a name interesting only becomes visible OI the next morning, so the filter punished exactly the fresh-flow setups the scanner exists to find.

What changed. The selection-time V/OI and OI gates were removed (2026-06-04). Liquidity is now handled where it is actually knowable: fresh open interest near the open, not stale snapshots at scan time.

Reproduce it: get_enriched_signal_schema documents which fields are stale-by-construction and how they are walled off.

60-day momentum adds edge to the delta band

CONDITIONAL

Hypothesis. Underlying 60-day momentum (mom_60 ≥ +0.35), stacked on the mid-delta band, beats the bullish-pool baseline.

Method. Cohort comparison on the labeled study set across exit styles: the live same-day bracket exit vs. a 3-day hold. Point-in-time momentum only; forward validation arm accruing before the lever graduates.

Result. Real but exit-conditional: the momentum-stacked cohort beats baseline under a 3-day hold and shows no detectable edge under the same-day exit. Same signal, different exit, opposite conclusion — exits are not a detail.

What changed. Momentum is used as a soft pre-rank tilt in curation, not a hard gate, and we are accruing an independent forward sample before claiming more. Published here precisely because it is fragile — that is what honest research status looks like.

Reproduce it: estimate_exit_rule with your own target/stop/horizon, then get_outcome_summary grouped by momentum.

Your agent can run these same queries

Every experiment on this page was run against the same substrate the MCP serves: the labeled outcome database, opportunity surfaces, point-in-time features, and exit-rule simulation. Connect your agent and check our work — or find what we missed.

Connect Your Agent →

Research on paper-trading data, educational only. Not investment advice. Findings are historical, conditional on the stated exit rules and windows, and not a promise of future results.

One email a week. Catch up in five minutes.

The GammaRips weekly briefing — engine state, the latest Lab experiment, and what the pool's outcome data showed. No firehose, no FOMO.

Free weekly newsletter. No spam. Unsubscribe anytime.

    We Use Cookies

    We use cookies to enhance your experience, analyze site traffic, and for marketing purposes. By clicking "Accept," you agree to our use of cookies. Read our Privacy Policy.