deephaven.experimental.ema#

This modules allows users to define exponential moving averages that can be used in the Deephaven query language.

ByEmaSimple(nullBehavior, nanBehavior, mode, timeScale, timeUnit, type=None)[source]#

Constructor for an engine aware Exponential Moving Average (EMA) which performs a groupBy ema calculation without the added inefficiency of explicitly performing the grouping and then ungrouping operations.

Parameters:
  • nullBehavior – enum value ‘BD_RESET’, ‘BD_SKIP’, ‘BD_PROCESS’ which determines calculation behavior upon encountering a null value.

  • nanBehavior – enum value ‘BD_RESET’, ‘BD_SKIP’, ‘BD_PROCESS’ which determines calculation behavior upon encountering a null value.

  • mode – enum value ‘TICK’, ‘TIME’ specifying whether to calculate the ema with respect to record count or elapsed time.

  • timeScale – the ema decay constant.

  • timeUnit – None (assumed Nanoseconds), or one of the java.util.concurrent.TimeUnit enum values - like ‘MILLISECONDS’, ‘SECONDS’, ‘MINUTES’, ‘HOURS’, …

  • type – None or enum value ‘LEVEL’, ‘DIFFERENCE’.

Returns:

io.deephaven.numerics.movingaverages.ByEmaSimple instance.

Ema(type, mode, timeScale)[source]#

Constructor for a Exponential Moving Average (EMA) calculation object.

Parameters:
  • type – None or enum value ‘LEVEL’, ‘DIFFERENCE’.

  • mode – enum value ‘TICK’, ‘TIME’ specifying whether to calculate the ema with respect to record count or elapsed time.

  • timeScale – the ema decay constant (wrt nanosecond timestamp).

Returns:

io.deephaven.numerics.movingaverages.Ema instance.

EmaArray(type, mode, timeScales)[source]#

Constructor for object managing an array of Exponential Moving Average (EMA) objects.

Parameters:
  • type – enum value ‘LEVEL’, ‘DIFFERENCE’.

  • mode – enum value ‘TICK’, ‘TIME’ specifying whether to calculate the ema with respect to record count or elapsed time.

  • timeScales – the ema decay constants (wrt nanosecond timestamp) - list, tuple, numpy.ndarray, or java double array.

Returns:

io.deephaven.numerics.movingaverages.EmaArray instance.

ExponentiallyDecayedSum(decayRate, enableTimestepOutOfOrderException=True)[source]#

Constructor for an object to calculate a sum where the values are decayed at an exponential rate to zero.

Parameters:
  • decayRate – (double) rate in milliseconds to decay the sum.

  • enableTimestepOutOfOrderException – (boolean) true to allow an exception to be thrown when timesteps are not sequential.

Returns:

io.deephaven.numerics.movingaverages.ExponentiallyDecayedSum instance.