---
url: /docs/api/core/functions/exponentialMovingAverage.md
---
[**@kaiord/core**](../README.md)

***

[@kaiord/core](../README.md) / exponentialMovingAverage

# Function: exponentialMovingAverage()

> **exponentialMovingAverage**(`points`, `options`): [`EmaResult`](../type-aliases/EmaResult.md)\[]

Defined in: [packages/core/src/application/energy/ema.ts:60](https://github.com/pablo-albaladejo/kaiord/blob/3eacbe62ef72342d970523967cc5155b5935bb85/packages/core/src/application/energy/ema.ts#L60)

Compute the running EMA of a dated series (ascending by date). Returns a
same-length series of `{ date, ema }`; the first ema equals the first value.

## Parameters

### points

readonly [`EmaPoint`](../type-aliases/EmaPoint.md)\[]

### options

[`EmaOptions`](../type-aliases/EmaOptions.md)

## Returns

[`EmaResult`](../type-aliases/EmaResult.md)\[]

## Throws

RangeError when `windowDays` is not positive and finite, or when any
point value is non-finite.
