Files
foxhunt/ml/README.md
jgrusewski 6093eac7bf 🔧 Tonic 0.14 Upgrade: Auto-generated and build system changes
Wave 64-65 cleanup: Proto regeneration and build system updates from Tonic 0.12→0.14 upgrade

Files updated:
- Cargo.lock: Dependency resolution for Tonic 0.14.2
- All build.rs: Updated for tonic-prost-build
- Proto files: Regenerated with tonic-prost 0.14
- Examples/tests: Updated for new gRPC API

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-03 07:34:26 +02:00

75 lines
4.5 KiB
Markdown

# `ml` Crate
The `ml` crate provides the core machine learning capabilities for the Foxhunt High-Frequency Trading (HFT) System. It encompasses a suite of advanced models for sequence prediction, reinforcement learning, and time series analysis, optimized for low-latency inference and robust model management within a high-frequency trading environment.
## Features
* **Advanced Model Suite**: Implementation of cutting-edge ML models tailored for HFT.
* **Low-Latency Inference**: Highly optimized inference engine designed for real-time market data processing.
* **GPU Acceleration**: Leverages CUDA/cuDNN for high-performance, GPU-accelerated model inference.
* **Dynamic Model Management**: Supports hot-swapping and versioning of models for seamless updates.
* **Cloud-Native Storage**: S3-based model storage and caching for reliable and scalable deployment.
* **Experimentation & Monitoring**: Built-in support for A/B testing and performance monitoring of deployed models.
## Models Implemented
This crate includes specialized implementations of various machine learning models, each optimized for specific HFT challenges:
* **MAMBA-2 State Space Models**: Efficient sequence prediction, crucial for forecasting market movements, order flow, or short-term price trajectories in dynamic HFT scenarios.
* **Deep Q-Learning (DQN)**: A reinforcement learning algorithm for discovering and executing optimal trading strategies, learning directly from market rewards and penalties.
* **Proximal Policy Optimization (PPO) with GAE**: A robust policy gradient reinforcement learning method, often employed for more complex, continuous action spaces in trading agents, offering stable and efficient learning.
* **Temporal Fusion Transformer (TFT)**: An advanced transformer-based architecture for multivariate time series forecasting, adept at handling complex temporal dependencies and integrating exogenous variables for precise price or volume prediction.
* **Liquid Networks**: Biologically inspired neural networks offering high adaptability and robustness to changing data distributions, making them suitable for the non-stationary and volatile nature of financial markets.
* **Transformer-based Order Book (TLOB) Analysis**: Utilizes transformer architectures to process granular, high-dimensional order book data, identifying intricate patterns and predicting short-term price movements, liquidity shifts, or order imbalances.
## Architecture
The `ml` crate is designed with the following key architectural components to ensure performance, reliability, and maintainability:
* **Inference Bridge**: A dedicated, low-latency communication channel facilitating seamless prediction delivery from ML models to the core `trading_engine`.
* **Model Registry**: A centralized service for managing, versioning, and deploying ML models. It supports hot-swapping, allowing new model versions to be deployed without service interruption.
* **Performance Monitoring & Distillation**: Real-time tracking of model efficacy, latency, and resource utilization. Includes mechanisms for model distillation to create smaller, faster models suitable for extreme low-latency environments.
* **Ensemble Methods**: Integrates capabilities for combining predictions from multiple models, often incorporating confidence scoring, to enhance overall prediction robustness and accuracy.
## Usage
To use the `ml` crate, you'll typically interact with the `ModelRegistry` to load models and then use the `InferenceEngine` trait to make predictions.
```rust
use ml::{InferenceEngine, ModelRegistry};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Initialize your application configuration
let config = /* Your application configuration object */;
// Instantiate the ModelRegistry
let registry = ModelRegistry::new(config).await?;
// Load a specific model by its identifier and version
let model = registry.load_model("mamba2-v1.2.3").await?;
// Prepare the current market state or features for inference
let market_state = /* Your current market state object */;
// Run inference using the loaded model
let prediction = model.predict(&market_state).await?;
println!("Inference result: {:?}", prediction);
Ok(())
}
```
## Testing
To run the tests for the `ml` crate, use the standard Cargo test command:
```bash
cargo test --package ml
```
## Documentation
Comprehensive API documentation for the `ml` crate can be found on [docs.rs/ml](https://docs.rs/ml).