首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将实时滴答数据转换为ohlc

将实时滴答数据转换为ohlc
EN

Stack Overflow用户
提问于 2022-06-10 07:54:22
回答 1查看 225关注 0票数 1

我知道在python中已经有一个post来询问如何实时地将滴答数据转换为ohlc,但是我无法运行答案的示例代码。

我概述了auther Poddar提供的示例代码如下:

代码语言:javascript
复制
import time, requests
while True:
    r = requests.get('https://api1.binance.com/api/v3/ticker/price?symbol=ETHUSDT')
    resp_dict = r.json()
    time.time()
    print({'time' : time.time(), 'price' : resp_dict["price"]})

在熊猫中,我们可以使用重采样函数将静态刻度数据转换为ohlc。在实时数据的情况下,如何将实时滴答数据转换成ohlc?换句话说,怎样才能一个一个地实时得到ohlc呢?

EN

回答 1

Stack Overflow用户

发布于 2022-06-10 08:09:20

如果您不关心开销,那么每次只需重新实例化DataFrame:

代码语言:javascript
复制
import time, requests
import pandas as pd

def to_ohlc(ticks: list[dict], tf: str) -> pd.DataFrame:
    df = pd.DataFrame(ticks)
    df["time"] = pd.to_datetime(df["time"], unit="s")
    df["price"] = df["price"].astype(float)
    df = df.set_index("time")
    return pd.DataFrame(df.price.resample(tf).ohlc())

ticks = []
while True:
    r = requests.get('https://api1.binance.com/api/v3/ticker/price?symbol=ETHUSDT')
    resp_dict = r.json()
    time.time()
    ticks.append({'time' : time.time(), 'price' : resp_dict["price"]})
    print(to_ohlc(ticks, "1s"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72570843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档