- Backward simple
-
Backward_simple_n = 1/k * sum{v_n-(k-1) ... v_n}
- Center simple
-
Center_simple_n = 1/k * sum{v_n-(n-1)/2 ... v_n ... v_n+(n-1)/2}
- Forward simple
-
Forward_simple_n = 1/k * sum{v_n ... v_n+k-1}
- Backward Gaussian
-
Backward_gaussian_n = sum{i = 0 ... k-1} gauss(i,k-1,std_dev)*v_n-i
- Center Gaussian
-
Center_gaussian_n = sum{i = 0 ... k-1} gauss(i,(k-1)/2,std_dev)*v_n+(i-(k-1)/2)
- Forward Gaussian
-
Forward_gaussian_n = sum{i = 0 ... k-1} gauss(i,0,std_dev)*v_n+i
- Harmonic Mean Center
-
The harmonic mean can only be used for strictly positive values.
Center_harmonic_n = n/{sum{i = 0 ... k-1} 1/v_n+(i-(k-1)/2)
- Cumulative simple
-
Cumulative_n= 1/n * sum{v_0 ... v_n-1}
- Simple exponential
-
Simple_exponential_0 = v_0
EMA(v,n) = Simple_exponential_n = alpha*v_n + (1-alpha)*Simple_exponential_n-1
- Double exponential
-
Double_exponential_n = 2 * EMA(v,n) - EMA(EMA(v,n),n)
- Triple exponential
-
Triple_exponential_n = 3 * EMA(v,n) - 3 * EMA(EMA(v,n),n) + EMA(EMA(EMA(v,n),n),n)
- Old Exponential
-
Exponential_n = alpha*v_n + (1-alpha) * Backward_simple_n-1
- Appendix: Gaussian
-
For the Gaussian weighted moving average the individual values are
weighted based on the position in the window.
std_dev = (k - 1) / 4
and the weighting:
gauss(i,mean,std_dev) = Math.exp((-0.5) * (i - mean) * (i - mean) / std_dev^2)
- Appendix: Exponential
-
alpha = 2/(k+1)