diff --git a/src/correlation.rs b/src/correlation.rs index d1dc3f5..a7cf639 100644 --- a/src/correlation.rs +++ b/src/correlation.rs @@ -35,8 +35,8 @@ use crate::statistic::distribution::{cov_stdev, rank, RankMode}; /// use traquer::correlation; /// /// correlation::pcc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -91,8 +91,8 @@ pub fn pcc<'a, T: ToPrimitive>( /// use traquer::correlation; /// /// correlation::rsq( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -124,8 +124,8 @@ pub fn rsq<'a, T: ToPrimitive>( /// use traquer::correlation; /// /// correlation::beta( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 2).collect::>(); /// /// ``` @@ -189,8 +189,8 @@ pub fn beta<'a, T: ToPrimitive>( /// use traquer::correlation; /// /// correlation::perf( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 2).collect::>(); /// /// ``` @@ -227,8 +227,8 @@ pub fn perf<'a, T: ToPrimitive>( /// use traquer::correlation; /// /// correlation::rsc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// ).collect::>(); /// /// ``` @@ -262,8 +262,8 @@ pub fn rsc<'a, T: ToPrimitive>( /// use traquer::correlation; /// /// correlation::srcc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -308,8 +308,8 @@ pub fn srcc<'a, T: ToPrimitive + PartialOrd + Clone>( /// use traquer::correlation; /// /// correlation::krcc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -370,8 +370,8 @@ pub fn krcc<'a, T: ToPrimitive>( /// use traquer::correlation; /// /// correlation::hoeffd( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` diff --git a/src/momentum.rs b/src/momentum.rs index ab5693e..b67066a 100644 --- a/src/momentum.rs +++ b/src/momentum.rs @@ -34,7 +34,7 @@ use crate::volatility::_true_range; /// use traquer::momentum; /// /// momentum::rsi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -77,7 +77,7 @@ pub fn rsi(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -140,7 +140,7 @@ pub fn crsi( /// use traquer::momentum; /// /// momentum::macd( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 6).collect::>(); /// /// ``` @@ -177,7 +177,7 @@ pub fn macd( /// use traquer::momentum; /// /// momentum::cmo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -210,7 +210,7 @@ pub fn cmo(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -246,9 +246,9 @@ pub fn cfo(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -283,9 +283,9 @@ pub fn elder_ray<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::wpr( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -328,7 +328,7 @@ pub fn wpr<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::ppo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 6).collect::>(); /// /// ``` @@ -360,7 +360,7 @@ pub fn ppo( /// use traquer::momentum; /// /// momentum::apo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 6).collect::>(); /// /// ``` @@ -392,7 +392,7 @@ pub fn apo( /// use traquer::momentum; /// /// momentum::pmo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, 3).collect::>(); /// /// ``` @@ -434,9 +434,9 @@ pub fn pmo(data: &[T], win1: usize, win2: usize) -> impl Iterato /// use traquer::momentum; /// /// momentum::ultimate( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 2, 4, 8).collect::>(); /// /// ``` @@ -508,9 +508,9 @@ pub fn ultimate<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::pgo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -591,10 +591,10 @@ pub(crate) fn _swing<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::si( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 0.5).collect::>(); /// /// ``` @@ -627,7 +627,7 @@ pub fn si<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::trix( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,5.0,2.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,5.0,2.0], /// 3).collect::>(); /// /// ``` @@ -667,7 +667,7 @@ pub fn trix(close: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -749,9 +749,9 @@ fn stoch<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::stochastic( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3).collect::>(); /// /// ``` @@ -808,7 +808,7 @@ fn _stc( /// use traquer::momentum; /// /// momentum::stc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,6.0,1.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,6.0,1.0], /// 2, 3, 5).collect::>(); /// /// ``` @@ -859,10 +859,10 @@ pub fn stc( /// use traquer::momentum; /// /// momentum::relative_vigor( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -919,8 +919,8 @@ pub fn relative_vigor<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::fisher( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -974,7 +974,7 @@ pub fn fisher<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::rainbow( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 2, 3).collect::>(); /// /// ``` @@ -1032,7 +1032,7 @@ pub fn rainbow( /// use traquer::momentum; /// /// momentum::coppock( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 2, 3, 6).collect::>(); /// /// ``` @@ -1077,7 +1077,7 @@ pub fn coppock( /// use traquer::momentum; /// /// momentum::roc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -1106,10 +1106,10 @@ pub fn roc(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -1152,7 +1152,7 @@ pub fn bal_power<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::disparity( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -1184,8 +1184,8 @@ pub fn disparity(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -1220,7 +1220,7 @@ pub fn qstick<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::cog( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -1262,7 +1262,7 @@ pub fn cog(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -1300,7 +1300,7 @@ pub fn psych(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -1355,7 +1355,7 @@ pub fn tsi( /// ``` /// use traquer::momentum; /// -/// momentum::special_k(&vec![1.0; 50]).collect::>(); +/// momentum::special_k(&[1.0; 50]).collect::>(); /// /// ``` pub fn special_k(data: &[T]) -> impl Iterator + '_ { @@ -1383,7 +1383,7 @@ pub fn special_k(data: &[T]) -> impl Iterator + '_ { /// ``` /// use traquer::momentum; /// -/// momentum::kst(&vec![1.0; 50], Some([10, 15, 25, 30]), None).collect::>(); +/// momentum::kst(&[1.0; 50], Some([10, 15, 25, 30]), None).collect::>(); /// /// ``` pub fn kst( @@ -1443,7 +1443,7 @@ fn prings<'a, 'b, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::derivative( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], /// 2, 3, 2).collect::>(); /// /// ``` @@ -1536,7 +1536,7 @@ pub fn cci<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::qqe( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], /// 3, 3).collect::>(); /// /// ``` @@ -1612,8 +1612,8 @@ pub fn qqe( /// use traquer::momentum; /// /// momentum::deli( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0,4.0], /// 3).collect::>(); /// /// ``` @@ -1664,7 +1664,7 @@ pub fn deli<'a, T: ToPrimitive>( /// use traquer::momentum; /// /// momentum::gator( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0], /// 6, 4, 4, 3, 3, 2).collect::>(); /// /// ``` @@ -1710,9 +1710,9 @@ pub fn gator( /// use traquer::momentum; /// /// momentum::kdj( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 2, None, Some(1.0)).collect::>(); /// /// ``` diff --git a/src/smooth.rs b/src/smooth.rs index a00fe04..39976f8 100644 --- a/src/smooth.rs +++ b/src/smooth.rs @@ -37,7 +37,7 @@ pub enum MaMode { /// ``` /// use traquer::smooth; /// -/// smooth::ma(&vec![1.0,2.0,3.0,4.0,5.0], 3, smooth::MaMode::SMA).collect::>(); +/// smooth::ma(&[1.0,2.0,3.0,4.0,5.0], 3, smooth::MaMode::SMA).collect::>(); /// ``` pub fn ma( data: &[T], @@ -73,7 +73,7 @@ pub fn ma( /// ``` /// use traquer::smooth; /// -/// smooth::ewma(&vec![1.0,2.0,3.0,4.0,5.0], 3).collect::>(); +/// smooth::ewma(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn ewma(data: &[T], window: usize) -> impl Iterator + '_ { let initial = data[..window] @@ -103,7 +103,7 @@ pub fn ewma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::sma(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn sma(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN).take(window - 1).chain( @@ -128,7 +128,7 @@ pub fn sma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::dema(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn dema(data: &[T], window: usize) -> impl Iterator + '_ { let ma = ewma(data, window).collect::>(); @@ -154,7 +154,7 @@ pub fn dema(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::tema(&[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], 3).collect::>(); /// ``` pub fn tema(data: &[T], window: usize) -> impl Iterator + '_ { let ma = ewma(data, window).collect::>(); @@ -179,7 +179,7 @@ pub fn tema(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::wma(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn wma(data: &[T], window: usize) -> impl Iterator + '_ { let denom = (u64::pow(window as u64, 2) + window as u64) as f64 / 2.0; @@ -210,7 +210,7 @@ pub fn wma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::pwma(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn pwma(data: &[T], window: usize) -> impl Iterator + '_ { let n = window - 1; @@ -248,7 +248,7 @@ pub fn pwma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::wilder(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn wilder(data: &[T], window: usize) -> Box + '_> { if window == 1 { @@ -281,7 +281,7 @@ pub fn wilder(data: &[T], window: usize) -> Box>(); +/// smooth::hull(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn hull(data: &[T], window: usize) -> impl Iterator + '_ { let ma = wma(data, window); @@ -306,7 +306,7 @@ pub fn hull(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::vidya(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn vidya(data: &[T], window: usize) -> impl Iterator + '_ { let alpha = 2.0 / (window + 1) as f64; @@ -362,7 +362,7 @@ pub(crate) fn _cmo(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::vma(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn vma(data: &[T], window: usize) -> impl Iterator + '_ { let alpha = 2.0 / (window + 1) as f64; @@ -392,7 +392,7 @@ pub fn vma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::lrf(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn lrf(data: &[T], window: usize) -> impl Iterator + '_ { let x_sum = (window * (window + 1)) as f64 / 2.0; @@ -426,7 +426,7 @@ pub fn lrf(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::trima(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn trima(data: &[T], window: usize) -> impl Iterator + '_ { let win1 = window.div_ceil(2); @@ -450,7 +450,7 @@ pub fn trima(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::zlma(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn zlma(data: &[T], window: usize) -> impl Iterator + '_ { let lag = (window - 1) / 2; @@ -488,7 +488,7 @@ pub fn zlma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::kernel(&[1.0, 2.0, 3.0, 4.0, 5.0], 3.0).collect::>(); /// ``` pub fn kernel(data: &[T], sigma: f64) -> impl Iterator + '_ { let beta = 1.0 / (2.0 * sigma.powi(2)); @@ -527,7 +527,7 @@ pub fn kernel(data: &[T], sigma: f64) -> impl Iterator>(); +/// smooth::kama(&[1.0, 2.0, 3.0, 4.0, 5.0], 3, Some(2), Some(30)).collect::>(); /// ``` pub fn kama( data: &[T], @@ -565,7 +565,7 @@ pub fn kama( /// ``` /// use traquer::smooth; /// -/// smooth::alma(&vec![1.0, 2.0, 3.0, 4.0, 5.0], 3, 2.0, Some(0.5)).collect::>(); +/// smooth::alma(&[1.0, 2.0, 3.0, 4.0, 5.0], 3, 2.0, Some(0.5)).collect::>(); /// ``` pub fn alma( data: &[T], @@ -604,7 +604,7 @@ pub fn alma( /// ``` /// use traquer::smooth; /// -/// smooth::mdma(&vec![1.0, 2.0, 3.0, 4.0, 5.0], 3).collect::>(); +/// smooth::mdma(&[1.0, 2.0, 3.0, 4.0, 5.0], 3).collect::>(); /// ``` pub fn mdma(data: &[T], window: usize) -> impl Iterator + '_ { let k = 0.6; @@ -633,7 +633,7 @@ pub fn mdma(data: &[T], window: usize) -> impl Iterator>(); /// ``` pub fn hwma( @@ -671,7 +671,7 @@ pub fn hwma( /// ``` /// use traquer::smooth; /// -/// smooth::fwma(&vec![1.0, 2.0, 3.0, 4.0, 5.0], 3).collect::>(); +/// smooth::fwma(&[1.0, 2.0, 3.0, 4.0, 5.0], 3).collect::>(); /// ``` pub fn fwma(data: &[T], window: usize) -> impl Iterator + '_ { let mut denom = 2.0; @@ -711,7 +711,7 @@ pub fn fwma(data: &[T], window: usize) -> impl Iterator>(); +/// smooth::ssf(&[1.0, 2.0, 3.0, 4.0, 5.0], 3, Some(false)).collect::>(); /// ``` pub fn ssf( data: &[T], @@ -775,7 +775,7 @@ pub fn ssf( /// ``` /// use traquer::smooth; /// -/// smooth::mama(&vec![1.0, 2.0, 3.0, 4.0, 5.0], None, Some(0.05)).collect::>(); +/// smooth::mama(&[1.0, 2.0, 3.0, 4.0, 5.0], None, Some(0.05)).collect::>(); /// ``` pub fn mama( data: &[T], @@ -890,7 +890,7 @@ pub fn mama( /// use traquer::smooth; /// /// smooth::t3( -/// &vec![1.0,2.0,3.0,4.0,5.0,2.0,3.0,4.0,2.0,3.0,4.0,2.0,3.0,4.0], +/// &[1.0,2.0,3.0,4.0,5.0,2.0,3.0,4.0,2.0,3.0,4.0,2.0,3.0,4.0], /// 3, None).collect::>(); /// ``` pub fn t3( diff --git a/src/statistic/distribution.rs b/src/statistic/distribution.rs index d991d46..486bb5d 100644 --- a/src/statistic/distribution.rs +++ b/src/statistic/distribution.rs @@ -22,7 +22,7 @@ use num_traits::cast::ToPrimitive; /// ``` /// use traquer::statistic::distribution; /// -/// distribution::variance(&vec![1.0,2.0,3.0,4.0,5.0], 3).collect::>(); +/// distribution::variance(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn variance(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN) @@ -61,7 +61,7 @@ pub(crate) fn _std_dev( /// ``` /// use traquer::statistic::distribution; /// -/// distribution::std_dev(&vec![1.0,2.0,3.0,4.0,5.0], 3).collect::>(); +/// distribution::std_dev(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn std_dev(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN) @@ -86,7 +86,7 @@ pub fn std_dev(data: &[T], window: usize) -> impl Iterator>(); +/// distribution::zscore(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn zscore(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN) @@ -120,7 +120,7 @@ pub fn zscore(data: &[T], window: usize) -> impl Iterator>(); +/// distribution::mad(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn mad(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN) @@ -152,7 +152,7 @@ pub fn mad(data: &[T], window: usize) -> impl Iterator>(); +/// distribution::cv(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn cv(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN) @@ -185,7 +185,7 @@ pub fn cv(data: &[T], window: usize) -> impl Iterator>(); +/// distribution::kurtosis(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn kurtosis(data: &[T], window: usize) -> impl Iterator + '_ { let adj1 = ((window + 1) * window * (window - 1)) as f64 / ((window - 2) * (window - 3)) as f64; @@ -229,7 +229,7 @@ pub fn kurtosis(data: &[T], window: usize) -> impl Iterator>(); +/// distribution::skew(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn skew(data: &[T], window: usize) -> impl Iterator + '_ { iter::repeat(f64::NAN) @@ -284,7 +284,7 @@ fn quickselect(data: &mut [T], k: usize) -> /// ``` /// use traquer::statistic::distribution; /// -/// distribution::median(&vec![1.0,2.0,3.0,4.0,5.0], 3).collect::>(); +/// distribution::median(&[1.0,2.0,3.0,4.0,5.0], 3).collect::>(); /// ``` pub fn median( data: &[T], @@ -303,7 +303,7 @@ pub fn median( /// ``` /// use traquer::statistic::distribution; /// -/// distribution::quantile(&vec![1.0,2.0,3.0,4.0,5.0], 3, 90.0).collect::>(); +/// distribution::quantile(&[1.0,2.0,3.0,4.0,5.0], 3, 90.0).collect::>(); /// ``` pub fn quantile( data: &[T], diff --git a/src/statistic/regression.rs b/src/statistic/regression.rs index 62def3b..e3576f4 100644 --- a/src/statistic/regression.rs +++ b/src/statistic/regression.rs @@ -24,7 +24,7 @@ use num_traits::cast::ToPrimitive; /// ``` /// use traquer::statistic::regression; /// -/// regression::mse(&vec![1.0,2.0,3.0,4.0,5.0], &vec![1.0,2.0,3.0,4.0,5.0]).collect::>(); +/// regression::mse(&[1.0,2.0,3.0,4.0,5.0], &[1.0,2.0,3.0,4.0,5.0]).collect::>(); /// ``` pub fn mse<'a, T: ToPrimitive>(data: &'a [T], estimate: &'a [T]) -> impl Iterator + 'a { data.iter() @@ -55,7 +55,7 @@ pub fn mse<'a, T: ToPrimitive>(data: &'a [T], estimate: &'a [T]) -> impl Iterato /// ``` /// use traquer::statistic::regression; /// -/// regression::rmse(&vec![1.0,2.0,3.0,4.0,5.0], &vec![1.0,2.0,3.0,4.0,5.0]).collect::>(); +/// regression::rmse(&[1.0,2.0,3.0,4.0,5.0], &[1.0,2.0,3.0,4.0,5.0]).collect::>(); /// ``` pub fn rmse<'a, T: ToPrimitive>( data: &'a [T], @@ -90,7 +90,7 @@ pub fn rmse<'a, T: ToPrimitive>( /// ``` /// use traquer::statistic::regression; /// -/// regression::mae(&vec![1.0,2.0,3.0,4.0,5.0], &vec![1.0,2.0,3.0,4.0,5.0]).collect::>(); +/// regression::mae(&[1.0,2.0,3.0,4.0,5.0], &[1.0,2.0,3.0,4.0,5.0]).collect::>(); /// ``` pub fn mae<'a, T: ToPrimitive>(data: &'a [T], estimate: &'a [T]) -> impl Iterator + 'a { data.iter() @@ -121,7 +121,7 @@ pub fn mae<'a, T: ToPrimitive>(data: &'a [T], estimate: &'a [T]) -> impl Iterato /// ``` /// use traquer::statistic::regression; /// -/// regression::mape(&vec![1.0,2.0,3.0,4.0,5.0], &vec![1.0,2.0,3.0,4.0,5.0]).collect::>(); +/// regression::mape(&[1.0,2.0,3.0,4.0,5.0], &[1.0,2.0,3.0,4.0,5.0]).collect::>(); /// ``` pub fn mape<'a, T: ToPrimitive>( data: &'a [T], @@ -157,7 +157,7 @@ pub fn mape<'a, T: ToPrimitive>( /// ``` /// use traquer::statistic::regression; /// -/// regression::smape(&vec![1.0,2.0,3.0,4.0,5.0], &vec![1.0,2.0,3.0,4.0,5.0]).collect::>(); +/// regression::smape(&[1.0,2.0,3.0,4.0,5.0], &[1.0,2.0,3.0,4.0,5.0]).collect::>(); /// ``` pub fn smape<'a, T: ToPrimitive>( data: &'a [T], @@ -192,7 +192,7 @@ pub fn smape<'a, T: ToPrimitive>( /// ``` /// use traquer::statistic::regression; /// -/// regression::mda(&vec![1.0,2.0,3.0,4.0,5.0], &vec![1.0,2.0,3.0,4.0,5.0]).collect::>(); +/// regression::mda(&[1.0,2.0,3.0,4.0,5.0], &[1.0,2.0,3.0,4.0,5.0]).collect::>(); /// ``` pub fn mda<'a, T: ToPrimitive>(data: &'a [T], estimate: &'a [T]) -> impl Iterator + 'a { iter::once(f64::NAN).chain(data[1..].iter().enumerate().zip(&estimate[1..]).scan( diff --git a/src/trend.rs b/src/trend.rs index f7ee799..9234361 100644 --- a/src/trend.rs +++ b/src/trend.rs @@ -36,9 +36,9 @@ use crate::volatility::{_true_range, atr}; /// use traquer::trend; /// /// trend::shinohara( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -97,9 +97,9 @@ pub fn shinohara<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::adx( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 6).collect::>(); /// /// ``` @@ -179,9 +179,9 @@ pub fn adx<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::vortex( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -247,10 +247,10 @@ pub fn vortex<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::asi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 0.5).collect::>(); /// /// ``` @@ -287,7 +287,7 @@ pub fn asi<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::ulcer( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -328,9 +328,9 @@ pub fn ulcer(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -404,9 +404,9 @@ pub fn supertrend<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::rwi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -464,8 +464,8 @@ pub fn rwi<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::psar( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// None, None).collect::>(); /// /// ``` @@ -544,7 +544,7 @@ pub fn psar<'a, T: ToPrimitive>( /// use traquer::{trend,smooth}; /// /// trend::dpo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, Some(smooth::MaMode::SMA)).collect::>(); /// /// ``` @@ -582,8 +582,8 @@ pub fn dpo( /// use traquer::trend; /// /// trend::aroon( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3).collect::>(); /// /// ``` @@ -645,9 +645,9 @@ pub fn aroon<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::chandelier( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, Some(3.0)).collect::>(); /// /// ``` @@ -696,8 +696,8 @@ pub fn chandelier<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::zigzag( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// Some(3.0)).collect::>(); /// /// ``` @@ -792,7 +792,7 @@ pub fn zigzag<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::decay( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3).collect::>(); /// /// ``` @@ -824,9 +824,9 @@ pub fn decay(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -890,9 +890,9 @@ pub fn cks<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::atr_stop( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, Some(1.0)).collect::>(); /// /// ``` @@ -956,7 +956,7 @@ pub fn atr_stop<'a, T: ToPrimitive>( /// use traquer::trend; /// /// trend::alligator( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0,2.0,3.0,4.0,5.0,6.0], /// 6, 4, 4, 3, 3, 2).collect::>(); /// /// ``` @@ -1003,9 +1003,9 @@ pub fn alligator( /// use traquer::trend; /// /// trend::ichimoku( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3,2,2,2).collect::>(); /// /// ``` @@ -1142,7 +1142,7 @@ fn linreg(x: &[f64], y: &[f64]) -> f64 { /// ``` /// use traquer::trend; /// -/// trend::hurst(&vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], 5, None).collect::>(); +/// trend::hurst(&[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], 5, None).collect::>(); /// /// ``` pub fn hurst( diff --git a/src/volatility.rs b/src/volatility.rs index 9643a6a..61627f8 100644 --- a/src/volatility.rs +++ b/src/volatility.rs @@ -32,8 +32,8 @@ use crate::statistic::distribution::{_std_dev as unpadded_std_dev, std_dev as pa /// use traquer::volatility; /// /// volatility::mass( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 6).collect::>(); /// /// ``` @@ -79,9 +79,9 @@ pub fn mass<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::keltner( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -116,8 +116,8 @@ pub fn keltner<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::gri( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -172,9 +172,9 @@ pub(crate) fn _true_range<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::tr( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// ).collect::>(); /// /// ``` @@ -200,9 +200,9 @@ pub fn tr<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::atr( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -232,9 +232,9 @@ pub fn atr<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::typical( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -266,7 +266,7 @@ pub fn typical<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::std_dev( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, Some(1.0)).collect::>(); /// /// ``` @@ -293,7 +293,7 @@ pub fn std_dev( /// use traquer::{volatility, smooth}; /// /// volatility::bbands( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, Some(1.0), Some(smooth::MaMode::SMA)).collect::>(); /// /// ``` @@ -322,8 +322,8 @@ pub fn bbands( /// use traquer::volatility; /// /// volatility::donchian( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -359,8 +359,8 @@ pub fn donchian<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::fbands( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// ).collect::>(); /// /// ``` @@ -431,7 +431,7 @@ pub fn fbands<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::hv( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, Some(1.0)).collect::>(); /// /// ``` @@ -468,9 +468,9 @@ pub fn hv( /// use traquer::volatility; /// /// volatility::starc( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, 2, Some(1.3)).collect::>(); /// /// ``` @@ -508,8 +508,8 @@ pub fn starc<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::cvi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, 3).collect::>(); /// /// ``` @@ -554,7 +554,7 @@ pub fn cvi<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::relative_vol( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6, 2).collect::>(); /// /// ``` @@ -605,7 +605,7 @@ pub fn relative_vol( /// use traquer::volatility; /// /// volatility::inertia( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 2).collect::>(); /// /// ``` @@ -642,9 +642,9 @@ pub fn inertia( /// use traquer::volatility; /// /// volatility::chop( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -695,9 +695,9 @@ pub fn chop<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::vhf( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -750,10 +750,10 @@ pub fn vhf<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::heikin_ashi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// ).collect::>(); /// /// ``` @@ -814,9 +814,9 @@ pub fn heikin_ashi<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::wcp( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// ).collect::>(); /// /// ``` @@ -848,7 +848,7 @@ pub fn wcp<'a, T: ToPrimitive>( /// use traquer::volatility; /// /// volatility::cc_hv( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3).collect::>(); /// /// ``` @@ -886,10 +886,10 @@ pub fn cc_hv(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` diff --git a/src/volume.rs b/src/volume.rs index 8398378..32e4e7b 100644 --- a/src/volume.rs +++ b/src/volume.rs @@ -95,10 +95,10 @@ fn vforce_alt<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::kvo( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 3, 6, None).collect::>(); /// /// ``` @@ -159,10 +159,10 @@ fn wilder_sum(data: &[T], window: usize) -> impl Iterator>(); /// /// ``` @@ -223,10 +223,10 @@ pub fn twiggs<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::ad( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// None).collect::>(); /// /// ``` @@ -300,8 +300,8 @@ pub fn ad<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::elder_force( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -343,10 +343,10 @@ pub fn elder_force<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::mfi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -409,10 +409,10 @@ pub fn mfi<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::cmf( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -463,8 +463,8 @@ pub fn cmf<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::tvi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 0.5).collect::>(); /// /// ``` @@ -516,9 +516,9 @@ pub fn tvi<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::ease( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], /// 6).collect::>(); /// /// ``` @@ -566,8 +566,8 @@ pub fn ease<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::obv( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); /// /// ``` pub fn obv<'a, T: ToPrimitive, U: ToPrimitive>( @@ -601,9 +601,9 @@ pub fn obv<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::bw_mfi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); /// /// ``` pub fn bw_mfi<'a, T: ToPrimitive, U: ToPrimitive>( @@ -635,8 +635,8 @@ pub fn bw_mfi<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::pvi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); /// /// ``` pub fn pvi<'a, T: ToPrimitive, U: ToPrimitive>( @@ -673,8 +673,8 @@ pub fn pvi<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::nvi( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0]).collect::>(); /// /// ``` pub fn nvi<'a, T: ToPrimitive, U: ToPrimitive>( @@ -710,10 +710,10 @@ pub fn nvi<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::vwap( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], None).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], None).collect::>(); /// /// ``` pub fn vwap<'a, T: ToPrimitive, U: ToPrimitive>( @@ -767,8 +767,8 @@ pub fn vwap<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::vwma( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], 3).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], 3).collect::>(); /// /// ``` pub fn vwma<'a, T: ToPrimitive, U: ToPrimitive>( @@ -806,8 +806,8 @@ pub fn vwma<'a, T: ToPrimitive, U: ToPrimitive>( /// use traquer::volume; /// /// volume::vpt( -/// &vec![1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], -/// &vec![1,2,3,4,5,6,4,5]).collect::>(); +/// &[1.0,2.0,3.0,4.0,5.0,6.0,4.0,5.0], +/// &[1,2,3,4,5,6,4,5]).collect::>(); /// /// ``` pub fn vpt<'a, T: ToPrimitive, U: ToPrimitive>(