您可能已经知道,self.reqRealTimeBars()
只能返回5s数据。
我的计划是:
1)将流数据存储到Pandas Dataframe
2)对数据框重新采样5min bar
3)从数据框计算信号并将其用于实时交易
对于realtimeBar():
def realtimeBar(self, reqId:TickerId, time: int, open: float, high: float, low: float, close: float,
volume: int, wap: float, count: int):
self.data.append((datetime.fromtimestamp(time), open, high, low, close))
其中self.data = []最初。
对于(1)和(2):
def get_df(self):
index = [i for i in range(len(self.data))]
df = pd.DataFrame(self.data, index, columns=['date', 'open', 'high', 'low', 'close']).set_index('date')
df = df.resample('5min').agg({'open': 'first',
'high': 'max',
'low': 'min',
'close': 'last'})
return df
我确信我的代码不是很完美,并且Dataframe没有返回我期望的数据。
有人可以帮我吗?非常感谢!