pub struct LinearVolatility { /* private fields */ }Expand description
Calculate moving linear volatility for last length values of type ValueType
LV = Σ[abs(Derivative(1))]
§Parameters
Has a single parameter length: PeriodType
length should be > 0
§Input type
Input type is ValueType
§Output type
Output type is ValueType
Output is always positive or 0.0
§Examples
use yata::prelude::*;
use yata::methods::LinearVolatility;
// volatility over 3 periods
let mut vol = LinearVolatility::new(3, &1.0).unwrap();
vol.next(&1.0);
vol.next(&2.0);
assert_eq!(vol.next(&3.0), 2.0);
assert_eq!(vol.next(&1.0), 4.0);§Performance
O(1)
Trait Implementations§
Source§impl Clone for LinearVolatility
impl Clone for LinearVolatility
Source§fn clone(&self) -> LinearVolatility
fn clone(&self) -> LinearVolatility
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LinearVolatility
impl Debug for LinearVolatility
Source§impl<'de> Deserialize<'de> for LinearVolatility
impl<'de> Deserialize<'de> for LinearVolatility
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Method for LinearVolatility
impl Method for LinearVolatility
Source§fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>
fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>
Static method for creating an instance of the method with given
parameters and initial value (simply first input value)Source§fn next(&mut self, value: &Self::Input) -> Self::Output
fn next(&mut self, value: &Self::Input) -> Self::Output
Generates next output value based on the given input
valueSource§fn with_history(
parameters: Self::Params,
initial_value: &Self::Input,
) -> Result<WithHistory<Self, Self::Output>, Error>
fn with_history( parameters: Self::Params, initial_value: &Self::Input, ) -> Result<WithHistory<Self, Self::Output>, Error>
Creates an instance of the method with given
parameters and initial value, wrapped by historical data holderSource§fn with_last_value(
parameters: Self::Params,
initial_value: &Self::Input,
) -> Result<WithLastValue<Self, Self::Output>, Error>
fn with_last_value( parameters: Self::Params, initial_value: &Self::Input, ) -> Result<WithLastValue<Self, Self::Output>, Error>
Creates an instance of the method with given
parameters and initial value, wrapped by last produced value holderSource§fn memsize(&self) -> (usize, usize)where
Self: Sized,
fn memsize(&self) -> (usize, usize)where
Self: Sized,
👎Deprecated
Returns memory size of the method
(size, align)Source§fn new_over<S>(
parameters: Self::Params,
inputs: S,
) -> Result<Vec<Self::Output>, Error>
fn new_over<S>( parameters: Self::Params, inputs: S, ) -> Result<Vec<Self::Output>, Error>
Creates new
Method instance and iterates it over the given inputs slice and returns Vec of output values. Read moreSource§fn new_apply<T, S>(
parameters: Self::Params,
sequence: &mut S,
) -> Result<(), Error>
fn new_apply<T, S>( parameters: Self::Params, sequence: &mut S, ) -> Result<(), Error>
Creates new
Method instance and applies it to the sequence.Source§impl Peekable<<LinearVolatility as Method>::Output> for LinearVolatility
impl Peekable<<LinearVolatility as Method>::Output> for LinearVolatility
Auto Trait Implementations§
impl Freeze for LinearVolatility
impl RefUnwindSafe for LinearVolatility
impl Send for LinearVolatility
impl Sync for LinearVolatility
impl Unpin for LinearVolatility
impl UnwindSafe for LinearVolatility
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