我正在尝试从刻度数据开始在 postgresql 中创建 OHLC 条。我想每 1000 个刻度或每 500 个刻度创建条形图。或每 X 个刻度。
我保存的数据库有出价/要价和时间戳。我知道我可以做一个 groupby 并按时间戳对它们进行分组,但所需的输出是使用刻度的数量。
一个刻度由时间戳、买入价和卖出价组成。
刻度数据库看起来像这样:
-------------------------------------------------
| date | bid | ask |
|2020-03-20 19:33:56.044533 | 1.06372 | 1.06384 |
|2020-03-20 19:33:37.205241 | 1.06372 | 1.06384 |
|2020-03-20 19:33:54.943593 | 1.06372 | 1.06383 |
|2020-03-20 19:33:55.183255 | 1.06372 | 1.06384 |
我想对每 X 个刻度进行分组以创建此输出:
---------------------------------------------------------------------------
| date | open | high | low | close |
|2020-03-20 19:33:56.044533 | 1.06372 | 1.07104 | 1.06001 | 1.06579 |
那是1根蜡烛。这些数字来自投标栏。开盘价是第一个记录的价格,收盘价是最后一个记录的价格,最高价和最低价是那些 X 分时记录的最高和最低价格。
因此,如果 X 为 1000 并假设指数从 0 开始,则 OHLC 价格如下: - 开盘价:指数 0 的价格 - 高价:指数 0 和 999 之间的最高价格 - 低价:指数 0 和 999 之间的最低价格- 收盘价:指数 999
这是前 1000 个刻度。然后下一个蜡烛由接下来的 1000 个刻度创建。- 开盘:指数 1000 的价格 - 高:指数 1000 和 1999 之间的最高价格 - 低:指数 1000 和 1999 之间的最低价格 - 收盘:指数 1999 的价格
我怎样才能做到这一点?
先感谢您!