如何使用python处理时间序列中股价的连续缺失值?

How to deal with consecutive missing values of stock price in a time series using python?

我有一个数据框,由描述两种不同股票价格的两个时间序列组成,跨越五年,间隔大约为 2 分钟。我正在努力决定如何处理缺失值以构建有意义的模型。

关于数据框的一些信息:-

总行数:1315440

Series_1 中的缺失值数量:1113923

Series_2 中的缺失值数量:378952

经常有100多个连续的行缺失值,这让我很困惑如何处理这个数据集。

下面是部分数据,Series_1(第 2 列)和 Series_2(column_3)的图。

Series_1 的可视化:

Series_2 的可视化:

如有任何建议,我们将不胜感激。谢谢

根据您的数据来源,给定时间的缺失数据可能意味着在这个特定的时间戳,在两只股票中,一只股票执行了订单,但另一只股票未执行。事实上,两只不同的股票没有理由同时交易。某些没有流动性的休眠股票可以在很长一段时间内没有交易,而其他股票则更为活跃。此外,鉴于数据的精度低至微秒,两只股票的交易不一定发生在完全相同的微秒也就不足为奇了。在这种情况下,可以安全地假设股票价格是最后记录的交易并相应地更新缺失值。假设您正在使用 pandas,您可以通过应用 pandas fillna method 来协调它。只需确保事先对数据框进行排序:

df.sort_values('Time', inplace=True)
df['Series1'].fillna(method='ffill', inplace=True)
df['Series2'].fillna(method='ffill', inplace=True)