问题标签 [ohlc]

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 回答
394 浏览

python - 熊猫:找到最近的高点(OHLC)

我试图找到最快的解决方案来迭代每行 Open High Low Close 数据并计算当前行的高点和大于或等于原始行的下一个高点之间存在多少行。这是一个简短的代码示例,我认为它很好地解释了它(我试图找到 的最终值_next):

我想我需要在lambda里面使用一个函数,apply但我似乎无法正确使用它。几天来一直试图解决这个问题,并希望得到任何建议!

使用这些数据,函数应该返回[2, 0, 0, 3, 1, 0, 0]

编辑: itertuples(name=None, index=True) 是迄今为止最快的方法。

0 投票
1 回答
169 浏览

python - 如何将 m1 OHLC 数据转换为 m15 或 pandas 中的任何时间范围 OHLC?

我正在尝试使用 pandas resample 函数将 M1 OHLC 数据转换为 M15,但没有得到任何结果,这就是我所拥有的:

我得到错误

我尝试删除.set_index它,它给出了另一个错误,说不能做 RangeIndex

我拥有的数据如下所示:

m1 数据

0 投票
1 回答
49 浏览

sql - 如何解决通过clickhouse时间函数重新采样数据时open_price等于close_price的错误?

这是我的 SQL 代码,我想得到 open_price、high_price、low_price、close_price,但我的 SQL 结果不符合预期

open_price 始终等于 close_price,其他正确。

我做错什么了吗?

0 投票
1 回答
330 浏览

sql - 如何在 PostgreSQL 中创建区间交易柱?

我正在尝试通过对价格移动的每个 X 范围内的数据进行分组来创建一个交易栏。数据来自分时,每个分时都有一个时间戳和一个价格值。

数据集如下所示:

当价格移动 X 距离时,我想“创建”一个柱。该距离以点数为单位,例如,如果价格从 1.10000 移动到 1.10010,即为 1 个点的变动。(交易柱或烛台被定义为在给定条件下资产价格的变化。例如,1 小时柱每小时采样一次,它们有开盘价、最低价、最高价和收盘价。所以如果是00:00:00,酒吧在 01:00:00 结束采样)。在这个例子中,选择的范围是 10 点,所以我想每 10 点采样(或创建)一个柱。

我有一个 python 脚本可以创建我需要的栏,但我想把它作为 SQL 触发器。我使用的python函数如下:

所以,基本上我从索引开始0并遍历价格数组。如果与 0 处的价格之间的差值的绝对值price[j]大于所需范围,则我存储price[j]. open在这种情况下,柱的价格将是 in 的价格,而k收盘价将是 in 的价格j。要获得highlow价格,我从至选择maxmin价格。最后,如果条件不满足,那么一旦我们到达数据的末尾,它就会中断循环。kj+1

如何在 SQL 中复制它,以便在满足所需范围时创建条形图,而不考虑过程中多余的刻度?例如,如果我有 10500 个刻度并且前 10000 个刻度满足创建 10 个柱的条件,那么我想只创建这 10 个柱并忽略其他 500 个刻度,直到有足够的刻度来创建另一个 X 点柱。

我怎样才能做到这一点?

先感谢您!

编辑:这是创建两个条的示例。假设期望的范围是 1 点,我们有这个数据。

所以,我们的开盘价是 1.10886,收盘价是 1.10890,最高价和最低价是 和 之间的最大值和"2020-02-03 02:00:00.207"最小值"2020-02-03 02:00:01.268"。所以我们的酒吧看起来像这样:

现在,我们取这个值"2020-02-03 02:00:01.268"并搜索所有来自的报价,"2020-02-03 02:00:01.268"并期待另一个 1 点的范围。

因此,在这种情况下,条形的值为:

0 投票
1 回答
241 浏览

python - 如何根据夏令时更改 UTC OHLC 时间序列上的熊猫重采样

我有一个 1 分钟的 OHLC CSV 文件,其日期使用UTC

我正在使用以下方法重新采样:

这将从周日 21:00 开始重新采样,因此它是 21:00、01:00、05:00,...,直到周五 17:00,其中 21:00 UTC 是市场开放时间。

但是,当有夏令时开关时,一周的第一分钟从周日 22:00 开始,到 18:00 结束。

当周日的第一分钟从 22:00 开始时,您如何将重采样在 22:00 和周日的第一分钟从 21:00 开始时的 21:00 交替进行? 简而言之,重采样应该在 CSV 中的第一分钟(这是星期天的一周开始)自动开始,并以相同的模式继续,直到遇到另一个开始,依此类推。

0 投票
1 回答
52 浏览

google-sheets - 根据 Google 表格中的给定 OHLC 数据计算不同的时间范围(查询字符串?)

我不断获取 OHLC 数据并尝试将其转换为不同的时间范围,同时保持动态。虽然手动计算它不是问题,但它不会在更新数据时保持动态。我试图查询它,但我对查询字符串比较陌生,无法得到想要的结果。如果有人有这方面的经验,我将不胜感激。

这是给定数据的片段(已编辑):

