Universe Catalog
18 universes · 10 point-in-time aware · 10 strategies need PIT re-validation (3 high priority) static
Universes
| ID | Name | Type | Status | PIT | Members | Stage3 Runs | Used By |
|---|---|---|---|---|---|---|---|
U_V1_CURATED | Curated v1 (158 tickers) | Curated Bucket | retired | — | 158 | 0 | — |
U_LIQUID_US | Curated v2 — U_LIQUID_US (371 tickers) | Curated Bucket | active | — | 371 | 0 | 12 strategies |
U_EXPANDED_V3 | Curated v3 — U_EXPANDED_V3 (552 tickers) | Curated Bucket | active | — | 552 | 79 | 7 strategies |
U_US_COMMON_BROAD_PIT_V1 | Sharadar PIT Broad | Sharadar PIT | active | ✓ | dynamic | 36 | — |
U_US_COMMON_LIQUID_PIT_V1 | Sharadar PIT Liquid | Sharadar PIT | active | ✓ | dynamic | 36 | — |
U_US_COMMON_SMALLMID_PIT_V1 | Sharadar PIT Small/Mid-Cap | Sharadar PIT | active | ✓ | dynamic | 36 | — |
U_US_TOP200_PROXY_PIT_V1 | Sharadar PIT U.S. Top-200 Proxy | sharadar_pit_proxy | active | ✓ | 200 | 0 | 1 strategies |
U_US_TOP1000_PROXY_PIT_V1 | Sharadar PIT U.S. Top-1000 Proxy | sharadar_pit_proxy | active | ✓ | 1000 | 0 | 1 strategies |
U_US_SP500_PROXY_PIT_V1 | Sharadar PIT U.S. Top-500 Proxy | sharadar_pit_proxy | active | ✓ | 500 | 0 | 1 strategies |
U_US_NDX100_PROXY_PIT_V1 | Sharadar PIT Nasdaq Non-Financial Top-100 Proxy | sharadar_pit_proxy | active | ✓ | 100 | 0 | 1 strategies |
U_US_SP500_NDX100_PROXY_UNION_PIT_V1 | Sharadar PIT Top-500/Nasdaq-100 Proxy Union | sharadar_pit_proxy | active | ✓ | — | 0 | 1 strategies |
U_PICKER_LIVE | Picker Live Candidates | Logical | active | — | — | 0 | 2 strategies |
U_SELECTION_TOP | Selection Model Top | Logical | active | — | — | 0 | 1 strategies |
U_EXPLOSIVE_TOP | Explosive Upside Top | Logical | active | — | — | 0 | 1 strategies |
U_LEADING_SECTOR_STOCKS | Leading Sector Stocks | Logical | active | — | — | 0 | 1 strategies |
leading_sector_v1 | Leading Sector Universe (computed) | Dynamic | active | ✓ | — | 0 | 1 strategies |
leading_composite_leaders_v1 | Composite Leaders Universe (computed) | Dynamic | active | ✓ | — | 0 | 1 strategies |
LIVE_SCANNER_PORTFOLIO | Live Scanner Portfolio | Manual | active | — | — | 0 | 1 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:
- K1_FIXED_D63
- K1_2TRIM_FIB_BE_EMA21_D63
- MR_RESET_WASHOUT
- K1_EMATR_2R_4GC_D126
- K1_BREAK_NOWCAST_TOP5_CONFIRM_TRIM25_D126
- CAND_RSI_MR_RSI70_EXIT
- CAND_RSI_MR_GREEN4_EXIT
- CAND_RSI_MR_FH21D
- CAND_RSI_MR_FH63D
- TREND_CONTINUATION_HOT_SECTOR
- HOT_SECTOR_EXHAUSTION_AVOID
- COLD_SECTOR_REBOUND
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:
- EXIT_BROKEN_BELOW_50EMA
- ADD_MOM3_RS_SECTOR_GAP_D21
- ADD_PULLBACK_RESET_LEADER_D21
- RS_BREAKOUT_REBAL42
- EMATR_2R_4GC_MOM3
- ASCENDING_FLAG_D21
- ASCENDING_BASE_GEOMETRY_D21
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.
| Priority | Strategy | Stage | Current Universe | Recommended Universe | Reason |
|---|---|---|---|---|---|
| high | K1_FIXED_D63 | Stage 5 | U_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. |
| high | K1_EMATR_2R_4GC_D126 | Stage 3 | U_LIQUID_US (curated_bucket) | U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit) | Stage 3 candidate on curated list. Needs PIT validation for promotion. |
| high | RS_BREAKOUT_REBAL42 | Stage 5 | U_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. |
| medium | MR_RESET_WASHOUT | Stage 3 | U_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. |
| medium | EXIT_BROKEN_BELOW_50EMA | Stage 3 | U_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. |
| medium | ADD_PULLBACK_RESET_LEADER_D21 | Stage 3 | U_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. |
| medium | ADD_MOM3_RS_SECTOR_GAP_D21 | Stage 3 | U_EXPANDED_V3 (curated_bucket) | U_US_COMMON_BROAD_PIT_V1 (sharadar_pit) | Momentum continuation add. RS-gap signals are universe-dependent. |
| medium | K1_2TRIM_FIB_BE_EMA21_D63 | Stage 3 | U_LIQUID_US (curated_bucket) | U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit) | Trim-variant of K1. Should be validated alongside K1_FIXED_D63. |
| low | CAND_RSI_MR_RSI70_EXIT | Stage 3 | U_LIQUID_US (curated_bucket) | U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit) | Candidate RSI mean-reversion. Lower priority — still in candidate stage. |
| low | K1_BREAK_NOWCAST_TOP5_CONFIRM_TRIM25_D126 | Stage 3 | U_LIQUID_US (curated_bucket) | U_US_COMMON_LIQUID_PIT_V1 (sharadar_pit) | Nowcast-based breakout. Candidate stage; PIT validation deferred until promoted. |