问题标签 [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.
security - 前 5 分钟蜡烛 OHLC 与 valuewhen
我正在使用下面的代码行来获取前 5 分钟的蜡烛 HLOC,它工作正常。有没有更好的方法来做到这一点?我想减少安全功能调用。
aggregation - 同步时间刻度数据库以使用自定义间隔
我愿意使用 timescaledb 连续聚合收集特定时间间隔的蜡烛价格股票数据,例如 37 分钟,我的间隔将在每天 00:00 开始。
所以举个例子,我愿意每天从00:00、00:37、01:14……到23:26,然后从00:00、008:37……重新开始。以此类推,直到 23:26。因此,例如数据将是:
06/09 00:00 间隔蜡烛
06/09 00:37 间隔蜡烛
06/09 01:14 间隔蜡烛
...
06/09 23:26 间隔蜡烛
07/09 00:00 间隔蜡烛
07/09 00:37 间隔蜡烛
...
等等
当然,我想让它们在同一个视图中,而不是每天为此创建一个新的超表。
我如何使用 timescaledb 弥补这一点?
我已经查看了文档,但不确定我应该使用什么......它是刷新策略吗?起源?
当然我可以使用 37 分钟的桶,但我的问题在第一天之后就开始了。一天中的最后一根蜡烛将在 23:26,之后的下一根蜡烛将在 00:03 而不是 00:00,我将失去同步
非常感谢您,非常感谢您的帮助!
pandas - 使用分钟柱数据(多只股票,一个 df 中的多个会话)获取不完整每日柱的股票日低 (LOD) 价格 SettingWithCopyWarning
我有多个股票的分钟数据数据框,每只股票都有多个会话。请参阅下面的示例
我需要会话(9:30-4pm)到每一行的时间的最低日(LOD)。
完成的 df 应该是这样的
我目前的解决方案
这将返回一个SettingWithCopyWarning
错误。请帮忙
pandas - 通过首先测试条件搜索另一个数据框来填充数据框
我正在尝试根据给定的购买日期测试不同的卖出简单移动平均线标准。
我有一个如下的购买数据数据库(df_buy)。我想填写NaN
值。(FCU = 首次收盘价)
我有另一个包含每日库存数据的数据库,如下所示(df_day)
根据该策略,首次收盘必须在买入日期后至少 2 天。
python - 按组重新采样最终返回类型错误
我有一个这样的数据框:
我已经添加了一个名为Sessions
. 我想为每个独特的电流1Min
重新60Min
采样Sessions
不在乎发生了什么Volume
LOD
10MA
20MA
,将丢弃那些。此外,这是样本集,最终数据集将有 3.5 亿行,因此效率值得关注。
退货
我的理解是 .resample() 返回这个:
Time
例如10:00:00
将包括来自9:30:00 - 10:00:00
(因为市场仅在 9:30 开放,所有其他时间将是整小时)的数据。11:00:00
将包括来自10:01:00 - 11:00:00
等的数据Open
应该是每个系列的第一个值Sessions
High
应该是max()
每个的值Sessions
Low
应该是min()
每个的值Sessions
Close
应该是每个系列的最后一个值Sessions
python - Python 将股市数据转换为期间
我有一个如下所示的数据表。这些行每分钟都来自一个数据源,但有时可能来自相同的数据,也可能没有。例如,我有 13:11:49 的数据,但没有 13:12:49,而我有 13:13:49 的数据。我想要做的是将此表转换为 5 分钟和 15 分钟 OHLC 数据。我可以做什么?体积列是累积体积。
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 关闭。
python - 使用 Pandas 重采样功能的多个脚本的 OHLC
我有 2 个便笺的刻度数据(scrip_names 是 abc 和 xyz)。由于报价数据处于“第二”级别,我想将其转换为 1 分钟级别的 OHLC(开盘价、最高价、最低价、收盘价)。
当刻度数据仅包含 1 个脚本时,我使用以下代码(Single Scrip.py 的 OHLC)来获取 1 分钟级别的 OHLC。此代码给出了所需的结果。
代码:
结果:
但是,当刻度数据包含超过 1 个脚本时,此代码不起作用。应该对代码进行哪些修改以获得以下按 scrip_name 分组的结果(文件名:expected_result.csv)。
预期结果:
以下是刻度数据、单个脚本的 python 代码、单个脚本的结果以及多个脚本的期望结果的链接: https ://drive.google.com/file/d/1Y3jngm94hqAW_IJm-FAsl3SArVhnjGJE/view ?usp=sharing
任何帮助深表感谢。
谢谢你。
python - 使用 Python 将 Tick 数据转换为 OHLC(无外部库)
假设我有这样的数据:
注意:这只是我自己创建的示例数据。实际上,每分钟可能有任意数量的事务。因此,数据每分钟都会变化。
如何在不使用 Pandas 等任何外部库的情况下使用Python 将其转换为 OHLC Candlestick 数据1 或 3 或 5 分钟?是否有可能以一种简单的方式进行?
提前致谢
aggregate-functions - 如何使用 SAMPLE BY 在 QuestDB 中聚合打开和关闭值
我正在做一个价格数据项目,试图存储 OHLC 1 分钟的数据,然后在不同的时间间隔内对其进行采样。我决定尝试 QuestDB,因为它具有简洁的时间序列功能,例如SAMPLE BY
但我碰壁了。
我想用来SAMPLE BY
查询我的数据,如下所示:
时间戳 | 打开 | 高的 | 低的 | 关 |
---|---|---|---|---|
“2021-09-10T19:43:21.657672Z” | 2.0 | 4.0 | 1.0 | 3.0 |
“2021-09-15T06:12:42.267416Z” | 3.0 | 6.0 | 3.0 | 6.0 |
例如,对于上面的两行,它们位于同一月份,我想运行SAMPLE BY 1M
并聚合该月份的值。
对于高值和低值,聚合函数是min(low)
and max(high)
,但我不知道如何处理打开和关闭值。
我尝试改造这种方法,但在没有错误的情况下得到了以下结果:
我遇到的一些错误:
- 添加第二个
row_number() over [...] order by timestamp desc
失败并出现语法错误。如果我删除desc
它,那么我就完全删除了该列,从那时起它与第一个相同。 - 分别与“基本查询不提供专用的 TIMESTAMP 列”和“按表达式分组与语句中选择的任何内容不匹配”错误都不起作用
SAMPLE BY
。GROUP BY
- QuestDB 可以识别,
CASE WHEN THEN
但如果我在该部分中生成列名,则THEN
它无法正常工作且没有错误消息。
我目前在浏览 QuestDB 教程、SO 问题和 GitHub 问题时被困在这一点上,因为这似乎是一个常见的操作,特别是因为他们写了许多价格时间序列数据教程,但没有一个地址这个。
我想知道是否有人遇到过这种情况并有解决方案?谢谢!