我有以下格式的连续数据流,我想根据定义的时间片(例如5分钟,10分钟,30分钟等)将其转换为打开,最高,最低和关闭。同时,buy_quantity并且sell_quantity也应根据选择的时间片进行汇总。 用Javascript在来自websocket的连续实时数据流上执行此操作的最有效方法是什么。 为了增加复杂性,我输入了至少50种不同的股票代码或instrument_token。 理想的解决方案将类似于python的panda软件包中提供的解决方案-这是一个示例https://www.quantinsti.com/blog/tick-tick-ohlc-data-pandas-tutorial/
mv "$file" "${temp##*_}.pdf"
答案 0 :(得分:1)
有两个部分:
1.合并数据
2.在图表中显示数据
对于合并数据,高效的数据结构可能如下所示:
data.slice.roundedtime.id
通过这种方式,您不必进行循环搜索,而是可以在遍历输入数据时解决每个记住的值。
{
"5": { // this line once, for all 5 minutes increments
"2018 07 03 07:50:00": { // this line each 5 minutes
"Q6GinQQKKnfA7FrAT": { // this line for each 5 minutes each ticker
"volume": 123,
"high": 20539500,
"low": 19809750
},
"SecondTicker": {
"volume": 12,
"high": 1234,
"low": 123
}
},
"2018 07 03 07:45:00": {
"Q6GinQQKKnfA7FrAT": {
"volume": 123,
"high": 20539500,
"low": 19809750
}
}
},
"15": { // this line once, for all 15 minutes increments
"2018 07 03 07:45:00": {
"Q6GinQQKKnfA7FrAT": {
"volume": 123,
"high": 20539500,
"low": 19809750
}
}
}
}
数据量对于浏览器而言不是问题。每24小时浏览器页面运行一次且未刷新,我们有:24小时*(2 + 6 + 12)个切片* 50个不同的引号= 24000条记录。
可以计算15分钟和30分钟的汇总,而不用记住。那是一个细节。