A lightweight ticker backend for listening to market data, enabling algo-trading, backtesting, and real-time data visualization. Currently implemented in pure Python with an intuitive GUI frontend.
-
Purpose: Provide a reliable, low-latency engine for market data ingestion and processing.
-
Use Cases:
- Live Trading: Connect to broker feeds for real-time algo execution.
- Backtesting: Replay tick data for strategy validation.
- Visualization: Plot order flow, footprints, and custom charts.
- Modular Architecture: Separate core engine and GUI for flexibility.
- Real‑Time Ticking: Buffer and batch‐process ticks every 0.3s for efficiency.
- Footprint & OHLC Aggregation: Generate minute bars with volume at price, delta, and trade-side breakdown.
- Extensible Interface: Python API to dispatch custom handlers or integrate with external modules.
- COM Callback Layer:
OnNotifyTicksLONG
receives raw ticks from broker. - Buffering: Ticks are appended to in‐memory queues keyed by symbol.
- Batch Aggregator: Every N miliseconds,
_agg_tick
processes new ticks intoBar
objects. - GUI Binding: PySide6 visualizes incoming bars and orderflow charts.
- Redis: In-memory database system for better IPC latency
- Built‑in Algo Trading App: Develop a simple UI for strategy live monitoring. (optionally strategy configuration)
- WebGL\WebGPU Migration: Take advantage of browser GPU framework, cross-platform.(FastAPI, websocket)
- Rust Migration: Port hot‐path functions (
OnNotifyTicksLONG
,_agg_tick
) to Rust for sub‐millisecond throughput while retaining Python bindings. simd, avx2 - Plugin System: Allow community‐driven extensions for custom indicators and data sources.
Contributions, issues, and feature requests are welcome!