Белый шум не поддаётся прогнозированию
Временной ряд белого шума — это последовательность некоррелированных случайных величин, имеющих одинаковое распределение. Доходности акций нередко моделируют именно как белый шум. К сожалению, для белого шума прогнозировать будущие значения на основе прошлых не представляется возможным: автокорреляции на всех лагах равны нулю.
Вы сгенерируете ряд белого шума и построите функцию автокорреляции, чтобы убедиться, что она равна нулю на всех лагах. Для генерации случайных доходностей используйте 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()