シリーズ3回めはボリンジャーバンドを。個人的には最も使用頻度が高い指標かも。
日経平均プロフィルさんから株価データ取得のコードはここでは割愛。シリーズ第1回目を参照ください。
まずバンドの中心ラインとなる単純移動平均を算出し、同日数での株価標準偏差を算出してプラスとマイナスそれぞれの3本バンドを算出、という流れです。
# 計算期間(日数) BB_DAYS = 25 # 株価移動平均を計算 df['ma'] = df.close.rolling(BB_DAYS).mean() # 株価標準偏差を計算 df['sigma'] = df.close.rolling(BB_DAYS).std() # ボリンジャーバンドを計算 for n in range(1, 4): df[f"bb_h{n}"] = df.ma + df.sigma * n df[f"bb_l{n}"] = df.ma - df.sigma * n
株価(終値)とボリンジャーバンドを重ね書きした可視化(↓)。
全期間だとごちゃごちゃして分かりづらいので、2018年ぶんだけ作画してみます(↓)。
今回も、コード一式と実行結果は Google Colaboratory で公開しておきます(↓)。