UNPKG

ticker-duration-changer

Version:

Library to change ticker data into desired duration (e.g: 1 minutes data to 10 minutes data)

105 lines (90 loc) 3.07 kB
Ticker Duration Changer ======================= A small library to change ticker data into desired duration (e.g: 1 day to 3 days, 1 minute to 5 minutes, etc). ## Installation `npm install ticker-duration-changer` ## Usage var changer = require('ticker-duration-changer'); var eodData = [ { "symbol": "ASII", "date": "8/1/2018", "open": "8300", "high": "8325", "close": "8300", "low": "8200", "volume": "17178400" }, { "symbol": "ASII", "date": "5/1/2018", "open": "8150", "high": "8300", "close": "8300", "low": "8125", "volume": "18885300" }, { "symbol": "ASII", "date": "4/1/2018", "open": "8075", "high": "8225", "close": "8225", "low": "8050", "volume": "30604400" }, { "symbol": "ASII", "date": "3/1/2018", "open": "8250", "high": "8250", "close": "8050", "low": "8000", "volume": "40976100" }, { "symbol": "ASII", "date": "2/1/2018", "open": "8300", "high": "8400", "close": "8200", "low": "8150", "volume": "24661300" } ... ]; var result = changer(eodData,1, 3); Output should be in 3 days duration data. ## Notes * Input data array should be sorted by date & time. New data on top. * It is possible to modify summarizer function, by passing the following object into the function var summarizer = [ { fieldName: "high", method: "max" }, { fieldName: "low", method: "min" }, { fieldName: "date", method: "first" }, { fieldName: "open", method: "first" }, { fieldName: "close", method: "last" }, { fieldName: "volume", method: "sum" } ]; ## Tests `npm test` ## Contributing In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.