exponentialMovingAverage() function
exponentialMovingAverage()
calculates the exponential moving average of n
number of values in the _value
column giving more weight to more recent data.
Exponential moving average rules
- The first value of an exponential moving average over
n
values is the algebraic mean ofn
values. - Subsequent values are calculated as
y(t) = x(t) * k + y(t-1) * (1 - k)
, where:y(t)
is the exponential moving average at timet
.x(t)
is the value at timet
.k = 2 / (1 + n)
.
- The average over a period populated by only
null
values isnull
. - Exponential moving averages skip
null
values.
Function type signature
(<-tables: stream[{A with _value: B}], n: int) => stream[{A with _value: B}] where B: Numeric
Parameters
n
(Required) Number of values to average.
tables
Input data. Default is piped-forward data (<-
).
Examples
- Calculate a three point exponential moving average
- Calculate a three point exponential moving average with null values
Calculate a three point exponential moving average
import "sampledata"
sampledata.int()
|> exponentialMovingAverage(n: 3)
Calculate a three point exponential moving average with null values
import "sampledata"
sampledata.int(includeNull: true)
|> exponentialMovingAverage(n: 3)
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.