Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import backtrader as bt
- import backtrader.feeds as btfeeds
- import datetime
- data = btfeeds.YahooFinanceCSVData(dataname='DASH.csv')
- cerebro = bt.Cerebro()
- cerebro.adddata(data)
- data = btfeeds.GenericCSVData(
- dataname='DASH.csv',
- fromdate=datetime.datetime(2014, 2, 10),
- todate=datetime.datetime(2017, 2, 5),
- nullvalue=0.0,
- dtformat=('%Y-%m-%d'),
- tmformat=('%H.%M.%S'),
- datetime=2,
- #time=1,
- high=3,
- low=4,
- open=5,
- close=1,
- volume=6,
- #openinterest=-1
- )
- class SmaCross(bt.SignalStrategy):
- params = (('pfast', 10), ('pslow', 30),)
- def __init__(self):
- sma1, sma2 = bt.ind.SMA(period=self.p.pfast), bt.ind.SMA(period=self.p.pslow)
- self.signal_add(bt.SIGNAL_LONG, bt.ind.CrossOver(sma1, sma2))
- cerebro = bt.Cerebro()
- #data = df#bt.feeds.YahooFinanceData(dataname='YHOO', fromdate=datetime(2011, 1, 1),todate=datetime(2012, 12, 31))
- cerebro.adddata(data)
- cerebro.addstrategy(SmaCross)
- print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())
- cerebro.run()
- print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())
- cerebro.plot()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement