C++ AITraderActor now uses per-symbol reference prices matching real
market levels instead of hardcoded 100-200 range. Dashboard adds
MarketSimulator thread that auto-generates orders and crossing trades
every 30s when session is active. Config updated with all 7 symbols.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.6.0: Add 7 real stock symbols with current market pricesβ
Replace EURO50 with TSLA, NVDA, AMD, ENX alongside existing AAPL, MSFT,
GOOGL. Seed orders use real market prices. Refactor main.cpp to loop-based
book creation for all 7 symbols. Update FIX symbol mappings and tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add KafkaBus multi-topic publisher mirroring Optiq KFK between ME and
downstream consumers. MECoreActor publishes orders, trades, and BBO
snapshots to Kafka when EUNEX_KAFKA_BROKERS is set. No-op stub compiles
when EUNEX_USE_KAFKA is OFF. Switch Docker from bitnami/kafka to
apache/kafka:3.9.0 (KRaft mode). Add .dockerignore, update docs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix garbled Unicode box-drawing chars in Windows console outputβ
Replace UTF-8 box-drawing characters (β, β) with ASCII equivalents
(=, -) so output displays correctly on Windows consoles that use
legacy codepages. Update version to v0.5.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Stop orders and trading phases (PreOpen/Opening/CTS)β
Stop orders:
- StopMarket: parks until trade price crosses stopPrice, then becomes Market
- StopLimit: parks until triggered, then becomes Limit at order price
- Buy stops trigger when price rises >= stopPrice
- Sell stops trigger when price falls <= stopPrice
- Cancel support for parked stop orders
Trading phases:
- PreOpen: accumulate orders without matching, IOP calculation
- Opening: uncrossing at IOP (max execution, min surplus tiebreaker)
- CTS: normal continuous price-time priority matching
- Closed: reject all orders
12 new tests (6 stop order + 6 trading phase), all 7 suites pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename modules to Optiq naming and add Developers Guideβ
Implement FIX gateway, Clearing House, and AI traders as proper C++
actors matching the Optiq architecture, replacing the Python-only
approach from v0.3.0.
New actors:
- FIXGatewayActor: C++ TCP FIX 4.4 acceptor (Logon, NewOrder, Cancel, Amend)
- ClearingHouseActor: Trade clearing, member positions, leaderboard
- AITraderActor: 10 members (MBR01-10) with momentum/mean_revert/random strategies
Changes:
- OrderBook: Trade now carries buySessionId/sellSessionId
- OrderBookActor: Optional clearing house pipe for trade forwarding
- OEGatewayActor: NewOrderEvent handler + exec report subscriber forwarding
- main.cpp: Full 4-core topology (OEG+FIX, Books, MarketData, CH+AI)
- SocketCompat.hpp: Cross-platform socket abstraction (winsock2/POSIX)
- CMakeLists.txt: New sources, ws2_32 on Windows, 3 new test targets
- 6 test suites (44 tests total), all passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix GCC build: add missing #include <memory> in IacaAggregator.hppβ
MSVC transitively includes <memory> via other headers, masking the
missing include. GCC 11.4 requires it explicitly for std::shared_ptr.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.2.0: Multi-threaded actor engine, Kafka persistence, web dashboardβ
- Replace single-threaded Simplx shim with multi-threaded actor engine
(per-core threads, mailbox queues, cross-core async event delivery)
- Add abstract PersistenceStore with InMemoryStore and KafkaStore
- Add Docker Compose with Kafka KRaft mode (no Zookeeper)
- Add Flask web dashboard with SSE streaming, order book view, trade
blotter, BBO snapshots, and session controls
- Add 6 multi-threaded engine tests (26 total tests pass)
- Support EQU (Cash/Equities) and EQD (Derivatives) segments
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Initial commit: C++ actor-based matching engine (Optiq architecture)β
Port of StockEx Python prototype to C++ with Simplx-compatible actor framework.
Includes price-time priority OrderBook, OEGateway/OrderBook/MarketData actors,
Recovery Cause/Effect (Master/Mirror HA), IACA fragment chain aggregation,
and 20 passing tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>