株も歩けば犬に当たる

ブラックSlerで働くSEが株やPythonや思ったことについて書いています。

ボリンジャーバンドをpythonで描く 〜python〜

目次

ボリンジャーバンドとは

ボリンジャーバンドとは、移動平均線(今回は25日移動平均線)を中心に上下に±1σと±2σを引いたものです。

テクニカル指標の中でも、信頼度が高く多くのプロトレーダーから使われているそうです。

f:id:doz13189:20160928171741p:plain
ボリンジャーバンド

説明下手な自分が説明しても、ボリンジャーバンドのボの字も伝わらないので、詳しくはググッて調べてみてください。

ちなみに私は、このサイトがわかりやすかったと思います。

orekabu.jp

ということで、今回はこのボリンジャーバンドpythonを使って描いてい見ます。

ソースコード

PythonのpandasのSeriesにボリンジャーバンドを描く関数があります。

import pandas as pd

#Bolinger Band
base = pd.Series.rolling(close, window=25).mean() #25日移動平均線
deviation = 2
sigma = pd.Series.rolling(close, window=25).std(ddof=0) #σの計算
upper_siguma = base + sigma
upper2_sibuma = base + sigma * deviation
lower_siguma = base - sigma
lower2_siguma = base - sigma * deviation

コード内のcloseには、調整後終値を入れています。。
適当にyahooファイナンスからスクレイピングをすると良いと思います。

スクレイピングのやり方がわからない方は、以下を参考にしてください。
doz13189.hatenablog.com

簡単にコードを解説すると、
まず、25日移動平均線を計算します。
次にσの計算です。
今回は±1〜2を計算します。
たったこれだけで計算は終わりです。

これにあとローソク足を足して、matplotlibなりでプロットすれば完成です。
チャートを見る際に、移動平均線とセットで使うと効果的っぽいです。

f:id:doz13189:20160928171741p:plain