Watchlist
0 of 0 saved symbols · USDelayed dataComma-separated. Enter adds them.
Quote grid
0 symbols, one call
Correlation
First 0 of 0 symbols
Two symbols minimum
A correlation matrix needs at least two instruments with overlapping price history.
What is missing
The reference build hands the whole list to a backtesting screen. There is no backtesting domain in our backend at all — no strategy engine, no order simulation, no equity curve — so the affordance would be a dead button. A correlation matrix is the honest substitute: it tells you where your redundancy is. It does not tell you a strategy works.
Selected symbol
What a row context menu would be, if it were reachable by keyboard: open, remove, annotate, alert.
Pick a row to work on it
Click any row in the table. The selection drives this panel, the alert control and every linked screen.
List analytics
Sector weights, signal mix, average risk and the concentration of your own attention.
Nothing to analyse yet
Add symbols and this panel reports the sector weights, signal mix and concentration of the list.
Alerts
0 standing on these symbols
No alerts on these symbols
Pick a row and create one below. An alert is a notification that something happened — never a fill.
Multiple lists
What is missing
Multiple named watchlists are a schema blocker, not a missing endpoint. The only table is WatchlistItem(userId, assetId) with a uniqueness constraint that also forbids one asset appearing in two lists. Named lists need a Watchlist parent table, a foreign key, a relaxed constraint, a backfill and five re-scoped routes — so the rail carries analytics rather than a client-side grouping that would not survive a device change.