-
Notifications
You must be signed in to change notification settings - Fork 3
/
backtest.py
36 lines (24 loc) · 904 Bytes
/
backtest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""
O backtest.pt roda uma simulação de como a estratégia do rsi performaria em
um determinado periodo de tempo.
Essa biblioteca é fenomenal para testes antes de realmente colocarmos
dinheiro na aplicação.
"""
#Importação
import backtrader as bt
#Criando a classe da nossa estratégia
class RSIStrategy(bt.Strategy):
def __init__(self):
self.rsi = bt.talib.RSI(self.data, period=14)
def next(self):
if self.rsi < 30 and not self.position:
self.buy(size=0.1)#Quantidade da moeda
if self.rsi > 70 and self.position:
self.close()
cerebro = bt.Cerebro()
#data = bt.feeds.GenericCSVData(dataname='daily.csv',dtformat = 2)
data = bt.feeds.GenericCSVData(dataname='novo.csv',dtformat = 2,timeframe=bt.TimeFrame.Minutes,compression=15)
cerebro.adddata(data)
cerebro.addstrategy(RSIStrategy)
cerebro.run()
cerebro.plot()