ПочатиПочніть безкоштовно

Уловіть дрейф

У попередній вправі ви моделювали ціни акцій, що рухаються випадковим блуканням. У цій вправі ви розширите цю ідею двома способами.

  • Ви розглянете випадкове блукання з дрейфом. Багато часових рядів, як-от ціни акцій, є випадковими блуканнями, але з часом мають тенденцію зростати.
  • У попередній вправі шум у випадковому блуканні був додатковим: до останньої ціни додавалися випадкові, нормально розподілені зміни ціни. Проте за такого додавання теоретично можна отримати від'ємні ціни. Тепер ви зробите шум мультиплікативним: додасте одиницю до випадкових, нормально розподілених змін, щоб отримати загальну дохідність, і помножите це на останню ціну.

Ця вправа є частиною курсу

Аналіз часових рядів у Python

Переглянути курс

Інструкції до вправи

  • Згенеруйте 500 випадкових нормально розподілених мультиплікативних «кроків» із середнім 0,1% та стандартним відхиленням 1% за допомогою np.random.normal(). Це будуть дохідності; додайте одиницю, щоб отримати загальну дохідність.
  • Змоделюйте ціни акцій P:
    • Накопичте добуток кроків за допомогою методу numpy .cumprod().
    • Помножте накопичений добуток загальних дохідностей на 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()
Редагувати та запускати код