НачатьНачать бесплатно

Белый шум не поддаётся прогнозированию

Временной ряд белого шума — это последовательность некоррелированных случайных величин, имеющих одинаковое распределение. Доходности акций нередко моделируют именно как белый шум. К сожалению, для белого шума прогнозировать будущие значения на основе прошлых не представляется возможным: автокорреляции на всех лагах равны нулю.

Вы сгенерируете ряд белого шума и построите функцию автокорреляции, чтобы убедиться, что она равна нулю на всех лагах. Для генерации случайных доходностей используйте np.random.normal(). В случае гауссовского белого шума среднее значение и стандартное отклонение полностью описывают весь процесс.

Постройте график этого ряда, чтобы увидеть, как он выглядит, а затем постройте функцию автокорреляции.

Это упражнение является частью курса

Анализ временных рядов на Python

Посмотреть курс

Инструкции к упражнению

  • Сгенерируйте 1000 случайных нормально распределённых доходностей с помощью np.random.normal(), задав среднее значение 2% (0,02) и стандартное отклонение 5% (0,05): аргумент для среднего — loc, для стандартного отклонения — scale.
  • Проверьте среднее значение и стандартное отклонение доходностей с помощью np.mean() и np.std().
  • Постройте график временного ряда.
  • Постройте функцию автокорреляции с помощью plot_acf, указав lags=20.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import the plot_acf module from statsmodels
from statsmodels.graphics.tsaplots import plot_acf

# Simulate white noise returns
returns = np.random.normal(loc=___, scale=___, size=___)

# Print out the mean and standard deviation of returns
mean = np.mean(___)
std = np.std(___)
print("The mean is %5.3f and the standard deviation is %5.3f" %(mean,std))

# Plot returns series
plt.plot(___)
plt.show()

# Plot autocorrelation function of white noise returns
plot_acf(___, lags=___)
plt.show()
Редактировать и запускать код