ボリンジャーバンドは中心を移動平均線、その上と下にσの線を引きます。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()
解説は各動画で
0 件のコメント:
コメントを投稿