生成大样本OHLCV Dataframe时每千行跳5分钟数据的问题求助
OHLCV数据获取时的5分钟缺失问题
生成1s时间框架(通常超过10000行)的OHLCV大表格时,发现索引999-1000、1999-2000等位置会跳过5分钟数据(缺失对应时间段的行),导致整体数据偏移。该问题同样出现在1m时间框架中,推测1h时间框架可能也存在,但缺乏足够历史K线数据测试。
1s时间框架数据示例
. . . 995 2020-06-05 21:46:35+07:00 9705.19 9706.02 9705.19 9706.02 996 2020-06-05 21:46:36+07:00 9706.02 9706.02 9706.02 9706.02 997 2020-06-05 21:46:37+07:00 9705.77 9706.02 9705.77 9706.02 998 2020-06-05 21:46:38+07:00 9706.02 9706.72 9706.02 9706.72 999 2020-06-05 21:46:39+07:00 9706.72 9706.72 9706.72 9706.72 **21:46:39** 1000 2020-06-05 21:51:39+07:00 9698.76 9698.76 9698.76 9698.76 **21:51:39**(5m skipped) . . .
1m时间框架数据示例
. . . 995 2020-06-06 14:05:00+07:00 9612.17 9617.92 9612.00 9617.41 996 2020-06-06 14:06:00+07:00 9617.75 9621.15 9615.25 9618.87 997 2020-06-06 14:07:00+07:00 9618.95 9618.96 9618.32 9618.50 998 2020-06-06 14:08:00+07:00 9618.36 9619.00 9617.04 9618.60 999 2020-06-06 14:09:00+07:00 9618.61 9624.30 9618.61 9624.30 **14:09:00** 1000 2020-06-06 14:14:00+07:00 9620.23 9620.48 9619.27 9620.05 **14:14:00**(5m skipped) . . .
数据获取Python脚本
def dataframe_details_func(df_ohlcv, TIMEFRAME, LIMIT): while(len(df_ohlcv)<LIMIT): from_ts = df_ohlcv[-1][0] + 300000 new_ohlcv = exchange.fetch_ohlcv(PAIR, timeframe=TIMEFRAME, since=from_ts, limit=LIMIT) df_ohlcv.extend(new_ohlcv) df_ohlcv = pd.DataFrame(df_ohlcv, columns ['datetime','open','high','low','close','volume']) df_ohlcv['datetime'] = pd.to_datetime(df_ohlcv['datetime'], unit='ms') df_ohlcv.datetime = df_ohlcv.datetime.dt.tz_localize('UTC').dt.tz_convert('Asia/Bangkok') return df_ohlcv df_ohlcv1S = dataframe_details_func(df_ohlcv1, TIMEFRAME1S, LIMIT1S) pd.set_option('display.max_rows', None, 'display.max_columns', None) print(df_ohlcv1S.loc[900:1200, ['datetime', 'open', 'high', 'low', 'close']])
是否有人遇到过该问题?是否是我的脚本存在错误?
内容的提问来源于stack exchange,提问作者Omegaruins
相关产品推荐
相关产品推荐

