A random walk simulation
Stochastic or random movements are used in physics to represent particle and fluid movements, in mathematics to describe fractal behavior, and in finance to describe stock market movements.
Use the np.random.normal()
function to model random walk movements of the USO oil ETF with a constant daily average return (mu) and average daily volatility (vol) over the course of T trading days.
This exercise is part of the course
Introduction to Portfolio Risk Management in Python
Exercise instructions
- Set the number of simulated days (
T
) equal to 252, and the initial stock price (S0
) equal to 10. - Calculate
T
random normal values usingnp.random.normal()
, passing inmu
andvol
, andT
as parameters, then adding 1 to the values and assign it torand_rets
. - Calculate the random walk by multiplying
rand_rets.cumprod()
by the initial stock price and assign it toforecasted_values
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Set the simulation parameters
mu = np.mean(StockReturns)
vol = np.std(StockReturns)
T = ____
S0 = ____
# Add one to the random returns
rand_rets = ____ + 1
# Forecasted random walk
forecasted_values = ____
# Plot the random walk
plt.plot(range(0, T), forecasted_values)
plt.show()