{"_id":"moving-average","_rev":"4645834","name":"moving-average","description":"Exponential Moving Average","dist-tags":{"latest":"1.0.1"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"time":{"modified":"2026-04-10T20:16:02.000Z","created":"2013-03-21T15:43:17.313Z","1.0.1":"2021-03-09T07:36:17.745Z","1.0.0":"2017-10-10T09:14:25.215Z","0.2.0":"2017-10-05T13:25:36.797Z","0.1.1":"2016-02-15T09:13:13.012Z","0.1.0":"2016-02-08T21:33:39.747Z","0.0.5":"2014-05-02T22:59:48.287Z","0.0.4":"2013-03-21T17:08:38.831Z","0.0.3":"2013-03-21T15:49:36.556Z","0.0.2":"2013-03-21T15:47:51.145Z","0.0.1":"2013-03-21T15:43:17.313Z"},"users":{},"author":{"name":"Pedro Teixeira","email":"i@pgte.me"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"versions":{"1.0.1":{"name":"moving-average","version":"1.0.1","description":"Exponential Moving Average","main":"index.js","types":"index.d.ts","scripts":{"test":"npm run lint && npm run test:node","test:node":"node tests/moving_average.js","lint":"standard"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"devDependencies":{"standard":"^10.0.3","tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"Pedro Teixeira","email":"i@pgte.me"},"contributors":[{"name":"Pedro Teixeira","email":"i@pgte.me"},{"name":"John Meisner","email":"jhn_msnr@yahoo.com"},{"name":"Max Kutny","email":"https://github.com/mkutny"}],"license":"MIT","gitHead":"967c5d0259759cbe9cfafff43ada73833a08bf0c","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average#readme","_id":"moving-average@1.0.1","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"shasum":"84f288b5d9dbd7f4e0411862a88430a30dd8d3e3","size":1984,"noattachment":false,"key":"/moving-average/-/moving-average-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-1.0.1.tgz"},"_npmUser":{"name":"pgte","email":"i@pgte.me"},"directories":{},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/moving-average_1.0.1_1615275377611_0.3684291296182678"},"_hasShrinkwrap":false,"publish_time":1615275377745,"_cnpm_publish_time":1615275377745,"_cnpmcore_publish_time":"2021-12-16T13:36:08.003Z"},"1.0.0":{"name":"moving-average","version":"1.0.0","description":"Exponential Moving Average","main":"index.js","scripts":{"test":"npm run lint && npm run test:node","test:node":"node tests/moving_average.js","lint":"standard"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"devDependencies":{"standard":"^10.0.3","tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"Pedro Teixeira","email":"i@pgte.me"},"contributors":[{"name":"Pedro Teixeira","email":"i@pgte.me"},{"name":"John Meisner","email":"jhn_msnr@yahoo.com"},{"name":"Max Kutny","email":"https://github.com/mkutny"}],"license":"MIT","gitHead":"4cdb67ee782e5731a28e58fbd9f87a82168f34cd","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average#readme","_id":"moving-average@1.0.0","_npmVersion":"5.4.1","_nodeVersion":"8.0.0","_npmUser":{"name":"pgte","email":"i@pgte.me"},"dist":{"shasum":"b1247ba8dd2d7927c619f1eac8036cf933d65adc","size":1467,"noattachment":false,"key":"/moving-average/-/moving-average-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-1.0.0.tgz"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/moving-average-1.0.0.tgz_1507626864256_0.3444156125187874"},"directories":{},"publish_time":1507626865215,"_hasShrinkwrap":false,"_cnpm_publish_time":1507626865215,"_cnpmcore_publish_time":"2021-12-16T13:36:08.309Z"},"0.2.0":{"name":"moving-average","version":"0.2.0","description":"Exponential Moving Average","main":"index.js","scripts":{"test":"npm run lint && npm run test:node","test:node":"node tests/moving_average.js","lint":"standard"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"devDependencies":{"standard":"^10.0.3","tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","gitHead":"0c6169bc18da0519891082250378e1604daa368e","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average#readme","_id":"moving-average@0.2.0","_npmVersion":"5.4.1","_nodeVersion":"8.0.0","_npmUser":{"name":"pgte","email":"i@pgte.me"},"dist":{"shasum":"cc70753036cf601420566988e25be894866ecb70","size":1175,"noattachment":false,"key":"/moving-average/-/moving-average-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.2.0.tgz"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/moving-average-0.2.0.tgz_1507209935850_0.8694289133418351"},"directories":{},"publish_time":1507209936797,"_hasShrinkwrap":false,"_cnpm_publish_time":1507209936797,"_cnpmcore_publish_time":"2021-12-16T13:36:08.568Z"},"0.1.1":{"name":"moving-average","version":"0.1.1","description":"Exponential Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","gitHead":"a3083ee12a0e76775299c346e7fa1043203ffd1a","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average#readme","_id":"moving-average@0.1.1","_shasum":"9b19c376978e21b945ed777678ed954d4b7b5475","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"dist":{"shasum":"9b19c376978e21b945ed777678ed954d4b7b5475","size":1629,"noattachment":false,"key":"/moving-average/-/moving-average-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.1.1.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/moving-average-0.1.1.tgz_1455527588261_0.06854660133831203"},"directories":{},"publish_time":1455527593012,"_hasShrinkwrap":false,"_cnpm_publish_time":1455527593012,"_cnpmcore_publish_time":"2021-12-16T13:36:08.786Z"},"0.1.0":{"name":"moving-average","version":"0.1.0","description":"Exponential Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","gitHead":"cd254238ef63b4226374f840185750240d8d02bc","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average#readme","_id":"moving-average@0.1.0","_shasum":"5d8a794a07471754a702514712355700d1d19f33","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"dist":{"shasum":"5d8a794a07471754a702514712355700d1d19f33","size":1625,"noattachment":false,"key":"/moving-average/-/moving-average-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.1.0.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/moving-average-0.1.0.tgz_1454967216943_0.391462646657601"},"directories":{},"publish_time":1454967219747,"_hasShrinkwrap":false,"_cnpm_publish_time":1454967219747,"_cnpmcore_publish_time":"2021-12-16T13:36:09.297Z"},"0.0.5":{"name":"moving-average","version":"0.0.5","description":"Exponential Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git@github.com:pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average","_id":"moving-average@0.0.5","dist":{"shasum":"d808020706dd24268d45999c68191a53048aeb27","size":1519,"noattachment":false,"key":"/moving-average/-/moving-average-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.0.5.tgz"},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"directories":{},"publish_time":1399071588287,"_hasShrinkwrap":false,"_cnpm_publish_time":1399071588287,"_cnpmcore_publish_time":"2021-12-16T13:36:09.555Z"},"0.0.4":{"name":"moving-average","version":"0.0.4","description":"Exponential Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git@github.com:pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","readmeFilename":"README.md","_id":"moving-average@0.0.4","dist":{"shasum":"2db7a55a7718d1b6af22971255e9bec93a226157","size":1539,"noattachment":false,"key":"/moving-average/-/moving-average-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.0.4.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"directories":{},"publish_time":1363885718831,"_hasShrinkwrap":false,"_cnpm_publish_time":1363885718831,"_cnpmcore_publish_time":"2021-12-16T13:36:09.794Z"},"0.0.3":{"name":"moving-average","version":"0.0.3","description":"Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git@github.com:pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","readmeFilename":"README.md","_id":"moving-average@0.0.3","dist":{"shasum":"c8930478715721fd45d7dbc8379087e5033e9d6b","size":1291,"noattachment":false,"key":"/moving-average/-/moving-average-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.0.3.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"directories":{},"publish_time":1363880976556,"_hasShrinkwrap":false,"_cnpm_publish_time":1363880976556,"_cnpmcore_publish_time":"2021-12-16T13:36:10.049Z"},"0.0.2":{"name":"moving-average","version":"0.0.2","description":"Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git@github.com:pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","readmeFilename":"README.md","_id":"moving-average@0.0.2","dist":{"shasum":"ea81263b22bcdefdd0d5deb0f4f85a1129826d37","size":1294,"noattachment":false,"key":"/moving-average/-/moving-average-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.0.2.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"directories":{},"publish_time":1363880871145,"_hasShrinkwrap":false,"_cnpm_publish_time":1363880871145,"_cnpmcore_publish_time":"2021-12-16T13:36:10.268Z"},"0.0.1":{"name":"moving-average","version":"0.0.1","description":"Moving Average","main":"index.js","scripts":{"test":"node tests/moving_average.js"},"repository":{"type":"git","url":"git@github.com:pgte/moving-average.git"},"devDependencies":{"tap":"*"},"keywords":["moving","average","average","statistics"],"author":{"name":"pgte"},"license":"MIT","readmeFilename":"README.md","_id":"moving-average@0.0.1","dist":{"shasum":"a450baabed3e6421c87c9fda809abe461c820461","size":1286,"noattachment":false,"key":"/moving-average/-/moving-average-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/moving-average/download/moving-average-0.0.1.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"directories":{},"publish_time":1363880597313,"_hasShrinkwrap":false,"_cnpm_publish_time":1363880597313,"_cnpmcore_publish_time":"2021-12-16T13:36:10.540Z"}},"readme":"# moving-average\n\n[![Build Status](https://travis-ci.org/pgte/moving-average.svg?branch=master)](https://travis-ci.org/pgte/moving-average)\n\nOnline calculation of Exponential Moving Average for Node.js.\n\nAlso suports Moving Variance, Moving Deviation and Forecast.\n\nThe [following](https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average) online algorithm is implemented:\n\n```\ndiff := x - mean\nincr := alpha * diff\nmean := mean + incr\nvariance := (1 - alpha) * (variance + diff * incr)\nforecast := mean + alpha * diff\n```\n\n## Install\n\n```bash\n$ npm install moving-average\n```\n\n## Use\n\n```javascript\nvar timeInterval = 5 * 60 * 1000; // 5 minutes\n\nvar MA = require('moving-average');\nvar ma = MA(timeInterval);\n\nsetInterval(function() {\n  ma.push(Date.now(), Math.random() * 500);\n  console.log('moving average now is', ma.movingAverage());\n  console.log('moving variance now is', ma.variance());\n  console.log('moving deviation now is', ma.deviation());\n  console.log('forecast is', ma.forecast());\n});\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/pgte/moving-average#readme","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"license":"MIT"}