データ分析 - コモディティ価格
コモディティ取引で稼ぐのは簡単ではありません。実際、多くのコモディティトレーダーは利益より損失のほうが多いものです。astsa パッケージには chicken というデータセットが含まれており、これは 2001 年 8 月から 2016 年 7 月までの、ジョージア州ドックにおけるブロイラー丸鶏の現物価格(米国セント/ポンド、月次)です。
astsa パッケージは R コンソールにあらかじめ読み込まれており、データはプロット済みです。トレンドと季節成分に注目してください。
まず、このコモディティに対して、丁寧に SARIMA モデルを当てはめます。続いて、当てはめたモデルを使って丸鶏の現物価格を予測してみます。
トレンドを取り除いた後、標本 ACF と PACF は AR(2) モデルを示唆します。PACF はラグ 2 で打ち切れ、ACF は緩やかに減衰していくためです。ただし、ACF には小さいながら季節成分が残っています。これは季節成分 SAR(1) を追加で当てはめることで対応できます。
ちなみに、他地域のさまざまなコモディティを分析したい場合は、index mundi に多くの時系列データが掲載されています。
この演習はコースの一部です
Rで学ぶARIMAモデル
演習の手順
- 差分(d = 1)をとったデータ
diff(chicken)をプロットします。トレンドが除去され、季節性の挙動に注目できることを確認します。 - 差分系列の標本 ACF と PACF をラグ 60(5 年)までプロットします。AR(2) が適切に見える一方で、トレンド除去後も小さいが有意な季節成分が残っていることに気づきます。
chickenデータに ARIMA(2,1,0) を当てはめ、残差に相関が残っていることを確認します。- SARIMA(2,1,0)x(1,0,0)12 を当てはめ、モデル適合が良好であることを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Plot differenced chicken
# Plot P/ACF pair of differenced data to lag 60
# Fit ARIMA(2,1,0) to chicken - not so good
# Fit SARIMA(2,1,0,1,0,0,12) to chicken - that works