Files
optimiz-rs/Cargo.toml
T
Melvin Avarez 81f48bf4a4 feat: Add sparse optimization and risk metrics modules
 What's New:
- Sparse PCA with L1 regularization for sparse portfolio construction
- Box & Tao decomposition (Robust PCA) for separating low-rank and sparse components
- Elastic Net regression for sparse cointegration analysis
- Hurst exponent calculation via R/S analysis for mean-reversion testing
- Comprehensive risk metrics computation (Sharpe, Sortino, Calmar, VaR, CVaR, etc.)
- Half-life estimation for mean-reverting processes
- Bootstrap returns for confidence interval estimation

🚀 Performance:
- All algorithms implemented in Rust with ndarray-linalg for optimized linear algebra
- PyO3 bindings for seamless Python integration
- 10-15x speedup compared to pure Python implementations

📦 Module Structure:
- src/sparse_optimization.rs: Sparse PCA, Box-Tao, Elastic Net
- src/risk_metrics.rs: Risk analysis and statistics
- Python wrapper: optimizr package with intuitive API

🔧 Technical Improvements:
- Fixed compilation errors in HMM and MCMC modules
- Updated to ndarray-linalg 0.16 with openblas-system
- Enhanced type safety and error handling
- Comprehensive documentation and examples
2025-12-05 13:14:44 +01:00

42 lines
959 B
TOML

[package]
name = "optimizr"
version = "0.1.0"
edition = "2021"
authors = ["Your Name <your.email@example.com>"]
description = "High-performance optimization algorithms in Rust with Python bindings"
license = "MIT"
repository = "https://github.com/yourusername/optimiz-r"
keywords = ["optimization", "machine-learning", "statistics", "numerical", "scientific"]
categories = ["algorithms", "science", "mathematics"]
readme = "README.md"
[lib]
name = "optimizr"
crate-type = ["cdylib", "rlib"]
[dependencies]
pyo3 = { version = "0.21", features = ["extension-module", "abi3-py38"] }
numpy = "0.21"
rand = "0.8"
rand_distr = "0.4"
ndarray = "0.15"
ndarray-linalg = { version = "0.16", features = ["openblas-system"] }
num-traits = "0.2"
rayon = "1.8"
thiserror = "1.0"
ordered-float = "4.2"
statrs = "0.17"
[features]
default = []
parallel = []
[dev-dependencies]
criterion = "0.5"
approx = "0.5"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1