Expand description
FormicaX - High-Performance Clustering Library for Financial Data Analysis
FormicaX is a high-performance Rust library designed specifically for clustering analysis of financial data. It implements advanced machine learning clustering algorithms optimized for OHLCV (Open, High, Low, Close, Volume) data to identify market patterns, regimes, and trading opportunities.
§Quick Start
use formica::{
clustering::kmeans::algorithm::KMeans,
clustering::kmeans::config::{KMeansConfig, KMeansVariant},
core::{ClusteringAlgorithm, OHLCV},
};
use chrono::Utc;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create sample OHLCV data
let ohlcv_data = vec![
OHLCV::new(Utc::now(), 100.0, 105.0, 98.0, 102.0, 1000),
OHLCV::new(Utc::now(), 102.0, 107.0, 100.0, 104.0, 1200),
OHLCV::new(Utc::now(), 104.0, 109.0, 102.0, 106.0, 1100),
];
// Configure K-Means with modern builder pattern
let config = KMeansConfig::builder()
.k(2) // 2 clusters
.variant(KMeansVariant::Lloyd) // Use Lloyd's algorithm
.max_iterations(100) // Maximum iterations
.parallel(false) // Disable parallel for small dataset
.build()?;
// Initialize and fit the clustering algorithm
let mut kmeans = KMeans::with_config(config);
let result = kmeans.fit(&ohlcv_data)?;
// Display comprehensive results
println!("Clustering completed successfully!");
println!("- Algorithm: {}", result.algorithm_name);
println!("- Clusters: {}", result.n_clusters);
println!("- Iterations: {}", result.iterations);
println!("- Converged: {}", result.converged);
println!("- Silhouette Score: {:.3}", result.silhouette_score);
println!("- Execution Time: {:?}", result.execution_time);
Ok(())
}Re-exports§
pub use core::ClusterResult;pub use core::ClusteringAlgorithm;pub use core::DataLoader;pub use core::FormicaXError;pub use core::OHLCV;
Modules§
- analysis
- Analysis module for FormicaX
- clustering
- Clustering algorithms module for FormicaX
- core
- Core data structures and interfaces for FormicaX
- performance
- Performance optimization utilities for FormicaX
- trading
- Trading-specific utilities and algorithms for FormicaX
- utils
- Utility functions for FormicaX