株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

グラフに単純移動平均 (SMA) を追加する ◆ Backtrader 最初の戦略その6

前回の振り返り

前回は、バックテストの結果をグラフとして出力した。

how-to-make-stock-trading-system.dogwood008.com

how-to-make-stock-trading-system.dogwood008.com

今回の内容

今回は、そのグラフに単純移動平均 (Simple Moving Average; SMA)をプロットする。

単純移動平均 (Simple Moving Average; SMA)とは?

単純移動平均とは、予め定めた期間の平均値を折れ線グラフでたどっていくものである。例えばWikipediaによると、「5、22、55、200」日間の単純移動平均をテクニカル指標として使用する事があるようだ。

main.py を変更

ここでは、5日間の単純移動平均をグラフに引いてみることにする。変更点は下記の部分である。

 class TestStrategyWithLogger(bt.Strategy):
     params = (
         ('size', 1000),
+        ('smaperiod', 5),
     )
    def __init__(self, loglevel=DEBUG):
(中略)
        self.handler.setFormatter(
                Formatter('[%(levelname)s] %(message)s'))
+       self.sma = bt.indicators.SimpleMovingAverage(
+           self.datas[0], period=self.params.smaperiod)

この後、 docker-compose up でバックテストが走り、chart.html が出力1される。出力されたグラフは下記の通りで、赤い線で単純移動平均が描画されている。

how-to-make-stock-trading-system.dogwood008.com

単純移動平均のグラフ
単純移動平均のグラフ

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.