首页 > 解决方案 > 不理解时间序列上 numpy.correlate 的结果

问题描述

我正在尝试对将 DateTime 映射到股票价格的时间序列进行建模。这是时间序列(差距对应于 NaN 价格): 在此处输入图像描述

有 126 个日期时间:价格点。然后我尝试申请numpy.correlate,但我得到的结果令人费解:

在此处输入图像描述

令人费解:

  1. 值非常大(1E17-1E19);我认为它们应该在 [ -1, 1 ] 范围内。
  2. 我了解 126 处的峰值(数据的长度),但不应该在 0 和 252 处有一个吗?

标签: pythonnumpytime-series

解决方案


请阅读np.correlate. 据我所知,你似乎已经过去了mode='same'。最大相关将在 len(data)/2

快速示例:

import numpy as np
import matplotlib.pyplot as plt

stocks = np.abs(np.random.normal(0, 100, size=252))
stockscor = np.correlate(stocks, stocks, mode='same')

plt.plot(stockscor)
plt.show()

示例输出


推荐阅读