Rewrite 7 crate READMEs to reflect current architecture: correct model types (DQN/PPO/TFT/Mamba2), AtomicKillSwitch, real EnsembleConfig source from ml, actual data crate purpose, web-dashboard project details, ml_training_service ports. Fix 5 api_gateway/TLI docs: strip swarm agent framing, update service endpoints to api_gateway:50050, remove deleted dashboard references and hardcoded paths. Add missing web-gateway/README.md documenting 24 REST endpoints, WebSocket support, JWT auth, and 3-tier rate limiting. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
80 lines
2.5 KiB
Markdown
80 lines
2.5 KiB
Markdown
# Foxhunt
|
|
|
|
Production HFT trading system in Rust.
|
|
|
|
## Architecture
|
|
|
|
The workspace contains 32 crates organized as follows:
|
|
|
|
### Core Libraries (16)
|
|
|
|
| Crate | Purpose |
|
|
|-------|---------|
|
|
| `trading_engine` | Order processing, FIX 4.4, IB TWS, SIMD, RDTSC timing |
|
|
| `risk` | VaR, Kelly, circuit breakers, kill switches, compliance |
|
|
| `risk-data` | Risk data types and shared structures |
|
|
| `trading-data` | Trading data types |
|
|
| `ml` | DQN Rainbow, PPO, TFT, Mamba2, ensemble inference |
|
|
| `ml-data` | ML data types and feature definitions |
|
|
| `data` | Market data ingestion and storage |
|
|
| `backtesting` | Replay engine, strategy tester |
|
|
| `adaptive-strategy` | Ensemble execution, microstructure analysis |
|
|
| `common` | Shared types, resilience, error handling |
|
|
| `storage` | S3 and local model storage |
|
|
| `model_loader` | Model serialization and loading |
|
|
| `market-data` | Market data feed handlers |
|
|
| `database` | PostgreSQL access layer (SQLx) |
|
|
| `config` | Configuration management |
|
|
| `tli` | CLI commands and tooling |
|
|
|
|
### Services (8)
|
|
|
|
| Service | Purpose |
|
|
|---------|---------|
|
|
| `backtesting_service` | gRPC backtesting service |
|
|
| `broker_gateway_service` | FIX routing, broker connectivity |
|
|
| `trading_service` | Core trading operations |
|
|
| `ml_training_service` | Model training orchestration |
|
|
| `data_acquisition_service` | Market data acquisition |
|
|
| `trading_agent_service` | Autonomous trading agents |
|
|
| `api_gateway` | gRPC API gateway with auth |
|
|
| `web-gateway` | Axum REST + WebSocket gateway |
|
|
|
|
### Frontend
|
|
|
|
`web-dashboard/` -- React 19 + TypeScript + Vite + TradingView charts.
|
|
|
|
## Building
|
|
|
|
```bash
|
|
# Check compilation (no PostgreSQL required)
|
|
SQLX_OFFLINE=true cargo check --workspace
|
|
|
|
# Run tests for a specific crate
|
|
SQLX_OFFLINE=true cargo test -p <crate> --lib
|
|
|
|
# Clippy
|
|
SQLX_OFFLINE=true cargo clippy --workspace
|
|
```
|
|
|
|
## ML Models
|
|
|
|
Four production model architectures on Candle v0.9.1 with CUDA:
|
|
|
|
- **DQN Rainbow** -- Deep Q-Network with prioritized replay, dueling heads, noisy nets
|
|
- **PPO** -- Proximal Policy Optimization with GAE and LSTM policies
|
|
- **TFT** -- Temporal Fusion Transformer for multi-horizon forecasting
|
|
- **Mamba2** -- State space model for sequence prediction
|
|
|
|
Each model has a standalone trainer and a `UnifiedTrainable` adapter for the hyperopt pipeline.
|
|
|
|
## Infrastructure
|
|
|
|
- **Git**: Gitea at `git.fxhnt.ai` (Tailscale-only), Scaleway DEV1-S
|
|
- **Observability**: OpenTelemetry OTLP (env `OTEL_EXPORTER_OTLP_ENDPOINT`)
|
|
- **Database**: PostgreSQL with SQLx offline mode for CI
|
|
|
|
## License
|
|
|
|
Proprietary. All rights reserved.
|