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

Дрейф случайного блуждания

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

  • Вы рассмотрите случайное блуждание с дрейфом. Многие временные ряды, например цены акций, являются случайными блужданиями, но со временем имеют тенденцию к росту.
  • В предыдущем упражнении шум в случайном блуждании был аддитивным: случайные нормальные изменения цены прибавлялись к последней цене. Однако при таком подходе теоретически можно получить отрицательные цены. Теперь вы сделаете шум мультипликативным: к случайным нормальным изменениям будет прибавляться единица, чтобы получить совокупную доходность, которая затем умножается на последнюю цену.

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

Анализ временных рядов на 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()
Редактировать и запускать код