PyAlgoTradeの日本語解説ブログ

PyAlgoTrade の勝手に日本語解説ブログ。日本語の内容に関して保証はいたしておりません。必ず本家のサイトをご確認ください。

2015年9月21日月曜日

PyalgTrade で ボリンジャーバンド(BollingerBands)を使う

非常に使っている人が多いボリンジャーバンドについて触れないわけにはいくまい。いや、その他ATRとかCumulativeReturnとかは何を言っているのかわからないのでパス。わかったら書きます。

ボリンジャーバンドは中心を移動平均線、その上と下にσの線を引きます。2σの線を超えることは95%ないということらしいのですが、これで大やけどをする人もいいるそうなので使い方には注意が必要です。

さて、ボリンジャーバンドを使うプログラムは以下のようになります。σ=2を指定してます。



#!/usr/bin/python
# -*- coding: utf-8 -*-
import logging
from pyalgotrade.technical import bollinger
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed

logging.basicConfig(filename='/tmp/exec.log')

class MyStrategy(strategy.BacktestingStrategy):
    def __init__(self, feed, instrument):
        strategy.BacktestingStrategy.__init__(self, feed)
        sigma=2
        self.__bband = bollinger.BollingerBands(feed[instrument].getCloseDataSeries(),15, sigma)
        self.__bbandLow = self.__bband.getLowerBand()
        self.__bbandMiddle = self.__bband.getMiddleBand()
        self.__bbandUpper = self.__bband.getUpperBand()
        self.__instrument = instrument

    def onBars(self, bars):
        bar = bars[self.__instrument]
        self.info("%f Low:%s Middle:%s Upper:%s" % (bar.getClose(),self.__bbandLow[-1],self.__bbandMiddle[-1],self.__bbandUpper[-1]))


# Load the yahoo feed from the CSV file
feed = yahoofeed.Feed()
feed.addBarsFromCSV("orcl", "orcl-2000.csv")

# Evaluate the strategy with the feed's bars.
myStrategy = MyStrategy(feed, "orcl")
myStrategy.run()
解説は各動画で

kabu.comの解説
 ボリンジャーバンド

0 件のコメント:

コメントを投稿