Geen voorspelling voor white noise
Een white-noise-tijdreeks is simpelweg een reeks ongecorreleerde, identiek verdeelde willekeurige variabelen. Aandelenrendementen worden vaak als white noise gemodelleerd. Helaas kun je bij white noise toekomstige observaties niet op basis van het verleden voorspellen: de autocorrelaties zijn op alle vertragingen nul.
Je gaat een white-noise-reeks genereren en de autocorrelatiefunctie plotten om te laten zien dat die voor alle vertragingen nul is. Je kunt np.random.normal() gebruiken om willekeurige rendementen te genereren. Voor een Gaussisch white-noise-proces beschrijven het gemiddelde en de standaarddeviatie het hele proces.
Plot deze white-noise-reeks om te zien hoe die eruitziet en plot daarna de autocorrelatiefunctie.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in Python
Oefeninstructies
- Genereer 1000 normaal verdeelde willekeurige rendementen met
np.random.normal()met een gemiddelde van 2% (0,02) en een standaarddeviatie van 5% (0,05), waarbij het argument voor het gemiddeldelocis en voor de standaarddeviatiescale. - Controleer het gemiddelde en de standaarddeviatie van de rendementen met
np.mean()ennp.std(). - Plot de tijdreeks.
- Plot de autocorrelatiefunctie met
plot_acfenlags=20.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import the plot_acf module from statsmodels
from statsmodels.graphics.tsaplots import plot_acf
# Simulate white noise returns
returns = np.random.normal(loc=___, scale=___, size=___)
# Print out the mean and standard deviation of returns
mean = np.mean(___)
std = np.std(___)
print("The mean is %5.3f and the standard deviation is %5.3f" %(mean,std))
# Plot returns series
plt.plot(___)
plt.show()
# Plot autocorrelation function of white noise returns
plot_acf(___, lags=___)
plt.show()