A step-by-step guide to building a real-time multi-asset market pulse dashboard in Python using Streamlit and EODHD WebSocket feeds. The app streams live prices for stocks, forex, and crypto, maintains rolling buffers to compute returns, volatility, and trend signals, emits threshold-based stress events with cooldowns, and displays a regime-aware correlation card. The architecture separates a background worker thread (handling WebSocket connections and state) from the Streamlit UI layer (read-only rendering), enabling stable continuous operation. Code is split across five files: feeds.py, pulse_store.py, events.py, correlation.py, and app.py.
Table of contents
Table of ContentsPrerequisitesThe App We’re BuildingThe App ArchitectureStreaming Layer: One Queue, Many FeedsRolling State: Buffers, Returns, Volatility, TrendTurning Live Stats Into Events (Stress Feed)Regime Tagging (Small but Important)Correlation Card (Stocks Only, Regime-aware Window)Building the Streamlit AppFinal OutputWhat I’d Improve NextConclusionSort: