1

我很难找到将一些 OHLCV 数据合并到不同时期的最高效方法。

假设我有几万个 OHLCV 数据,其结构简单,例如:

{
   "timestamp":1472688000000,
   "open":77.644997,
   "high":78.320331,
   "close":78.320331,
   "low":77.638,
   "volume":300
}

现在,这个数据是每分钟或每秒。出于显而易见的原因,我应该能够将这些数据分为 1m - 15m - 1hr - 4hr - 1d - 1M - 3M - 6M - 1Y 周期。我发现的所有示例都是关于放大和缩小数据,也就是只显示数据的一部分,但我需要的是聚合它。

OHLCV 数据根本无法总结,我的意思是您不能简单地总结 15 x 1m 的数据并创建一个 15m 的数据点,但是有不同属性的规则,例如;

  • 获取 15 x 1m 数据点
  • open第一个数据点的值
  • close最后一个数据点的值
  • 取所有点中的最高点high和最低low
  • 将所有卷汇总为volume
  • timestamp一个数据点的值

对于其他时段,我们可以使用不同的计算时段重用相同的逻辑,例如 4 x 15m 到 1hr 或 4 x 1hr 到 4hr 等。

这当然可以通过基本的 JavaScript 实现,但在句点之间切换时性能不够。

总而言之,我的问题是;

  • 有没有一种高性能的方法来实现这种数据分箱,或者我可以使用任何这样的库吗?
  • 是否有已知的图表库可供 ReactJs 和 React Native 使用,提供开箱即用的此类功能?

谢谢你。

4

0 回答 0