ewma
Exponentially Weighted Moving Average
Last updated 7 years ago by retrohacker .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install ewma 
SYNC missed versions from official npm registry.

NPM Version Build Status

EWMA

An exponential weighted moving average for Node.js and the browser!

npm install -g ewma

Usage

Compute the exponential weighted moving average of a series of values. The time at which you insert the value into Ewma is used to compute a weight (recent points are weighted higher). The parameter for defining the convergence speed (like most decay process) is the half-life.

e.g. with a half-life of 10 unit, if you insert 100 at t=0 and 200 at t=10 the ewma will be equal to (200 - 100)/2 = 150 (half of the distance between the new and the old value).

var ewma = new EWMA(halfLifeMs, initialValue, clock)

  • halfLifeMs - {Number} parameter representing the speed of convergence
  • initialValue - {Number} initial value
  • clock - Optional {Number} clock object used to read time, must support Date.now() style method. Defaults to Date.

returns an object computing the ewma average

ewma.insert(x)

  • x - The next value, ewma will automatically compute the EWMA based on the clock difference between this value and the last time insert was called

ewma.reset(x)

  • x - Set the EWMA to exactly x.

ewma.value()

Returns the current EWMA value.

Examples

These are generated using a 500ms interval with a half life indicated in the key. For the source code, or to reproduce yourself, check the Example directory.

Contributions

Contributions welcome, please ensure make runs clean.

License

MIT

Current Tags

  • 2.0.1                                ...           latest (7 years ago)

3 Versions

  • 2.0.1                                ...           7 years ago
  • 2.0.0                                ...           7 years ago
  • 1.0.0                                ...           7 years ago
Maintainers (1)
Downloads
Total 2
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (4)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE