始める無料で始める

ホワイトノイズは予測できない

ホワイトノイズの時系列は、互いに相関がなく、同一の分布に従うランダム変数の並びです。株式のリターンはしばしばホワイトノイズとしてモデル化されます。残念ながら、ホワイトノイズでは自己相関がすべてのラグで 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()
コードを編集して実行