stock-trek 0.2.5

Stock Trek time-series analysis
Documentation
#[cfg(feature = "python")]
use {
    crate::statistics::moving_average,
    pyo3::{pyclass, pymethods},
};

#[cfg(feature = "python")]
#[pyclass(name = "MovingAverage")]
pub struct PyMovingAverage;

#[cfg(feature = "python")]
#[pymethods]
impl PyMovingAverage {
    pub fn exponential_moving_average(&self, time_series_values: Vec<f64>, alpha: f64) -> Vec<f64> {
        moving_average::exponential_moving_average(&time_series_values, alpha)
    }
    pub fn simple_moving_average(
        &self,
        time_series_values: Vec<f64>,
        window_size: usize,
    ) -> Vec<f64> {
        moving_average::simple_moving_average(&time_series_values, window_size)
    }
    pub fn weighted_moving_average(
        &self,
        time_series_values: Vec<f64>,
        weight_values: Vec<f64>,
    ) -> Vec<f64> {
        moving_average::weighted_moving_average(&time_series_values, &weight_values)
    }
}