前回の振り返り
前回は、バックテストの結果をグラフとして出力した。
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される。出力されたグラフは下記の通りで、赤い線で単純移動平均が描画されている。