- Integrate Adilbai/stock-trading-rl-agent PPO model as alternative CH
trading strategy (new ch_rl_trader.py)
- CH_AI_STRATEGY: llm/rl/hybrid (default hybrid, dynamically switchable
via POST /ch/api/strategy)
- MDF now uses regime-driven price dynamics (trending/mean-reverting/
volatile/calm) producing meaningful SMA, EMA, MACD, RSI, Bollinger
Band signals embedded in snapshots
- Rename source CLEARINGHOUSE β CLRH in order messages
- Add stable-baselines3, pandas, scikit-learn, huggingface_hub to Docker
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix MDF order book depth and CH AI reference price fallbackβ
MDF now places 3 levels of resting bids and asks per symbol each cycle,
ensuring order books always have liquidity. CH AI trader falls back to
securities.txt reference prices when books are empty. CH daily obligation
raised to 20.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- md_feeder: add _suspended flag; handle suspend/resume control messages
to pause/unpause order generation without ending the session
- dashboard: add suspended field to session_state; add POST /session/suspend
and POST /session/resume endpoints that publish to control topic
- dashboard template: Suspend button (blue-grey) between Start and End of Day;
toggles to Resume (green) when paused; session badge shows PAUSED (amber)
with pulsing dot when suspended; button disabled when session is idle
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Start/End of Day controls and price history chartβ
- shared/config.py: add CONTROL_TOPIC for start/stop signals
- md_feeder: listen on control topic; pause/resume simulation on stop/start signals, reload securities on start
- dashboard: add SQLite OHLCV history DB (1-min buckets), record every Kafka trade
- dashboard: POST /session/start (reset prices β start), POST /session/end (save closing prices β stop)
- dashboard: GET /history/<symbol>?period=1h|8h|1d|1w|1m returns aggregated OHLCV candles (β€150 bars)
- dashboard UI: Start/End of Day buttons + session status badge in header
- dashboard UI: full-width Price History panel with candlestick + volume chart (canvas)
- docker-compose: mount shared_data volume into dashboard so it can read/write securities.txt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Kafka-based stock exchange simulation with:
- Order matcher engine with SQLite persistence
- FIX protocol OEG server and UI clients
- Frontend order entry with real-time book/trades
- Trading dashboard with SSE streaming and charts
- Market data feeder, consumer, and snapshot viewer
- Docker Compose orchestration for all services
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>