Analytic Functions

Analytic functions perform complex calculation over a window of grouped events


Analytic functions are used when calculations over a event window is required. These functions are executed on each window generation trigger, windows are generated when the window policy is satisfied.

Joule is shipped with a starter pack of stateful and stateless functions to support initial use cases. The platform can be extended using the Analytics API to build custom functions.

Example

time window:
  emitting type: slidingQuoteAnalytics
  window listeners:
    - exponential moving average:
        attributes: [ ask, bid ]
        parameters:
          emaFactor: 0.33333
    - minmax normalization:
        attributes: [ ask, bid ]
    - zscore normalization:
        attributes: [ ask, bid ]
  policy:
    type: slidingTime
    slide: 500
    window size: 2500

This will produce the calculated attributes within the emitting event e.g.

  • ask_EMA and bid_EMA

  • ask_MINMAX_NORM and bid_MINMAX_NORM

  • ask_ZSCORE and bid_ZSCORE


Available features

Last updated