A quantitative trading news feed and platform that enables both code or UI driven strategy research and development.
graph TD
%% Exchange Data Sources
subgraph "Exchange WebSockets"
KrakenWS[Kraken]
CoinbaseWS[Coinbase]
BinanceWS[Binance]
end
%% Hot Path - Market Data Pipeline
subgraph "Hot Path (5-35μs latency)"
subgraph "Data Collectors (Rust)"
KrakenCollector[Kraken Collector]
CoinbaseCollector[Coinbase Collector]
BinanceCollector[Binance Collector]
end
RelayServer[Relay Server<br/>Fan-out Hub<br/>Rust]
subgraph "Data Consumers"
FrontendBridge[Frontend Bridge<br/>Binary→JSON<br/>Rust]
NautilusTrader[NautilusTrader<br/>Trading Engine<br/>Python]
end
end
%% Warm/Cold Path - APIs & Analysis
subgraph "Warm/Cold Path (1-100ms latency)"
ReactDashboard[React Dashboard<br/>TypeScript]
FastAPI[FastAPI Backend<br/>Python]
subgraph "Analysis Environment"
Jupyter[Jupyter Notebooks]
NautilusBacktest[NautilusTrader<br/>Backtesting]
DuckDB[DuckDB/Pandas<br/>Analytics]
end
end
%% Data Storage
subgraph "Data Storage"
TimescaleDB[(TimescaleDB<br/>Live & Historical)]
ParquetFiles[(Parquet Files<br/>Analysis)]
BacktestDB[(Backtest Results)]
Redis[(Redis<br/>Cache/Sessions)]
end
%% External Systems
Exchanges[Live Exchanges<br/>Order APIs]
%% Hot Path Connections
KrakenWS -->|JSON| KrakenCollector
CoinbaseWS -->|JSON| CoinbaseCollector
BinanceWS -->|JSON| BinanceCollector
KrakenCollector -->|Unix Socket| RelayServer
CoinbaseCollector -->|Unix Socket| RelayServer
BinanceCollector -->|Unix Socket| RelayServer
RelayServer -->|Unix Socket| FrontendBridge
RelayServer -->|Unix Socket| NautilusTrader
FrontendBridge -->|WebSocket| ReactDashboard
FrontendBridge -->|Write| TimescaleDB
NautilusTrader -->|Orders| Exchanges
NautilusTrader -->|Fills/Orders| TimescaleDB
%% Warm/Cold Path Connections
ReactDashboard <==>|HTTP/WS| FastAPI
FastAPI <==>|Queries| TimescaleDB
FastAPI <==>|Cache| Redis
Jupyter -->|HTTP API| FastAPI
Jupyter -->|Direct| NautilusBacktest
%% Data Pipeline
TimescaleDB -->|Export| ParquetFiles
DuckDB <==>|Read| ParquetFiles
NautilusBacktest -->|Results| BacktestDB
%% Styling
classDef hotPath fill:#ff6b6b,stroke:#d63031,stroke-width:2px,color:#fff
classDef warmPath fill:#74b9ff,stroke:#0984e3,stroke-width:2px,color:#fff
classDef storage fill:#55a3ff,stroke:#2d3436,stroke-width:2px,color:#fff
classDef external fill:#fd79a8,stroke:#e84393,stroke-width:2px,color:#fff
class KrakenCollector,CoinbaseCollector,BinanceCollector,RelayServer,FrontendBridge,NautilusTrader hotPath
class ReactDashboard,FastAPI,Jupyter,DuckDB,NautilusBacktest warmPath
class TimescaleDB,Redis,ParquetFiles,BacktestDB storage
class KrakenWS,CoinbaseWS,BinanceWS,Exchanges external
MIT
- Documentation: docs/ui.md
- Issues: GitHub Issues
- Discord: Join our community