January 2020
Beginner to intermediate
432 pages
11h 24m
English
Execute the following steps to create a backtest, using the bt.Signal class.
from datetime import datetimeimport backtrader as bt
class SmaSignal(bt.Signal): params = (('period', 20), ) def __init__(self): self.lines.signal = self.data - bt.ind.SMA(period=self.p.period)
data = bt.feeds.YahooFinanceData(dataname='AAPL', fromdate=datetime(2018, 1, 1), todate=datetime(2018, 12, 31))
cerebro = bt.Cerebro(stdstats = False)cerebro.adddata(data)cerebro.broker.setcash(1000.0)cerebro.add_signal(bt.SIGNAL_LONG, SmaSignal)cerebro.addobserver(bt.observers.BuySell)cerebro.addobserver(bt.observers.Value)
Read now
Unlock full access