Backtrader
@adenleo
简介(Introduction)
该框架设计宗旨:
1. 大道至简 (Ease of use)
2. 万象归一(Go back to 1)
框架运行搭建步骤:
步骤 | 方法 |
---|---|
1.创建一个策略 | class Strategy(bt.Strategy) |
1.1.设定可能需要调整的参数 | params = (('key', value), ) |
1.2.实例化策略中需要的指标 | indicators.indicators() |
1.3.制定进入/退出市场的规则 | buy()/sell() |
2.创建一个大脑(Cerebro)引擎 | Cerebro() |
2.1.导入策略(Strategy) | cerebro.addstrategy(Strategy) |
2.2.导入并加载数据(Data Feed) | cerebro.adddata(data) |
2.3.执行 | cerebro.run() |
2.4.最后可视化输出: | cerebro.plot() |
附:
框架以以下方式导入:
import backtrader as bt
1.2 在def __init__(self)
中操作
1.3 在def next(self)
中操作
完整模版代码:
import backtrader as bt
class StrategyName(bt.Strategy):
params = (
('key', value),
)
def __init__(self):
self.indicatorsName = bt.indicators.indicatorsName()
def next(self):
if buy_condition:
self.order = self.buy()
if sell_condition:
self.order = self.sell()
cerebro = bt.Cerebro()
cerebro.addstrategy(TestStrategy)
data = bt.feeds.getdate()
cerebro.adddata(data)
cerebro.run()
cerebro.plot()