Backtest UI

Universe Catalog

18 universes · 10 point-in-time aware · 10 strategies need PIT re-validation (3 high priority) static

18 Total universes
10 Point-in-time aware
10 Strategies needing PIT re-test
3 High priority re-tests

Universes

IDNameTypeStatusPITMembersStage3 RunsUsed By
U_V1_CURATEDCurated v1 (158 tickers)Curated Bucketretired1580
U_LIQUID_USCurated v2 — U_LIQUID_US (371 tickers)Curated Bucketactive371012 strategies
U_EXPANDED_V3Curated v3 — U_EXPANDED_V3 (552 tickers)Curated Bucketactive552797 strategies
U_US_COMMON_BROAD_PIT_V1Sharadar PIT BroadSharadar PITactivedynamic36
U_US_COMMON_LIQUID_PIT_V1Sharadar PIT LiquidSharadar PITactivedynamic36
U_US_COMMON_SMALLMID_PIT_V1Sharadar PIT Small/Mid-CapSharadar PITactivedynamic36
U_US_TOP200_PROXY_PIT_V1Sharadar PIT U.S. Top-200 Proxysharadar_pit_proxyactive20001 strategies
U_US_TOP1000_PROXY_PIT_V1Sharadar PIT U.S. Top-1000 Proxysharadar_pit_proxyactive100001 strategies
U_US_SP500_PROXY_PIT_V1Sharadar PIT U.S. Top-500 Proxysharadar_pit_proxyactive50001 strategies
U_US_NDX100_PROXY_PIT_V1Sharadar PIT Nasdaq Non-Financial Top-100 Proxysharadar_pit_proxyactive10001 strategies
U_US_SP500_NDX100_PROXY_UNION_PIT_V1Sharadar PIT Top-500/Nasdaq-100 Proxy Unionsharadar_pit_proxyactive01 strategies
U_PICKER_LIVEPicker Live CandidatesLogicalactive02 strategies
U_SELECTION_TOPSelection Model TopLogicalactive01 strategies
U_EXPLOSIVE_TOPExplosive Upside TopLogicalactive01 strategies
U_LEADING_SECTOR_STOCKSLeading Sector StocksLogicalactive01 strategies
leading_sector_v1Leading Sector Universe (computed)Dynamicactive01 strategies
leading_composite_leaders_v1Composite Leaders Universe (computed)Dynamicactive01 strategies
LIVE_SCANNER_PORTFOLIOLive Scanner PortfolioManualactive01 strategies
U_V1_CURATED — Curated v1 (158 tickers) retired: Superseded by v2; too narrow for atom coverage

Config: config/strategies/universes/v1.toml

Source: curated from major ETF themes/sectors; not point-in-time

Initial 100-200 ticker universe for atom coverage reports. No backtests reference it.
U_LIQUID_US — Curated v2 — U_LIQUID_US (371 tickers)

Config: config/strategies/universes/v2.toml

Source: curated ETF-theme-inspired universe; not point-in-time

Used by:

Primary backtest universe for all Stage 3/4 runs. NOT survivorship-aware —
static hand-picked list that does not account for delistings or sector
rotation over time. Strategies tested here should be re-validated against
U_US_COMMON_LIQUID_PIT_V1 for production promotion.
U_EXPANDED_V3 — Curated v3 — U_EXPANDED_V3 (552 tickers)

Config: config/strategies/universes/v3.toml

Source: curated ETF-theme-inspired universe; not point-in-time

Used by:

Expanded universe for exit-variant, momentum-add, vol-target, and ascending
pattern tests. Same survivorship caveat as U_LIQUID_US — re-validate against
U_US_COMMON_BROAD_PIT_V1 for promotion.
U_US_COMMON_BROAD_PIT_V1 — Sharadar PIT Broad

Config: config/data/sharadar-universes.toml

Source: Sharadar SEP + DAILY; point-in-time filter on price, market cap, volume

Filter: min_price=$1, min_mktcap=$100M, min_vol_20d=$500K, min_history=63 sessions

DB table: research_universe_membership

Broad point-in-time US common-stock research universe. Survivorship-aware —
membership changes monthly based on Sharadar fundamentals as-of each month start.
NOT yet used in any backtest. This is the proper replacement for U_EXPANDED_V3
for promotion-grade validation.
U_US_COMMON_LIQUID_PIT_V1 — Sharadar PIT Liquid

Config: config/data/sharadar-universes.toml

Source: Sharadar SEP + DAILY; point-in-time filter on price, market cap, volume

Filter: min_price=$3, min_mktcap=$300M, min_vol_20d=$1M, min_history=126 sessions

DB table: research_universe_membership

Liquid point-in-time US common-stock strategy universe. This is the proper
replacement for U_LIQUID_US (curated v2) for promotion-grade validation.
Strategies currently on U_LIQUID_US should be re-tested here before promotion.
U_US_COMMON_SMALLMID_PIT_V1 — Sharadar PIT Small/Mid-Cap

Config: config/data/sharadar-universes.toml

Source: Sharadar SEP + DAILY; point-in-time filter with max market cap cap

Filter: min_price=$3, min_mktcap=$300M, max_mktcap=$10B, min_vol_20d=$1M, min_history=126 sessions

DB table: research_universe_membership

Small/mid-cap point-in-time universe. Available for strategies targeting
sub-$10B names. Not yet used in any backtest.
U_US_TOP200_PROXY_PIT_V1 — Sharadar PIT U.S. Top-200 Proxy

Config: scripts/build_pit_index_proxies.py

Source: Monthly Sharadar PIT liquid membership ranked by point-in-time market cap

Filter: top 200 members of U_US_COMMON_LIQUID_PIT_V1 by monthly PIT market cap

DB table: research_index_proxy_membership

Used by:

Bias-safe concentrated large-cap proxy; not official index membership.
U_US_TOP1000_PROXY_PIT_V1 — Sharadar PIT U.S. Top-1000 Proxy

Config: scripts/build_pit_index_proxies.py

Source: Monthly Sharadar PIT liquid membership ranked by point-in-time market cap

Filter: top 1000 members of U_US_COMMON_LIQUID_PIT_V1 by monthly PIT market cap

DB table: research_index_proxy_membership

Used by:

Bias-safe intermediate breadth proxy; not official index membership.
U_US_SP500_PROXY_PIT_V1 — Sharadar PIT U.S. Top-500 Proxy

Config: scripts/build_pit_index_proxies.py

Source: Monthly Sharadar PIT liquid membership ranked by point-in-time market cap

Filter: top 500 members of U_US_COMMON_LIQUID_PIT_V1 by monthly PIT market cap

DB table: research_index_proxy_membership

Used by:

Survivorship-safe large-cap proxy available from 2016-08. This is not exact
S&P 500 membership: it cannot reproduce committee selection, float adjustment,
profitability eligibility, or sector balancing. Never label its results as an
official S&P 500 constituent backtest.
U_US_NDX100_PROXY_PIT_V1 — Sharadar PIT Nasdaq Non-Financial Top-100 Proxy

Config: scripts/build_pit_index_proxies.py

Source: Monthly Sharadar PIT liquid NASDAQ membership ranked by point-in-time market cap

Filter: top 100 NASDAQ non-financial members of U_US_COMMON_LIQUID_PIT_V1 by monthly PIT market cap

DB table: research_index_proxy_membership

Used by:

Survivorship-safe Nasdaq mega-cap proxy available from 2016-08. This is not
exact Nasdaq-100 membership: it uses Sharadar sector labels, monthly selection,
and domestic common stocks rather than the complete historical NDX methodology.
Never label its results as an official Nasdaq-100 constituent backtest.
U_US_SP500_NDX100_PROXY_UNION_PIT_V1 — Sharadar PIT Top-500/Nasdaq-100 Proxy Union

Config: scripts/build_pit_index_proxies.py

Source: Deduplicated monthly union of the two PIT proxy universes

Filter: U_US_SP500_PROXY_PIT_V1 OR U_US_NDX100_PROXY_PIT_V1

DB table: research_index_proxy_membership

Used by:

Bias-safe proxy for the presenter's combined restriction. In the current
2016-08 through 2026-07 data, every Nasdaq proxy member is also in the top-500
proxy, so the union contains 500 names and is empirically identical to the
top-500 proxy. Exact licensed constituent histories could make the real index
union materially different.
U_PICKER_LIVE — Picker Live Candidates

