Crate oxidiviner

Crate oxidiviner 

Source
Expand description

§OxiDiviner

A comprehensive Rust library for time series analysis and forecasting.

Crates.io Documentation License: MIT

§Overview

OxiDiviner is a comprehensive library for time series analysis and forecasting, designed to provide efficient, accurate, and easy-to-use statistical models for Rust. This library includes all functionality in a single crate for ease of use.

§Enhanced API Modules

OxiDiviner provides several enhanced API modules for different use cases:

  • financial - Specialized functionality for financial time series analysis
  • api - High-level unified interface for all forecasting models
  • quick - One-line utility functions for rapid prototyping
  • batch - Batch processing for multiple time series simultaneously

§Quick Start

use oxidiviner::prelude::*;
use oxidiviner::quick;
use chrono::{Duration, Utc};

// Generate sample data
let start = Utc::now();
let timestamps: Vec<_> = (0..30).map(|i| start + Duration::days(i)).collect();
let values: Vec<f64> = (0..30).map(|i| 100.0 + i as f64 + (i as f64 * 0.1).sin() * 5.0).collect();

// Quick forecasting
let (forecast, model_used) = quick::auto_forecast(timestamps, values, 5)?;
println!("Used {} model, forecast: {:?}", model_used, forecast);

Re-exports§

pub use api::ForecastBuilder;
pub use api::ForecastConfig;
pub use api::ForecastOutput;
pub use api::Forecaster;
pub use api::ModelParameters;
pub use api::ModelType;
pub use batch::BatchConfig;
pub use batch::BatchForecastResult;
pub use batch::BatchModelType;
pub use batch::BatchTimeSeries;
pub use financial::FinancialTimeSeries;
pub use financial::ModelComparison;
pub use financial::ModelResult;
pub use adaptive::AdaptiveBuilder;
pub use adaptive::AdaptiveConfig;
pub use adaptive::MarketRegime;
pub use adaptive::RealTimeQualitySystem;
pub use adaptive::RegimeDetector;
pub use models::autoregressive::ARIMAModel;
pub use models::autoregressive::ARMAModel;
pub use models::autoregressive::ARModel;
pub use models::autoregressive::SARIMAModel;
pub use models::autoregressive::VARModel;
pub use models::exponential_smoothing::DailyETSModel;
pub use models::exponential_smoothing::DampedTrendModel;
pub use models::exponential_smoothing::ETSComponent;
pub use models::exponential_smoothing::ETSModel;
pub use models::exponential_smoothing::HoltLinearModel;
pub use models::exponential_smoothing::HoltWintersModel;
pub use models::exponential_smoothing::MinuteETSModel;
pub use models::exponential_smoothing::SimpleESModel;
pub use models::garch::EGARCHModel;
pub use models::garch::GARCHMModel;
pub use models::garch::GARCHModel;
pub use models::garch::GJRGARCHModel;
pub use models::garch::RiskPremiumType;
pub use models::moving_average::MAModel;
pub use models::cointegration::VECMModel;
pub use models::decomposition::STLModel;
pub use models::nonlinear::TARModel;
pub use models::regime_switching::MarkovSwitchingModel;
pub use models::state_space::KalmanFilter;
pub use crate::core::*;

Modules§

adaptive
Adaptive Forecasting System
advanced
Advanced API for specialized use cases
api
High-level API module
batch
Batch processing module
builder
Builder API namespace for fluent model construction
convenience
Convenience functions for quick forecasting
core
OxiDiviner Core
ensemble
Ensemble Forecasting Methods
financial
Financial time series analysis module
math
models
OxiDiviner Models
optimization
Parameter Optimization Engine
prelude
Prelude module for convenient imports
quick
Quick utilities module