Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Neural Trader Predictor
Conformal prediction SDK for neural trading with guaranteed prediction intervals
A high-performance Rust library providing distribution-free prediction intervals with provable statistical guarantees. Perfect for quantitative trading, risk management, and any application requiring reliable uncertainty quantification.
Core Principle
Conformal prediction provides a mathematical guarantee:
P(y ∈ [lower, upper]) ≥ 1 - α
Rather than uncertain point estimates, get intervals with provable coverage regardless of the underlying data distribution.
🎯 Key Features
- Split Conformal Prediction: Distribution-free prediction intervals with
(1-α)coverage guarantee - Adaptive Conformal Inference (ACI): PID-controlled dynamic coverage adjustment for streaming data
- Conformalized Quantile Regression (CQR): Quantile-based prediction intervals with conformal guarantees
- Hybrid Integration: Best-of-both-worlds combining our optimized implementation with advanced features from
conformal-predictioncrate- CPD (Conformal Predictive Distributions): Full probability distributions with CDF queries for risk/reward analysis
- PCP (Posterior Conformal Prediction): Regime-aware predictions with cluster-based adaptation (bull/bear/sideways)
- Formal Verification: Lean4 mathematical proofs for coverage guarantees
- KNN Nonconformity: Advanced distance-based scoring
- Multiple Nonconformity Scores: Absolute, normalized, and quantile-based scoring functions
- High-Performance Optimizations:
- Nanosecond-precision scheduling for microsecond-level recalibration
- Sublinear O(log n) streaming updates
- Temporal lead solving for predictive pre-computation
- Parallel processing with rayon
- Production-Ready: Comprehensive error handling, logging with tracing, type-safe design
- CLI Tool: Standalone
neural-predictorcommand-line interface for batch processing
📊 Performance Benchmarks
| Implementation | Prediction | Calibration | Memory |
|---|---|---|---|
| Rust (Native) | <100μs | <50ms | <10MB |
| Rust (Parallel) | <50μs | <25ms | ~15MB |
| Streaming Update | <10μs | - | - |
Performance targets for typical trading scenarios:
- Prediction latency: <1ms with guaranteed interval
- Calibration time: <100ms for 5,000 samples
- Memory footprint: <10MB for 2,000 calibration points
- Throughput: 10,000+ predictions/second
🚀 Quick Start
Basic Conformal Prediction
use ;
Adaptive Trading Example
use ;
📦 Installation
Add to your Cargo.toml:
[]
= "0.1"
Optional Features
[]
= { = "0.1", = ["cli"] }
Features:
cli- Enables command-line interface (requires clap)wasm- WASM compilation target support
🔧 CLI Usage
Install with CLI support:
Calibrate a Predictor
Make Predictions
Stream Predictions with Adaptive Coverage
Evaluate Coverage on Test Data
Benchmark Performance
🎯 Advanced: HybridPredictor with CPD/PCP
The HybridPredictor combines our fast implementation with advanced features from the conformal-prediction crate:
Risk/Reward Analysis with CPD
use ;
Regime-Aware Trading with PCP
use ;
Run the complete examples:
📚 API Reference
Core Types
PredictionInterval
PredictorConfig
Main Predictors
HybridPredictor<S: NonconformityScore> ⭐ NEW
Combines our fast implementation with advanced features from conformal-prediction crate.
ConformalPredictor<S: NonconformityScore>
Split conformal prediction with fixed coverage.
AdaptiveConformalPredictor<S: NonconformityScore>
Adaptive conformal inference with PID control.
Nonconformity Scores
AbsoluteScore
Absolute difference between prediction and actual value.
use AbsoluteScore;
let score = AbsoluteScore;
// Uses: |y_pred - y_actual|
NormalizedScore
Normalized difference accounting for prediction magnitude.
use NormalizedScore;
let score = new;
// Uses: |y_pred - y_actual| / (|y_pred| + epsilon)
QuantileScore
Quantile-based conformity score for asymmetric intervals.
use QuantileScore;
let score = new;
// Uses: Conformalized quantile regression
Optimizers
High-Performance Features (Available in Rust)
use ;
// Microsecond-precision scheduling
let scheduler = new;
// O(log n) streaming updates
let updater = new;
// Predictive pre-computation
let solver = new;
🎯 Use Cases
Quantitative Trading
// Automated trading with confidence-based position sizing
let interval = predictor.predict;
let position_size = kelly_fraction * interval.coverage / interval.relative_width;
Risk Management
// Value at risk (VaR) estimation
let interval = predictor.predict;
println!;
Regression with Uncertainty
// Any supervised learning task needing uncertainty bounds
let training_data = load_training_data;
predictor.calibrate?;
// Get intervals for new predictions
let interval = predictor.predict;
🧪 Testing & Benchmarking
Run Tests
Run Benchmarks
Benchmarks measure:
prediction_bench- Prediction latency across various calibration sizescalibration_bench- Calibration performance- Coverage accuracy on synthetic and real market data
🔗 Integration with @neural-trader/neural
The JavaScript package @neural-trader/predictor provides seamless integration with the neural prediction package:
import { NeuralPredictor } from '@neural-trader/neural';
import { wrapWithConformal } from '@neural-trader/predictor';
const neural = new NeuralPredictor();
const conformal = wrapWithConformal(neural, { alpha: 0.1 });
// Now neural predictions have guaranteed intervals
const { point, lower, upper } = await conformal.predict(features);
📖 Examples
See /examples directory for complete working examples:
basic_usage.rs- Simple conformal predictionadaptive_trading.rs- Adaptive coverage for market conditionshybrid_cpd.rs- Full probability distributions for risk/reward analysis ⭐ NEWhybrid_pcp.rs- Regime-aware predictions with clustering ⭐ NEW
Run examples:
📊 Mathematical Background
Conformal Prediction Guarantee
Given n calibration samples with nonconformity scores:
Quantile = ceil((n+1)(1-α)) / n
The prediction interval is:
[y_pred - Quantile, y_pred + Quantile]
This guarantees: P(y_actual ∈ [lower, upper]) ≥ 1 - α
Adaptive Coverage (ACI)
Uses PID control to adjust α dynamically:
α_new = α_old - γ × (observed_coverage - target_coverage)
Constraints: α_min ≤ α_new ≤ α_max
Conformalized Quantile Regression (CQR)
Adjusts quantile predictions with conformal calibration:
Q_new = Q_base + Quantile
Maintains guarantee while using quantile information from base model.
🚀 Performance Optimization
Nanosecond-Precision Scheduling
Microsecond-level timing for precise recalibration triggers:
scheduler.schedule_recalibration?;
Sublinear Streaming Updates
O(log n) updates instead of O(n) recalibration:
updater.stream_update?; // Fast!
Temporal Lead Solving
Pre-compute future intervals using temporal patterns:
let future = solver.solve_ahead?;
🔒 Error Handling
The library uses Result<T, Error> for all fallible operations:
pub type Result<T> = Result;
All errors are detailed and actionable for debugging.
📝 Logging
Uses the tracing crate for structured logging:
RUST_LOG=neural_trader_predictor=debug
Log levels: error, warn, info, debug, trace
🤝 Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass:
cargo test --release - Format code:
cargo fmt - Submit a pull request
📄 License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
🔗 Resources
- Conformal Prediction Theory
- Adaptive Conformal Inference
- Conformalized Quantile Regression
- Repository
- NPM Package
⚡ Roadmap
- Split conformal prediction
- Adaptive conformal inference
- Conformalized quantile regression
- CLI interface
- Integration with
conformal-predictioncrate ⭐ NEW - CPD (Conformal Predictive Distributions) ⭐ NEW
- PCP (Posterior Conformal Prediction) ⭐ NEW
- Full CPD integration using conformal_prediction::cpd
- Full PCP integration using conformal_prediction::pcp
- Lean4 formal verification integration
- WASM bindings
- NAPI-rs native addon
- REST API server mode
- GPU acceleration (CUDA/OpenCL)
- Reinforcement learning for optimal α selection
- Integration with trading execution systems
💬 Support
For issues, questions, or suggestions:
- Open an issue on GitHub
- Check existing documentation
- Review examples
Built with ❤️ for the quantitative trading and ML communities