3.0 KiB
3.0 KiB
title | description | aliases | menu | weight | flux/v0.x/tags | related | introduced | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
relativeStrengthIndex() function | The `relativeStrengthIndex()` function measures the relative speed and change of values in an input table. |
|
|
102 |
|
|
0.38.0 |
The relativeStrengthIndex()
function measures the relative speed and change of
values in an input table.
relativeStrengthIndex(
n: 5,
columns: ["_value"],
)
Relative strength index rules
- The general equation for calculating a relative strength index (RSI) is
RSI = 100 - (100 / (1 + (AVG GAIN / AVG LOSS)))
. - For the first value of the RSI,
AVG GAIN
andAVG LOSS
are averages of then
period. - For subsequent calculations:
AVG GAIN
=((PREVIOUS AVG GAIN) * (n - 1)) / n
AVG LOSS
=((PREVIOUS AVG LOSS) * (n - 1)) / n
relativeStrengthIndex()
ignoresnull
values.
Parameters
n
({{< req >}}) The number of values to use to calculate the RSI.
columns
Columns to operate on.
Default is ["_value"]
.
tables
Input data.
Default is piped-forward data (<-
).
Output tables
For each input table with x
rows, relativeStrengthIndex()
outputs a table
with x - n
rows.
Examples
{{% flux/sample-example-intro %}}
Calculate a three point relative strength index
import "sampledata"
sampledata.int()
|> relativeStrengthIndex(n: 3)
{{< expand-wrapper >}} {{% expand "View input and output" %}} {{< flex >}} {{% flex-content %}}
Input data
{{% flux/sample "int" %}}
{{% /flex-content %}} {{% flex-content %}}
Output data
_time | tag | _value |
---|---|---|
2021-01-01T00:00:30Z | t1 | 84.375 |
2021-01-01T00:00:40Z | t1 | 73.97260273972603 |
2021-01-01T00:00:50Z | t1 | 36.672325976230894 |
_time | tag | _value |
---|---|---|
2021-01-01T00:00:30Z | t2 | 70.27027027027026 |
2021-01-01T00:00:40Z | t2 | 59.42857142857142 |
2021-01-01T00:00:50Z | t2 | 40.625 |
{{% /flex-content %}} | ||
{{< /flex >}} | ||
{{% /expand %}} | ||
{{< /expand-wrapper >}} |