假设我们正在尝试将数据转换为 2 小时的时间范围。我的“伪查询字符串代码”如下所示:

结果应如下所示:

谢谢你的时间!

0 投票
1 回答
393 浏览

api - 当询问最新的 OHLC [已解决] 时,Bitstamp API 返回错误的 klines 数

问题

在使用 Bitstamp HTTP API 时,我发现了一些非常奇怪的东西。
每当我使用以下请求询问最​​新的 OHLC 数据时:

所需的参数写在Bitstamp 的文档页面中

我只得到 1 个数据点。这是错误的,因为limit参数设置为2. 当我走得更远并一次又一次地发送以下请求时,事情变得有价值。我发现这只发生在step我使用的任何(间隔)蜡烛关闭的前 40~45 秒。

例子

step参数设置为60时,服务器必须返回一个 1-minute-candles 并传递数字2for limit,前 40~45 秒的响应包含 1 个数据点:

但随着时间的推移,我们通过前 40~45 秒,响应包含 2 个数据点:

对于 .的其他有效值也会发生同样的情况step。设置step必须300包含 5 分钟蜡烛,在任何 5 分钟间隔的前 40~45 秒请求时响应无效(例如 12:00-UTC、12:05-UTC 等) .

无论参数step设置为任何有效数字,服务器在任何时间范围开始的前 40~45 秒返回错误数据。

我也尝试过传递startend可选参数。

我曾与其他交易所和经纪人的 API 合作过,到目前为止,我没有遇到任何错误或错误响应,除了使用Bitstamp HTTP API

注意:值40~45 秒不准确,因为我无法准确测量它。

python中的代码示例和日志

python中的代码

日志文件

要求

  1. 我该如何解决这个问题?
  2. 是否有任何社区、讨论组,我可以加入 Bitstamp API ussies?
0 投票
1 回答
139 浏览

python - 根据值将一行复制到多行

我无法找出股票数据的问题。我们有一个dataframe高、低和日期数据。我想用整周的最大值24_H和最小值创建两个新列(从24_L一周的几天开始整周的最小值和最大值并将其复制到该周的每一天/每一行)问题是缺少某些日子(节假日)所以你不能每 5 行使用一个循环。希望有意义我试图在 excel 中的图片中解释它并在两周(38 和 39)手动完成。

编辑:部分代码。如何打印每周的高低值:df.groupby(['YEAR', 'WEEK']).agg({'24_H': 'max', '24_L': 'min'}) 但仍然不不知道如何为一周中的每一天打印回来

EDIT2 部分数据(DoW 是星期几):

日期 陶氏 24_H 24_L 星期
12.09.2005 1 1170.0 1165.0 37 9 2005年
13.09.2005 2 1166.0 1157.0 37 9 2005年
14.09.2005 3 1162.0 1151.0 37 9 2005年
15.09.2005 4 1158.0 1150.0 37 9 2005年
16.09.2005 5 1164.0 1152.0 37 9 2005年
19.09.2005 1 1162.0 1153.0 38 9 2005年
20.09.2005 2 1162.0 1145.0 38 9 2005年
21.09.2005 3 1149.0 1134.0 38 9 2005年
22.09.2005 4 1142.0 1130.0 38 9 2005年
23.09.2005 5 1144.0 1134.0 38 9 2005年
2005 年 9 月 26 日 1 1148.0 1136.0 39 9 2005年
27.09.2005 2 1145.0 1135.0 39 9 2005年
28.09.2005 3 1146.0 1137.0 39 9 2005年
29.09.2005 4 1154.0 1136.0 39 9 2005年
2005 年 9 月 30 日 5 1155.0 1149.0 39 9 2005年

excel中的数据:

excel中的数据图像

0 投票
0 回答
158 浏览

service-broker - 如何在 Pine Script - Tradingview 中使用我自己的数据进行计算?

我是 Pine Script 和 Rest API 的新手。Rest API 用于代理。您是否实现了 Rest API。我需要这样做:

  1. 我从其他来源获取 OHLC 数据。我想将此自定义数据发送到交易视图中的 PINE 脚本,并让它使用我的 OHLC 数据来计算所有指标。

  2. 将此指标值发送回经纪公司 Rest API,我从那里进行交易或提供自定义信号

谁能帮我解决这个问题?

0 投票
1 回答
36 浏览

python - 有什么好的方法可以对时间序列数据块执行计算和赋值吗?

我想对时间序列数据进行一些计算,并将输出复制到特定的行上,我尝试了一些方法,比如重新采样数据来获取值。以下是我试图获得的代码和输出。获得一些专家提示以有效地做事情会非常有帮助。

问题:1. 我想从具有 15 分钟时间范围的数据集中获得“高”、“低”和“收盘价”。2. 然后计算 '(High+Low+Close)/3' 并将这个值复制到第二天的 15 分钟时间段。等等。

下面是实际数据。

我尝试重新采样数据并获取高、低和关闭的值,然后分别计算 h+L+C/3,然后通过键入复制它。下面是重新采样的代码

有什么好方法可以轻松获得所需的df。以下是所需的输出

我是新来的。非常感谢您的帮助:)