How ramzygirgis/imc-prosperity-2026 works
IMC Prosperity 4 provides trading-strategy backtesting and a dashboard for exploring backtest or competition-log results. The main workflow is to choose a strategy and historical or synthetic market input, run it through the backtester, produce logs, and view analytics and charts in the dashboard. The README documents both dashboard-triggered replay and standalone CLI modes. Some dashboard and synthetic wiring is unsampled, so the graph omits uncertain links.
Main entry points: app.py Dashboard API · replay.py Historical Replay · synthetic.py Synthetic Runs · cli.py Backtest CLI
Components 19
Backtesting
- Backtest CLI
backtester/cli.py - Historical Replay
backtester/replay.py - Synthetic Runs
backtester/synthetic.py - Strategy Runtime
backtester/runtime.py - Historical Data
backtester/data.py - Log Writers
backtester/writers.py
Strategies and Markets
- Trading Strategies
strategies - Market Simulation
backtester/market_sim
Dashboard Services
- Strategy Uploads
dashboard_api/app.py - Dashboard API
dashboard_api/app.py - Replay Runner
dashboard_api/replay_runner.py - Log Analytics
dashboard_analytics/service.py
Visualization
- Dashboard UI
frontend/src/App.tsx - API Client
frontend/src/api.ts - Standalone Visualizer
visualizer/main.py - Log Data Parsing
visualizer/clean_data.py - Time Series Plots
visualizer/plots/timeseries.py
Other components
- Researcher
- Dashboard User
Connections 19
- Researcher → Backtest CLI: starts run
- Backtest CLI → Historical Replay: dispatches replay
- Backtest CLI → Synthetic Runs: dispatches synthetic
- Historical Replay → Historical Data: loads market data
- Historical Replay → Strategy Runtime: runs strategy
- Strategy Runtime → Trading Strategies: invokes strategy
- Synthetic Runs → Market Simulation: generates market
- Synthetic Runs → Strategy Runtime: runs strategy
- Historical Replay → Log Writers: writes logs
- Synthetic Runs → Log Writers: writes logs
- Dashboard User → Dashboard UI: configures dashboard
- Dashboard UI → API Client: requests data
- API Client → Dashboard API: calls endpoints
- Dashboard API → Strategy Uploads: stores upload
- Dashboard API → Replay Runner: launches replay
- Dashboard API → Log Analytics: requests analysis
- Log Analytics → Dashboard API: returns results
- Standalone Visualizer → Log Data Parsing: parses input
- Standalone Visualizer → Time Series Plots: plots series