{"_id":"@vascosantos/moving-average","_rev":"4645954","name":"@vascosantos/moving-average","description":"Exponential Moving Average","dist-tags":{"latest":"1.1.0"},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"time":{"modified":"2026-04-10T20:16:35.000Z","created":"2021-04-30T09:26:16.709Z","1.1.0":"2021-04-30T09:26:16.709Z"},"users":{},"author":{"name":"Pedro Teixeira","email":"i@pgte.me"},"repository":{"type":"git","url":"git+ssh://git@github.com/pgte/moving-average.git"},"versions":{"1.1.0":{"name":"@vascosantos/moving-average","version":"1.1.0","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":"52ae199f13736244c55b33576ed21cb96d7e4beb","bugs":{"url":"https://github.com/pgte/moving-average/issues"},"homepage":"https://github.com/pgte/moving-average#readme","_id":"@vascosantos/moving-average@1.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"8d5793b09b2d6021ba5e620c6a0f876c20db7eaa","size":2016,"noattachment":false,"key":"/@vascosantos/moving-average/-/@vascosantos/moving-average-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@vascosantos/moving-average/download/@vascosantos/moving-average-1.1.0.tgz"},"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/moving-average_1.1.0_1619774776533_0.6582216714541287"},"_hasShrinkwrap":false,"publish_time":1619774776709,"_cnpm_publish_time":1619774776709,"_cnpmcore_publish_time":"2021-12-16T20:52:42.037Z"}},"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"}