Не понимаю результат numpy.correlate на временных рядах - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь смоделировать временной ряд, который отображает DateTime в цену акций. Вот временной ряд (промежутки соответствуют ценам NaN): enter image description here

Имеется 126 DateTime: ценовые точки. Затем я попытался применить numpy.correlate, но результаты, которые я получил, озадачивают:

enter image description here

Загадка:

  1. Значенияочень большой (1E17-1E19);Я думал, что они должны быть в диапазоне [-1, 1].
  2. Я понимаю пик в 126 (длина данных), но не должен ли быть один в 0 и в 252?

1 Ответ

1 голос
/ 03 октября 2019

Пожалуйста, прочтите документацию 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()

example output

...