pub mod ecld;
pub mod gaussian_hmm;
pub mod hmm;
pub mod hmm_forecast;
pub mod volatility_clustering;
pub use ecld::{ecld_cdf, ecld_log_pdf, ecld_pdf, ecld_variance, natural_to_work, work_to_natural};
pub use gaussian_hmm::{
EmissionFamily, GaussianHmmDecode, GaussianHmmError, GaussianHmmFilter, GaussianHmmFitConfig,
GaussianHmmFitResult, GaussianHmmParams, fit_em,
};
pub use hmm_forecast::{
HmmDecodeStatsRow, HmmDiagnostics, HmmStateObsStats, calc_stats_from_obs, decode_stats_history,
forecast_observation_mean, forecast_observation_pdf, forecast_state, forecast_volatility,
pseudo_residuals,
};
pub mod analytics;
pub mod ensemble;
pub mod gmm;
pub mod hmm_gas;
pub mod hsmm;
pub mod india;
pub mod ms_garch;
pub mod multi_asset;
pub mod pelt;
pub mod tar;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, Default)]
pub enum MarketRegime {
Bull,
Bear,
Crisis,
#[default]
Steady,
Cluster(u8),
}