Конвертировать данные временных рядов с разных таймфреймов в Javascript - PullRequest
0 голосов
/ 27 августа 2018

Есть ли в JS библиотека для преобразования таймфреймов временных рядов? У меня есть данные, генерируемые каждую минуту, которые я получу от устройства IOT. И в приложении, которое я разрабатываю, будет график, на котором мы сможем визуализировать переключение данных между различными таймфреймами (1м, 30м, 1ч, 1д и т. Д.), Как классические графики фондового рынка.

Довольно просто сложить все данные за 1 м и получить среднее значение. Но генерировать одну новую информацию для каждых 30 м, например, не так очевидно. Поскольку существует множество сайтов sotck, forex и crypto, я думаю, что кто-то поделился хорошей библиотекой.

1 Ответ

0 голосов
/ 28 августа 2018

Я закончил тем, что нашел решение своего вопроса самостоятельно. Я действительно использовал библиотеку под названием момент js, которая позволяет легко группировать объекты массива по часам, неделям, месяцам, кварталам и так далее. После этого нужно просто подсчитать длину сгруппированных объектов и сделать из нее среднее значение. Вот мой окончательный код:

meanByTimeframe = function(timeframe, data) {
    const momentData = _.map(data, item => {
        return {
            date: moment(item[date])
                .startOf(timeframe)
                .format(),
            values: parseInt(item[value])
        }
    });
    const groupedData = _.groupBy(momentData, "date")
    return _.mapValues(groupedData, item => {
        return _.meanBy(item, 'values')
    })
}

Вуаля!

...