3.0 KiB
3.0 KiB
title | description | aliases | menu | weight | flux/v0.x/tags | related | introduced | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
doubleEMA() function | The `doubleEMA()` function calculates the exponential moving average of values grouped into `n` number of points, giving more weight to recent data at double the rate of `exponentialMovingAverage()`. |
|
|
102 |
|
|
0.38.0 |
The doubleEMA()
function calculates the exponential moving average of values in
the _value
column grouped into n
number of points, giving more weight to recent
data at double the rate of exponentialMovingAverage()
.
doubleEMA(n: 5)
Double exponential moving average rules
- A double exponential moving average is defined as
doubleEMA = 2 * EMA_N - EMA of EMA_N
.EMA
is an exponential moving average.N = n
is the period used to calculate the EMA.
- A true double exponential moving average requires at least
2 * n - 1
values. If not enough values exist to calculate the double EMA, it returns aNaN
value. doubleEMA()
inherits all exponential moving average rules.
Parameters
n
Number of points to average.
tables
Input data.
Default is piped-forward data (<-
).
Examples
{{% flux/sample-example-intro %}}
Calculate a three point double exponential moving average
import "sampledata"
sampledata.int()
|> doubleEMA(n: 3)
{{< expand-wrapper >}} {{% expand "View input and output" %}} {{< flex >}} {{% flex-content %}}
Input data
{{% flux/sample set="int" %}}
{{% /flex-content %}} {{% flex-content %}}
Output data
_time | tag | _value |
---|---|---|
2021-01-01T00:00:40Z | t1 | 16.627222222222223 |
2021-01-01T00:00:50Z | t1 | 8.301527777777778 |
_time | tag | _value |
---|---|---|
2021-01-01T00:00:40Z | t2 | 15.907222222222224 |
2021-01-01T00:00:50Z | t2 | 5.941527777777779 |
{{% /flex-content %}} {{< /flex >}} {{% /expand %}} {{< /expand-wrapper >}}