python量化分析库 Backtrader入门之五

python量化分析库 Backtrader入门之五

  好的,到现在为止,我们有了现金(通过broker设置);有了数据,通过bt.feed,然后给大脑添加数据。下一步就到了最激动人心的时刻了:冒险的生意就在眼前。让我们在等式中加入一个策略,并打印出每天的“收盘价”(bar)。

  让我们开始,backtrader中添加策略是通过添加一个backtrader.f类来实现的。

  我们继承Strategy类,创建一个新的类。

# Create a Stratey
class TestStrategy(bt.Strategy):

    def log(self, txt, dt=None):
        ''' Logging function for this strategy'''
        dt = dt or self.datas[0].datetime.date(0)
        print('%s, %s' % (dt.isoformat(), txt))

    def __init__(self):
        # Keep a reference to the "close" line in the data[0] dataseries
        self.dataclose = self.datas[0].close

    def next(self):
        # Simply log the closing price of the series from the reference
        self.log('Close, %.2f' % self.dataclose[0])

   这个类比较简单,就是讲每天的收盘价进行打印。

  创建好策略类后,我们再主程序中使用它,将策略类传递给大脑。  

cerebro.addstrategy(TestStrategy)

  输出结果如下:

注意:假如添加的数据是按照升序排列的,则降序排列的,则得不到预期的结果。

我们来介绍一些基本的规则:

1.在调用init时,策略已经有了一个平台中存在的数据列表。

2.这是一个标准的Python列表,可以按照插入的顺序访问数据。

3.列表中的第一个数据self.datas[0] 是交易操作的默认数据,保持所有策略元素同步(系统时钟)

4.self.dataclose= self.datas[0].close保留对close行的引用。稍后只需要一个级别的间接寻址来访问close值。

5.策略中的next方法将在系统时钟的bar上调用(self.datas[0])。这是真的,直到其他东西开始发挥作用,如指标,它需要一些bar开始产生一个输出。

 

今天就这样,我们可以添加策略,知道了策略的基本运行规则。下期我们继续,添加一个真实的策略~

“Someone said the stockmarket was risky business, but it doesn’t seem so.”认同这句话吗?当然,不认同,股市有风险是真理。君不见春风吹又生的韭菜一茬又一茬~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值