Model-Family Search: The Tuesday No-Go Report

Daniel Ratke
Research & Engineering
Model-Family Search: The Tuesday No-Go Report
The May 12 search did not find a paper-promotable family. DTE 2-5 UOA had weekly Sharpe -0.175 and PBO 0.8585, filter mining had 24 positive standalone variants but zero promotion-safe rows, and 31,344 near-miss combinations produced zero scout-ready or promotion-safe candidates.

Term map
Backtesting vocabulary for this article
Treat signal timestamp, point-in-time universe, quote-aware fill, reject reason, replay artifact, walk-forward test, and cache key as first-class terms. They separate reproducible research from a backtest that only preserves the final performance table.
Follow the linked definitions for Point-in-time contracts, Quote-aware fills, Reject reasons, Replay artifact, Cache key, Signal timestamp, Look-ahead leakage, Walk-forward test, Slippage model, Same-bar fill, Promotion gate, and Options data API.
Read this article with Options Backtesting API, Backtesting Framework, Backtesting Data Quality Checklist, Backtesting Execution Realism, Quote-Aware Options Backtests, and Backtest to Paper Trading Parity Checklist.
Repository reference: cutebacktests
Abstract
The May 12 search did not find a new promotable model family. That is the headline, and it is useful precisely because it is not flattering.
After the May 8 UOA false start, the research loop widened across high-priority UOA variants, free or cheap source families, put-flow branches, late-session continuation, reversal/fade mechanics, and near-miss combinations. The result was a cleaner map of what did not work. Several rows had positive standalone PnL. None became a basket-first paper candidate.
Question
The Tuesday question was not "can we find a green row?" We already had green rows.
The real question was whether any branch could become additive to the current R45 paper basket while staying options-only, causal, quote-aware, and supportable enough for promotion.
Method
The search used the same promotion philosophy as the rest of the repository:
- standalone PnL is diagnostic, not sufficient;
- the candidate has to improve the active basket;
- residual PnL cannot come from only one or two days;
- PBO and DSR must survive selection pressure;
- option execution evidence must fail closed instead of silently filling from stale or missing quotes.
The main evidence came from the May 12 model-family coverage audit and its branch decision notes.
Evidence
The high-priority UOA branches mostly failed for different reasons:
| Branch | Evidence | Result |
|---|---|---|
| DTE 2-5 quote-strict UOA | 312 combined trades, weekly Sharpe -0.175, diagnostic PBO 0.8585 | Failed before concentration mattered |
| Premium/liquidity/regime follow-flow filters | 24 positive standalone variants, 0 scout-ready, 0 promotion-safe | Failed active-basket additivity |
| Late-morning / midday continuation | best cached tail row failed ex-March/April stress with PBO about 0.983 | Failed robustness |
| Put-flow outside crash days | DTE1 puts-only had 37 trades and positive standalone PnL, but insufficient residual support | Not solved |
| Reversal/fade after extreme flow | best profile had 9 trades, 6 days, weekly Sharpe 0.214, DSR 0.488, PBO 0.97625 | Failed local support |
The secondary family set did not rescue the search. Cboe PCR, FRED rates and credit, SEC/FINRA/CFTC/event-pressure sources, cached breadth, and R8 public/context families all failed active-basket checks.
The near-miss combination check was also decisive. It rescored 66 candidates and scanned 31344 pair/triple combinations. The result was 0 scout-ready and 0 promotion-safe combinations. Some combinations improved daily Sharpe, but the residual PnL was still concentrated on roughly 4 days, often with top-3 residual share near 1.0.
What Worked
What worked was the search discipline. The process did not keep relaxing gates until something passed. It let each branch fail for the specific reason the evidence supported.
Model-family research gets expensive when every near miss stays alive. May 12 narrowed the opportunity set. UOA follow-flow needed a new mechanic, not another timing mask. Public macro and breadth sources looked better as context than as standalone sleeves. Near-miss combinations were not a hidden portfolio solution.
What Failed
The main failure was residual-day support. Many candidates could produce attractive local numbers, but the active-basket contribution came from too few days. That is not a paper-trading edge. It is a concentration problem wearing a strategy label.
The second failure was robustness. Some rows looked positive until March/April or other favorable windows were removed. Others had PBO or DSR evidence that was too weak to justify paper promotion.
The third failure was execution readiness. A branch that cannot preserve quote-strict, options-only fills has to stop before paper, even if the virtual row looks useful.
On Paper Trading
The Tuesday no-go result is also a useful way to explain paper-trading issues that show up in many research stacks. Paper trading should protect the system from weak candidates before they start producing noisy live evidence, and is more than a switch that turns a backtest into simulated orders.
Common issues we see teams encounter:
- a candidate can improve standalone metrics while adding little to the active book;
- residual PnL can come from too few days, making paper results hard to interpret;
- quote-strict rows can become too sparse once live freshness and spread checks are applied;
- different variants can overlap so heavily that paper trading them together only duplicates exposure;
- sparse strategies can spend many sessions doing nothing, which makes progress hard to measure.
The integrated paper trading module we are building is meant to make those cases visible earlier. It will track why a model did not trade, whether a skipped setup was intentional, whether quote checks failed, and whether a candidate is actually additive to the active paper book.
Takeaway
May 12 was a no-go day, but it made the next success possible. The research loop learned that filtering the same sparse UOA row set would not solve the problem, that free-source context was not enough on its own, and that deconcentrating near misses was weaker than finding a genuinely different option expression.
The useful instruction coming out of Tuesday was clear: stop trying to rescue the same families, and search for a new executable option structure with cleaner basket additivity.
Related workflow
For the Model-Family Search: The Tuesday No-Go Report workflow, continue through Options Backtesting API, Backtesting Framework, Backtesting Execution Realism, Backtesting Data Quality Checklist, Quote-Aware Options Backtests, and Backtest to Paper Trading Parity Checklist.
How the terminology applies
For Model-Family Search: The Tuesday No-Go Report, the backtesting workflow should treat Point-in-time contracts, Quote-aware fills, Reject reasons, Replay artifact, Cache key, and Signal timestamp as operational state rather than glossary decoration. That framing keeps the research claim causal: the strategy can only select instruments, prices, and labels that existed at the decision time.
A developer implementing this Research Log idea should persist Look-ahead leakage, Walk-forward test, Slippage model, Same-bar fill, Promotion gate, and Options data API beside the result, instead of leaving those words in a term card. It also turns attractive performance into an auditable record where fills, skips, thresholds, and replay inputs can be challenged independently.
The review artifact for Model-Family Search: The Tuesday No-Go Report becomes more useful when OPRA-originating data, OCC option symbol, Bid/ask spread, Midpoint, Quote/trade condition, and Quote vs trade semantics appear in the same body of evidence as the selected rows. When a result is promoted, these fields should appear in the run manifest, rather than a prose summary or final equity curve.
In production notes for this backtesting workflow, REST snapshot, WebSocket stream, Entitlement gate, Quote freshness, Timestamp semantics, and Pagination cursor define the checks that decide whether the workflow is reproducible. The result is a backtest that can be rerun, compared across threshold families, and rejected when the evidence is not strong enough.
For Model-Family Search: The Tuesday No-Go Report, the practical acceptance test is simple: another developer should be able to read the body, identify the exact inputs, reproduce the request sequence, and explain the accepted and rejected rows without relying on the bottom terminology grid. If a phrase appears in the page vocabulary, it should correspond to a stored field, a validation check, a replay step, or an implementation decision in the backtesting workflow.
This is also the reason the article should not measure success only by the final chart, table, or headline metric. The better standard is whether the data path, timing model, entitlement state, and evidence trail survive review. When those pieces are written directly into the body, the terminology becomes part of the workflow readers can implement.
Terminology
Market-data terms used in this article
These terms keep the article connected to the CuteMarkets knowledge base and to the exact API workflow behind the research.
Point-in-time contracts
Contract discovery anchored to the research date so a backtest does not use future listings.
Quote-aware fills
Entry and exit assumptions based on bid/ask quotes, quote age, spread width, and side-specific fill rules.
Reject reasons
Logged explanations for skipped contracts or fills, including stale quote, wide spread, no bid, or missing data.
Replay artifact
The saved request, selection, fill, reject, and metric record that lets another developer audit the backtest.
Cache key
The structured identifier that keeps provider, endpoint, ticker, timestamp, plan, and schema state from being mixed.
Signal timestamp
The exact time a strategy made a decision, used to reconstruct the visible universe and quote window causally.
Look-ahead leakage
A research error where a fill, contract, indicator, or label uses information unavailable at decision time.
Walk-forward test
A validation method that repeatedly trains and evaluates across separated time windows instead of trusting one optimized sample.
Slippage model
A fill-cost assumption based on bid/ask side, midpoint, spread percent, quote age, and liquidity policy.
Same-bar fill
An intraday backtest assumption that can become invalid when signal, entry, stop, and target ordering is ambiguous.
Promotion gate
The written threshold that decides whether a research candidate can move into paper trading or production monitoring.
Options data API
The product surface for chains, contracts, quotes, trades, aggregates, Greeks, IV, open interest, and expirations.
OPRA-originating data
The U.S. listed-options source context behind quotes, trades, exchange participation, and consolidated option-market records.
OCC option symbol
The exact option contract identifier that preserves root, expiration, call or put side, and strike.
Bid/ask spread
The execution interval between bid and ask that determines whether a contract is realistically tradable.
Midpoint
The computed center between bid and ask, useful as a reference price but not proof that an order would fill.
Quote/trade condition
The condition-code, exchange, correction, sequence, and timestamp context that explains how a quote or trade row can be used.
Quote vs trade semantics
The distinction between executable bid/ask markets, printed transactions, and bar-level summaries.
REST snapshot
A reproducible request for current or historical market state, used for initialization, backfills, and audit logs.
WebSocket stream
A persistent live connection that needs subscription topics, reconnect tracking, freshness labels, and REST repair paths.
Entitlement gate
The product, plan, quote, live, delayed, historical, or commercial-use boundary checked before data is shown.
Quote freshness
The age, timestamp, and live or delayed state of a bid/ask record before it is used in a scanner, backtest, or UI.
Timestamp semantics
The exchange, provider, ingestion, session, and application time context attached to a market-data record.
Pagination cursor
The continuation token or next URL that keeps large chains, trades, quotes, and historical windows complete.
FAQ
Related questions
Why was May 12 a no-go day?
Most branches failed active-basket additivity, residual-day support, robustness, or quote/execution readiness even when some standalone rows were positive.

Written by
Daniel Ratke
Research & Engineering
Daniel covers the deeper research notes: options backtesting, execution realism, robustness testing, data engineering, and strategy validation.
Product links
Build the workflow with CuteMarkets
This article is part of the broader CuteMarkets product and research stack. Use the landing pages below to move from the blog into the specific API workflow you want to evaluate.
Beginner options path
Send newcomers to the beginner path for calls, puts, chains, Greeks, IV, and risk.
Options Data API
See the main options overview for real-time and historical options data.
Historical Options Data API
Inspect the historical contracts, quotes, trades, and aggregates workflow.
Options Chain API
Go straight to chain snapshots, expirations, and strike discovery.
Pricing
Review plans before you move from free evaluation into production usage.