pub struct LaggedFeatures {
pub lag1: Vec<f64>,
pub lag5: Vec<f64>,
pub lag10: Vec<f64>,
pub lag21: Vec<f64>,
}Expand description
Creates lagged versions of a feature series at standard lags (1, 5, 10, 21).
Missing values at the beginning of a lag series are filled with f64::NAN.
§Example
use fin_primitives::ml_features::LaggedFeatures;
let series = (1..=25).map(|i| i as f64).collect::<Vec<_>>();
let lagged = LaggedFeatures::compute(&series);
// lag-1 of index 1 = series[0] = 1.0
assert!((lagged.lag1[1] - 1.0).abs() < 1e-10);
// lag-5 of index 0 is NaN
assert!(lagged.lag5[0].is_nan());Fields§
§lag1: Vec<f64>Original series lagged by 1 period.
lag5: Vec<f64>Original series lagged by 5 periods.
lag10: Vec<f64>Original series lagged by 10 periods.
lag21: Vec<f64>Original series lagged by 21 periods.
Implementations§
Source§impl LaggedFeatures
impl LaggedFeatures
Sourcepub fn compute(series: &[f64]) -> Self
pub fn compute(series: &[f64]) -> Self
Compute lagged feature series from a price/return series.
The output vectors have the same length as the input.
Positions before the lag are f64::NAN.
Sourcepub fn as_named_pairs(&self) -> Vec<(&'static str, &[f64])>
pub fn as_named_pairs(&self) -> Vec<(&'static str, &[f64])>
Returns all four lag series as a vec of (lag_name, values) pairs.
Trait Implementations§
Source§impl Clone for LaggedFeatures
impl Clone for LaggedFeatures
Auto Trait Implementations§
impl Freeze for LaggedFeatures
impl RefUnwindSafe for LaggedFeatures
impl Send for LaggedFeatures
impl Sync for LaggedFeatures
impl Unpin for LaggedFeatures
impl UnsafeUnpin for LaggedFeatures
impl UnwindSafe for LaggedFeatures
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more