ホワイトノイズは予測できない
ホワイトノイズの時系列は、互いに相関がなく、同一の分布に従うランダム変数の並びです。株式のリターンはしばしばホワイトノイズとしてモデル化されます。残念ながら、ホワイトノイズでは自己相関がすべてのラグで 0 のため、過去から将来の観測値を予測することはできません。
ここではホワイトノイズ系列を生成し、自己相関関数(ACF)をプロットして、すべてのラグで 0 になることを確認します。ランダムなリターンの生成には np.random.normal() を使えます。ガウス型ホワイトノイズ過程では、平均と標準偏差が過程全体を記述します。
まずこのホワイトノイズ系列をプロットして見た目を確認し、その後に自己相関関数をプロットします。
この演習はコースの一部です
Pythonで学ぶ時系列解析
演習の手順
- 平均 2%(0.02)、標準偏差 5%(0.05)で、
np.random.normal()を使って正規分布に従うリターンを 1000 個生成します(平均は引数loc、標準偏差は引数scale)。 np.mean()とnp.std()でリターンの平均と標準偏差を確認します。- 時系列をプロットします。
plot_acfを使ってlags=20で自己相関関数をプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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()