Уловіть дрейф
У попередній вправі ви моделювали ціни акцій, що рухаються випадковим блуканням. У цій вправі ви розширите цю ідею двома способами.
- Ви розглянете випадкове блукання з дрейфом. Багато часових рядів, як-от ціни акцій, є випадковими блуканнями, але з часом мають тенденцію зростати.
- У попередній вправі шум у випадковому блуканні був додатковим: до останньої ціни додавалися випадкові, нормально розподілені зміни ціни. Проте за такого додавання теоретично можна отримати від'ємні ціни. Тепер ви зробите шум мультиплікативним: додасте одиницю до випадкових, нормально розподілених змін, щоб отримати загальну дохідність, і помножите це на останню ціну.
Ця вправа є частиною курсу
Аналіз часових рядів у Python
Інструкції до вправи
- Згенеруйте 500 випадкових нормально розподілених мультиплікативних «кроків» із середнім 0,1% та стандартним відхиленням 1% за допомогою
np.random.normal(). Це будуть дохідності; додайте одиницю, щоб отримати загальну дохідність. - Змоделюйте ціни акцій
P:- Накопичте добуток кроків за допомогою методу numpy
.cumprod(). - Помножте накопичений добуток загальних дохідностей на 100, щоб отримати початкове значення 100.
- Накопичте добуток кроків за допомогою методу numpy
- Побудуйте графік змодельованого випадкового блукання з дрейфом.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()