我知道在python中已经有一个post来询问如何实时地将滴答数据转换为ohlc,但是我无法运行答案的示例代码。
我概述了auther Poddar提供的示例代码如下:
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呢?
发布于 2022-06-10 08:09:20
如果您不关心开销,那么每次只需重新实例化DataFrame:
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"))https://stackoverflow.com/questions/72570843
复制相似问题