rolling_std_tick
rolling_std_tick
creates a rolling sample standard deviation in an update_by
table operation using table ticks as the windowing unit. Ticks are row counts. The rolling sample standard deviation can be calculated using forward and/or backward windows.
Sample standard deviation is calculated as the square root of the Bessel-corrected sample variance, which can be shown to be an unbiased estimator of population variance under some conditions. However, sample standard deviation is a biased estimator of population standard deviation.
Syntax
rolling_std_tick(cols: list[str], rev_ticks: int, fwd_ticks: int) -> UpdateByOperation
Parameters
Parameter | Type | Description |
---|---|---|
cols | list[str] | The column(s) to be operated on. These can include expressions to rename the output (e.g., |
rev_ticks | int | The look-behind window size in rows. If positive, it defines the maximum number of rows before the current row that will be used. If negative, it defines the minimum number of rows after the current row that will be used. Includes the current row. |
fwd_ticks | int | The look-forward window size in rows. If positive, it defines the maximum number of rows after the current row that will be used. If negative, it defines the minimum number of rows before the current row that will be used. |
Returns
An UpdateByOperation
to be used in an update_by
table operation.
Examples
The following example performs an update_by on the source
table using two rolling_std_tick
operations.
from deephaven.updateby import rolling_std_tick
from deephaven import empty_table
source = empty_table(10).update(
["Letter = (i % 2 == 0) ? `A` : `B`", "X = randomInt(0, 100)"]
)
op_before = rolling_std_tick(cols=["OpBefore = X"], rev_ticks=3, fwd_ticks=-1)
op_after = rolling_std_tick(cols=["OpAfter = X"], rev_ticks=-1, fwd_ticks=3)
op_middle = rolling_std_tick(cols=["OpMiddle = X"], rev_ticks=1, fwd_ticks=1)
result = source.update_by(ops=[op_before, op_after, op_middle], by="Letter")
- source
- result