I have a random walk that is generated as so using python, numpy, and matplotlib
def random_process():
a = 0
b = 104 #replicate starting point of SPY shown later
rho = 0.995 #empirically good number
X, Y = [], []
aSamples = np.random.normal(size=sample_size)
bSamples = np.random.normal(size=sample_size)
for i in range(0, sample_size):
X.append(i)
Y.append(a + b)
a = a * rho + aSamples[i]
b = b + rho * bSamples[i]
plt.plot(X, Y)
plt.show()
This generated the following plot
The walk of the b variable means that it is not guaranteed to return to any value.
I also generated a plot for the SPY index based on daily data for the year 2010
How are these plots objectively different? How would one be able to tell that the first plot is generated at random and that it is impossible to predict the direction of the next value?
Is attempting to build a strategy that looks exclusively at in-sample stock data as futile as trying to predict the next value of the first plot?