Config: config/strategies/atoms.toml

Used by:

Dynamic ticker set from the picker model signal. Changes daily.
U_SELECTION_TOP — Selection Model Top

Config: config/strategies/atoms.toml

Used by:

Top candidates from the selection model.
U_EXPLOSIVE_TOP — Explosive Upside Top

Config: config/strategies/atoms.toml

Used by:

Top candidates from the explosive upside model.
U_LEADING_SECTOR_STOCKS — Leading Sector Stocks

Config: config/strategies/atoms.toml

Used by:

Stocks leading their sector by relative strength.
leading_sector_v1 — Leading Sector Universe (computed)

Config: internal/data/entry_universe.go

DB table: entry_universe_membership

Used by:

Computed at runtime from sector relative-strength rankings. Membership
changes per observation date. Built by BuildEntryLeadingSectorUniverse().
leading_composite_leaders_v1 — Composite Leaders Universe (computed)

Config: internal/data/entry_universe.go

DB table: entry_universe_membership

Used by:

Composite leaders from multi-factor ranking. Computed at runtime.
LIVE_SCANNER_PORTFOLIO — Live Scanner Portfolio

Config: config/strategies/live-scanner-universe.toml

Used by:

Manual holdings and watchlist for the live scanner. Currently NVDA, AAPL,
ARM, PANW plus candidates. Separate from the broad scan universe (which uses
all stock_series tickers with >=220 sessions).

Backtest TODO: Re-validate on Sharadar PIT universes

All current backtests used curated static ticker lists (v2/v3) which are not survivorship-aware. These strategies must be re-tested against the matching Sharadar point-in-time universe before live capital deployment.

PriorityStrategyStageCurrent UniverseRecommended UniverseReason
highK1_FIXED_D63Stage 5U_LIQUID_US (curated_bucket)U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit)Primary promoted strategy. Must validate on survivorship-aware PIT before any live capital.
highK1_EMATR_2R_4GC_D126Stage 3U_LIQUID_US (curated_bucket)U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit)Stage 3 candidate on curated list. Needs PIT validation for promotion.
highRS_BREAKOUT_REBAL42Stage 5U_EXPANDED_V3 (curated_bucket)U_US_COMMON_BROAD_PIT_V1 (sharadar_pit)Equity-curve rebalance strategy. Breakout signals depend heavily on universe composition — must validate on broad PIT.
mediumMR_RESET_WASHOUTStage 3U_LIQUID_US (curated_bucket)U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit)Mean-reversion strategy tested on growth-tilted curated list. PIT may change universe composition significantly.
mediumEXIT_BROKEN_BELOW_50EMAStage 3U_EXPANDED_V3 (curated_bucket)U_US_COMMON_BROAD_PIT_V1 (sharadar_pit)Exit-rule strategy. Should hold on PIT broad, but survivorship may reduce exit frequency.
mediumADD_PULLBACK_RESET_LEADER_D21Stage 3U_EXPANDED_V3 (curated_bucket)U_US_COMMON_BROAD_PIT_V1 (sharadar_pit)Pullback-reset add timing. Leader definition depends on universe — PIT will change leader set.
mediumADD_MOM3_RS_SECTOR_GAP_D21Stage 3U_EXPANDED_V3 (curated_bucket)U_US_COMMON_BROAD_PIT_V1 (sharadar_pit)Momentum continuation add. RS-gap signals are universe-dependent.
mediumK1_2TRIM_FIB_BE_EMA21_D63Stage 3U_LIQUID_US (curated_bucket)U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit)Trim-variant of K1. Should be validated alongside K1_FIXED_D63.
lowCAND_RSI_MR_RSI70_EXITStage 3U_LIQUID_US (curated_bucket)U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit)Candidate RSI mean-reversion. Lower priority — still in candidate stage.
lowK1_BREAK_NOWCAST_TOP5_CONFIRM_TRIM25_D126Stage 3U_LIQUID_US (curated_bucket)U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit)Nowcast-based breakout. Candidate stage; PIT validation deferred until promoted.