project / June 2, 2026 / 6 min read

Trading Data Platform

A Bloomberg-inspired local dashboard for macro context, source health, and trader-facing market data.

Problem

Discretionary trading often depends on context scattered across too many places: FRED series, economic calendars, interest rates, price snapshots, macro notes, source health, and daily briefings. The problem was not a lack of data. It was that the useful context was fragmented and slow to assemble.

The platform exists to put that context in one place: a minimal, Bloomberg-inspired dashboard that complements intraday and swing trading by making the macro backdrop readable at a glance.

Approach

The dashboard is designed as a trader-facing morning context view, not a signal engine. It surfaces information that can shape attention and risk awareness, while leaving interpretation and execution decisions with the trader.

The current layout prioritizes operational clarity:

  • Last collection cycle, manual run-cycle control, and daily LLM cost/token usage.
  • Source health and freshness dots for collectors.
  • Regime summary and key macro indicators.
  • Asset watchlist cards with thesis, drivers, and matched catalysts.
  • Upcoming high-impact events with a fuller calendar behind an expandable view.
  • Concise briefing bullets for daily context.

Freshness is intentionally quiet. Amber means stale, red means failed, and source details are available without turning the dashboard into an alert wall.

Architecture

  • Docker Compose runs PostgreSQL with TimescaleDB and an orchestrator service.
  • FastAPI serves the dashboard and API layer.
  • FRED collectors ingest macroeconomic series.
  • Optional OANDA collection stores current watchlist price snapshots.
  • OpenRouter-backed LLM briefings summarize macro conditions and regime context.
  • Database tables keep raw inputs, derived views, collection logs, processing logs, and dashboard history separate.

The platform is built around modular services rather than one notebook or dashboard script. Collectors, processors, storage, API routes, and views can be repaired or extended independently.

Lessons Learned

A useful data dashboard should reduce decision friction without pretending to make decisions. The LLM briefings are informational: they help explain context, catalysts, and market conditions, but they do not produce trade calls, entry prices, or execution instructions.

The same principle applies to catalyst matching. Asset cards can surface relevant high and medium impact events, but those matches are annotations, not trading logic.

Future Work

The next direction is broader source coverage and tighter provenance. The platform should make it easier to see which data arrived, what changed, what is stale, and which briefing or dashboard view was produced from which source snapshot.

View the project on GitHub.