问题标签 [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 投票
1 回答
46 浏览

python - pandas OHLC 仅随时间绘制高值

我有一个包含以下实时数据的文本文件。

我只想根据时间绘制高值。以下是我尝试过的。

0 投票
1 回答
571 浏览

python - 我们如何将 OHLCV 1 分钟 Pandas Dataframe 重新采样为 5 分钟 Dataframe - 2020 方法?

这个问题之前已经回答过很多次了。但是,无论我尝试什么,这些方法要么已被弃用,要么已完全改变。这就是为什么我想要基于我在下面列出的数据框的 2020 年工作的东西。

让我解释一下我需要什么。

我有一个 Dataframe df1m,它是来自服务的 1m 数据。为了准确展示我的需求,我还从同一服务中获得了 df5m。

但是,我想要一种将 df1m 重新采样到看起来与 df5m 完全相同的数据帧的方法。

(a) 9:31 - 9:35 应重新采样为 9:35 (b) 5m 9:35 的收盘价应取自 1m 9:35 的收盘价 (c) 15:56 - 16:00 应重新采样为16:00

这就是我从保存的 csv 文件创建 df1m 的方式。

csv 数据如下,我只粘贴了 2020 年 4 月 27 日的 head 20 和 tail 20

...

0 投票
1 回答
197 浏览

sql - 每x行选择最大值和最小值-postgresql

我正在尝试从刻度数据开始在 postgresql 中创建 OHLC 条。我想每 1000 个刻度或每 500 个刻度创建条形图。或每 X 个刻度。

我保存的数据库有出价/要价和时间戳。我知道我可以做一个 groupby 并按时间戳对它们进行分组,但所需的输出是使用刻度的数量。

一个刻度由时间戳、买入价和卖出价组成。

刻度数据库看起来像这样:

我想对每 X 个刻度进行分组以创建此输出:

那是1根蜡烛。这些数字来自投标栏。开盘价是第一个记录的价格,收盘价是最后一个记录的价格,最高价和最低价是那些 X 分时记录的最高和最低价格。

因此,如果 X 为 1000 并假设指数从 0 开始,则 OHLC 价格如下: - 开盘价:指数 0 的价格 - 高价:指数 0 和 999 之间的最高价格 - 低价:指数 0 和 999 之间的最低价格- 收盘价:指数 999

这是前 1000 个刻度。然后下一个蜡烛由接下来的 1000 个刻度创建。- 开盘:指数 1000 的价格 - 高:指数 1000 和 1999 之间的最高价格 - 低:指数 1000 和 1999 之间的最低价格 - 收盘:指数 1999 的价格

我怎样才能做到这一点?

先感谢您!

0 投票
1 回答
548 浏览

sql - OHLC 蜡烛每 X 个刻度

我正在尝试从刻度数据开始在 postgresql 中创建 OHLC 条。我想每 1000 个刻度或每 500 个刻度创建条形图。或每 X 个刻度。

我保存的数据库有出价/要价和时间戳。我知道我可以做一个 groupby 并按时间戳对它们进行分组,但所需的输出是使用刻度的数量。

一个刻度由时间戳、买入价和卖出价组成。

刻度数据库看起来像这样:

我目前可以使用此代码创建 OHLC 蜡烛(感谢@GordonLinoff,他在此链接上回答了我之前的问题):

输出如下所示:

那是1根蜡烛。这些数字来自投标栏。开盘价是第一个记录的价格,收盘价是最后一个记录的价格,最高价和最低价是那些 X 分时记录的最高和最低价格。

因此,如果 X 为 1000 并假设指数从 0 开始,则 OHLC 价格如下: - 开盘价:指数 0 的价格 - 高价:指数 0 和 999 之间的最高价格 - 低价:指数 0 和 999 之间的最低价格- 收盘价:指数 999

这是前 1000 个刻度。然后下一个蜡烛由接下来的 1000 个刻度创建。- 开盘:指数 1000 的价格 - 高:指数 1000 和 1999 之间的最高价格 - 低:指数 1000 和 1999 之间的最低价格 - 收盘:指数 1999 的价格

我缺少的部分是,只有当我有所需的刻度数时,我才想创建蜡烛。例如,如果我有 10500 个刻度,那么我希望只有 10 行并且在数量为 11000 之前不考虑其他 500 个剩余刻度。

我怎样才能做到这一点?

先感谢您!

0 投票
1 回答
577 浏览

python - 在 Python 中创建 Aroon 指标

我想在股票价格 OHLCV 的数据框中添加 aroon(看涨和看跌)指标列。阿隆计算在这里

0 投票
1 回答
143 浏览

python - 字符串没有属性 .loc

我有不同的数据框遵循这个例子:'AAPLdf,AMZNdf,GOOGLdf,......'等等

AttributeError:“str”对象没有属性“loc”

0 投票
0 回答
216 浏览

python - Pandas 从最后一个时间戳自动反向重采样

这个问题已在其他地方部分解决,但我很难找到一种方法来使用 OHLC 金融市场数据。

我想获取 5 分钟的数据并将其重新采样为 4 小时的数据,假设新数据每 5 分钟到达一次。因此,在 Pandas 重采样中使用固定基数不能正常工作。

最后4 小时包含 Open(first)、High(max)、Low(min)、Close(last),需要从最后一个时间戳逆向计算;从数据框的底部向上。如果最后一个时间戳是 14:05,那么数据集中最后的 4 小时重采样柱应标记为 10:05;当处理 14:10 的数据时,它应该重新采样回 10:10 等。

我正在寻找一种可以自动确定如何根据最后一个时间戳或其他动态方法设置重新采样参数的方法(因为这将使用更新的数据自动更新)然后相应地重新采样。

这是我目前使用的传统重采样方法:

有没有办法实现这个重采样目标?

0 投票
1 回答
75 浏览

dataframe - 清理财务数据的有效方法是什么(高开低收)?

我有多个时间序列数据框,它们就像不同的资产。

问题是数据中有漏洞(其他资产上没有)。

问题:有哪些定性的方法来清理数据,以便我可以用接近现实的东西来填充缺少的行?

额外的信息:

我的第一个想法:

  1. 预测缺失的 LSTM(问题:我只能在没有孔的行序列上训练它 -> 偏差)

  2. ARIMA(不知道,只是听说过)

  3. 之后和之前的值的平均值(-> 不切实际,这会错过异常值和尖峰)

  4. 什么是更好的方法?(放弃是没有选择的)

下面是一些示例数据:

(...我只是以手写为例,价格是垃圾,但只是为了将孔显示为 NaN 值。)

0 投票
0 回答
45 浏览

python - Pandas Dataframe 时间序列:以非 00:00 开始时间和缺失天数重新采样?

我的数据:每 3 分钟一次的股票行情数据。日期/开盘/高/低/收盘

目标:每天重新采样

我能够弄清楚如何重新采样到日常使用

这通过给我这个起作用:

问题:

  1. 市场未交易的天数为 NaN。我绝对可以删除这些
  2. 有些日子只有部分日期,我认为这可能与这些数据是从他们估计隔夜价格的交易所中提取的事实有关。

我拥有的数据适用于所有交易时间,包括各种市场时间,例如美国上市前常规时间、售后市场等

  1. 那么我是否需要定义一天的开盘和关盘时间才能仅为美国时段重新采样?如果是这样,怎么做?

  2. 对于没有足够数据的日子,假设 count 是

0 投票
0 回答
115 浏览

python - 将 5m OHLC 数据转换为 15m,Python

我有一个包含 5m ohlc 数据的 csv 文件,它看起来像这样:

T,O,H,L,C

2018-01-01 00:00:00+00:00, 13838.5, 13961, 13838, 13873

2018-01-01 00:05:00+00:00, 13873, 13920, 13800, 13800

2018-01-01 00:10:00+00:00, 13800, 13800.5, 13675, 13771.5

2018-01-01 00:15:00+00:00, 13771.5, 13795, 13711, 13769

我找到了一个从 Bitmex 下载 1m 和 5m 数据的脚本,但似乎你不能直接下载 15m 蜡烛,我看到一些类似的问题,人们试图转换其他时间框架,但没有一个对我有用。

我试过resample('15Min').ohlc()了,但我得到一个错误

TypeError:仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但获得了“Index”实例。

也许我在阅读我的 csv 文件时做错了什么: