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 functions:
    ema rates:
      function:
        exponential moving average:
          parameters:
            smoothing factor: 0.001996007984032
      attributes: [ ask,bid ]

    ranges:
      function:
        minmax: {}
      attributes: [ ask,bid ]

    norms:
      function:
        zscore: {}
      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