Générer une marche aléatoire
Alors que les rendements boursiers sont souvent modélisés comme un bruit blanc, les prix suivent de près une marche aléatoire. Autrement dit, le prix d’aujourd’hui est le prix d’hier plus un bruit aléatoire.
Vous allez simuler l’évolution du prix d’une action dans le temps, en partant d’un prix initial de 100, puis chaque jour il monte ou descend d’un montant aléatoire. Ensuite, tracez le prix simulé. Si vous cliquez plusieurs fois sur le bouton "Exécuter le code", vous verrez plusieurs réalisations.
Cet exercice fait partie du cours
Analyse des séries temporelles en Python
Instructions
- Générez 500 « pas » aléatoires de loi normale avec une moyenne = 0 et un écart type = 1 à l’aide de
np.random.normal(), où l’argument de la moyenne estlocet celui de l’écart type estscale. - Simulez les prix
P:- Cumulez les
stepsaléatoires avec la méthode numpy.cumsum() - Ajoutez 100 à
Ppour obtenir un prix initial de 100.
- Cumulez les
- Tracez la marche aléatoire simulée
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Generate 500 random steps with mean=0 and standard deviation=1
steps = np.random.normal(loc=___, scale=___, size=___)
# Set first element to 0 so that the first price will be the starting stock price
steps[0]=0
# Simulate stock prices, P with a starting price of 100
P = ___ + np.cumsum(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk")
plt.show()