Universe

pre-approved tickers

Every symbol the rebalancer, signal engine, and data-sync cron are allowed to touch. This is the universe the strategies pick from — add or remove tickers to steer every pipeline at once.

Watchlist

0 symbols

Used by /api/rebalance,/api/signals, and the daily/api/data-sync cron.

Loading watchlist…

How the universe is consumed

/api/rebalance — when the portfolio is empty (cold start), the rebalancer asks its strategy to allocate across this watchlist. Once positions exist, it rebalances among those directly.

/api/signals — Claude analyzes holdings first; if empty, falls back to the watchlist so you still get a market signal.

/api/data-sync — daily cron at 21:00 UTC pulls 30 days of OHLCV for every holding + every watchlist symbol, merged and deduped.

The Python RL stack has its own DEFAULT_UNIVERSE in python/src/portfolio_rl/data/loaders.py kept in sync with this list. When you retrain, re-check both match — a trained policy can only be evaluated on the exact universe it was trained on.