ランダムウォーク II
前の動画では、実際のリターンからサンプリングしてリターンのランダムウォークを作成し、そのランダムサンプルを使って株価のランダムな推移を作る方法も学びました。
この演習では、Facebook の株価が IPO してから 2017 年 5 月 31 日までの過去のリターンを使ってランダムウォークを構築します。次の演習では、別のランダムな価格パスをシミュレーションします。
この演習はコースの一部です
Pythonでの時系列データ操作
演習の手順
すでに pandas を pd、numpy.random から choice と seed、seaborn を sns、matplotlib.pyplot を plt としてインポート済みです。2012 年 5 月の IPO 以降の FB の株価系列も、変数 fb として読み込んであります。まずは .head() で中身を確認してください。
- 乱数シードを 42 に設定します。
.pct_change()を適用して Facebook の日次リターンを計算し、欠損値を削除してdaily_returnsに代入します。- Facebook の
daily_returnsの.count()を含む変数n_obsを作成します。 choice()を用いてdaily_returnsからn_obs個をランダムに抽出し、random_walkに代入します。random_walkをpd.Seriesに変換し、同じ変数に再代入します。sns.distplot()を使ってrandom_walkの分布をプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Set seed here
# Calculate daily_returns here
daily_returns = ____
# Get n_obs
n_obs = ____
# Create random_walk
random_walk = ____
# Convert random_walk to pd.series
random_walk = ____
# Plot random_walk distribution