问题标签 [ohlcv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
106 浏览

c# - 无法解析 OHCLV 数据

我无法将 OHCLV 数据从 JSON 解析为List<Candle>.

Newtonsoft.Json.JsonSerializationException:'无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'Models.Candle',因为该类型需要 JSON 对象(例如 {"name":"value"})正确反序列化。要修复此错误,请将 JSON 更改为 JSON 对象(例如 {"name":"value"})或将反序列化类型更改为数组或实现集合接口的类型(例如 ICollection、IList),例如可以从 JSON 数组反序列化。JsonArrayAttribute 也可以添加到类型中以强制它从 JSON 数组反序列化。路径“[0]”,第 1 行,位置 2。

它只允许我使用List<List<double>>. 我怎样才能做到这一点?

代码:

0 投票
1 回答
34 浏览

c++ - 如何为金融 ohlcv 数据创建自定义升压累加器

我有以下问题。我有一组用于交易品种的 OHLCV(开盘价、最高价、最低价、收盘价、成交量)数据,其结构如下:

每个数据涵盖 1 小时的时间范围。我需要取其中的许多,然后计算累积的 OHLCV。例如,如果需要从 24 小时 OHLCV 计算一天的 OHLCV。

为了从一组中创建累积的 OHLCV,我需要:

  • 取第一个 Open 值;
  • 取最后一个收盘价;
  • 取最高的High值;
  • 取最低的Low值;
  • 取 Volume 值的总和

我想知道是否可以boost::accumulator用于此目的,以便我可以编写如下代码:

有可能做这样的事情吗?还是有更好的解决方案?

0 投票
0 回答
40 浏览

javascript - Javascript - 数据分箱的最佳方式

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

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

现在,这个数据是每分钟或每秒。出于显而易见的原因,我应该能够将这些数据分为 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 使用,提供开箱即用的此类功能?

谢谢你。

0 投票
1 回答
127 浏览

python - Python pandas 将 15 分钟 ohlc 重新采样为 75 分钟 ohlc

以下是印度市场一只股票的数据框。

正如观察到的,第一根蜡烛从 9:15 开始,最后一根蜡烛在 15 分钟时间范围内的 3:15 结束。

我正在尝试将此数据重新采样到 75 分钟。

我试过下面的代码

这确实产生了几乎正确的结果,除了一个问题。

正如我们在第一天看到的那样,一切看起来都很棒。第二天(2021-06-18)从 09:00 开始,而不是 09:15。此外,即使我没有在 15 分钟的时间范围内提供基础数据,第 3 天(2021-06-21)的结果也是从 08:15 开始的。

我怎样才能解决这个问题?我希望蜡烛每天在 9:15 开始,最后一根蜡烛应该在 14:15 结束,因为印度市场在下午 15:30 关闭。

0 投票
0 回答
12 浏览

postgresql - 在 PostgreSQL 中更改 OHLC 蜡烛的时间范围

所以我有一个包含 1 分钟 OHLCV 蜡烛的数据库,如下所示:

在此处输入图像描述

有没有办法通过 postgresql 查询将这些 1 分钟蜡烛重新采样为 5 分钟蜡烛?

在上面的示例中,5 行将输出一根 5 分钟的蜡烛,如下所示:

  • 符号:BTC-PERP

  • 时间戳:1643953980000

  • 打开:37574

  • 高:37613

  • 低:37550

  • 关闭:37570

  • 卷:1619714262893.4854

因此,每个字段将按以下方式确定:

  • 时间戳:第一个时间戳,或者 min(timestamp)

  • 开:先开

  • 高:最大(高)

  • 低:分钟(低)

  • 关闭:最后关闭

  • 体积:总和(体积)

有没有办法进行这样的查询,或者我必须从数据库中选择所有数据并在我自己的代码中进行转换/重新采样?

感谢任何帮助:)

0 投票
0 回答
69 浏览

python - 为什么我使用 python ccxt phemex 会有 10 分钟的延迟?

我尝试使用 API 和 ccxt 包在 phemex 上进行交易。我像这样连接到 phemex:

现在我可以像这样 fethc_ohlcv :

我可以像这样得到当前时间:

但现在我从 fetch_ohlcv 得到这个数据:

所以最新的时间戳是下午 5 点(我位于德国)但是我运行这段代码的时间戳是:

所以现在是下午 6.10。我认为有 1 小时的差异,因为 ccxt 显示的 UTC 时间戳没问题。但是为什么获取数据会有 10 分钟的延迟呢?

PS:我只每整整 5 分钟运行一次代码,我不会太频繁地获取数据。

我希望有人可以帮助我解决这个问题。

谢谢!

最好的问候,丹尼尔

编辑完整代码:

结果是: