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

Connected

演習

ドリフトを取り入れる

前の演習では、ランダムウォークに従う株価をシミュレーションしました。今回はそれを次の2点で拡張します。

  • ドリフト(趨勢)を伴うランダムウォークを扱います。株価のような多くの時系列はランダムウォークですが、時間とともに上方へドリフトする傾向があります。
  • 前の演習では、ランダムウォークのノイズは加法的でした。つまり、ランダムで正規分布に従う価格変化を直前の価格に足していました。しかし、この方法だと理論上は価格がマイナスになる可能性があります。そこで今回はノイズを乗法的にします。ランダムで正規分布に従う変化に 1 を足してトータルリターンを作り、それを直前の価格に掛けます。

指示

100 XP
  • 平均 0.1%、標準偏差 1% の正規分布に従う乗法的な「steps」を 500 個、np.random.normal() を使って生成し、トータルリターンにするために 1 を加えます(これはリターンです)。
  • 株価 P をシミュレーションします:
    • numpy の .cumprod() メソッドで steps の積を累積します。
    • トータルリターンの累積積に 100 を掛け、初期値を 100 にします。
  • ドリフトを伴うシミュレーションのランダムウォークをプロットします。