Дрейф случайного блуждания
В предыдущем упражнении вы моделировали цены акций, следующие случайному блужданию. В этом упражнении вы расширите модель двумя способами.
- Вы рассмотрите случайное блуждание с дрейфом. Многие временные ряды, например цены акций, являются случайными блужданиями, но со временем имеют тенденцию к росту.
- В предыдущем упражнении шум в случайном блуждании был аддитивным: случайные нормальные изменения цены прибавлялись к последней цене. Однако при таком подходе теоретически можно получить отрицательные цены. Теперь вы сделаете шум мультипликативным: к случайным нормальным изменениям будет прибавляться единица, чтобы получить совокупную доходность, которая затем умножается на последнюю цену.
Это упражнение является частью курса
Анализ временных рядов на Python
Инструкции к упражнению
- Сгенерируйте 500 случайных нормальных мультипликативных «шагов» со средним значением 0,1% и стандартным отклонением 1% с помощью
np.random.normal()— они представляют доходности — и прибавьте единицу для получения совокупной доходности. - Смоделируйте цены акций
P:- Накопленное произведение шагов вычислите с помощью метода
.cumprod()из numpy. - Умножьте накопленное произведение совокупных доходностей на 100, чтобы начальное значение равнялось 100.
- Накопленное произведение шагов вычислите с помощью метода
- Постройте график смоделированного случайного блуждания с дрейфом.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Generate 500 random steps
steps = np.random.normal(loc=___, scale=___, size=___) + ___
# Set first element to 1
steps[0]=1
# Simulate the stock price, P, by taking the cumulative product
P = ___ * np.cumprod(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk with Drift")
plt.show()