1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ時系列解析

Connected

演習

高頻度の株価データ

高頻度の株価データは MA(1) 過程でうまくモデル化できることが多く、この章のモデルの良い応用例になります。

DataFrame intraday には、Sprint 株(ティッカーシンボル「S」)の1日分の価格(2017年9月1日、1分間隔)が入っています。株式市場は午前9時30分から午後4時までの6.5時間(390分)開いています。

時系列データを分析する前に、少しクレンジングが必要です。これはこの演習と次の2つの演習で行います。先頭の数行を見ると、いくつか気づく点があります。まず、列ヘッダーがありません。タイムスタンプは9:30〜16:00の時刻ではなく、0〜390の連番です。そして、最初の日付が「a1504272600」という少し奇妙な文字列になっています。「a」の後の数字は Unix time(1970年1月1日からの経過秒)で、このデータセットでは日中データの日を区切るために使われています。

データ型を見ると、DATE 列が object、つまりここでは文字列になっています。欠損データを整える前に、これを数値に変換する必要があります。

1分足データの出典は Google Finance です(データの取得方法はこちらを参照)。

datetime モジュールはすでにインポート済みです。

指示

100 XP
  • .iloc[0,0] を使って、最初の日付を手動で 0 に変更してください。
  • intraday.columns に2つの文字列を含むリストを代入して、列ヘッダーを 'DATE' と 'CLOSE' に変更してください。
  • pandas の属性 .dtypes(かっこは不要)を使って、各列のデータ型を確認してください。
  • pandas の関数 to_numeric() を使って、'DATE' 列を数値に変換してください。
  • pandas のメソッド .set_index() を使い、引数に文字列 'DATE'(列そのものではなく、列の「名前」)を渡して、'DATE' 列を intraday の新しいインデックスにしてください。