docs-v2/content/flux/v0.x/stdlib/universe/doubleema.md

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()`.
/influxdb/v2.0/reference/flux/functions/built-in/transformations/aggregates/doubleema/
/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/doubleema/
/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/doubleema/
/influxdb/cloud/reference/flux/stdlib/built-in/transformations/doubleema/
flux_0_x_ref
name parent
doubleEMA universe
102
transformations
/flux/v0.x/stdlib/universe/movingaverage/
/flux/v0.x/stdlib/universe/tripleema/
/flux/v0.x/stdlib/universe/timedmovingaverage/
/flux/v0.x/stdlib/universe/exponentialmovingaverage/
/{{< latest "influxdb" "v1" >}}/query_language/functions/#double-exponential-moving-average, InfluxQL DOUBLE_EXPONENTIAL_MOVING_AVERAGE()
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 a NaN 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 >}}