class BuyAndHold_1(bt.Strategy): def start(self): self.val_start = self.broker.get_cash() # keep the starting cash def nextstart(self): # Buy all the available cash size = int(self.broker.get_cash() / self.data) self.buy(size=size) def stop(self): # calculate the actual retur...
观察 ROI (CRSI) = ROI (Buy-Hold)。 DC 策略 让我们将注意力转向 Donchian 通道 (DC):一种基于通道的技术分析交易策略,用作金融市场交易的指标。 回溯测试 Donchian Channels (DC) 策略,其中 period=20 且 回溯 = -1 class DonchianChannels(bt.Indicator): ''' Params Note: - `lookback` (default:...
(not isbuy)) print('{} Data {} OType {} Sizing to {}'.format( dt, data._name, ('buy' * isbuy) or 'sell', s)) return s class St(bt.Strategy): params = dict( enter=[1, 3, 4], # data ids are 1 based hold=[7, 10, 15], # data ids are 1 based usebracket=True...
观察 ROI (CRSI) = ROI (Buy-Hold)。 DC 策略 让我们将注意力转向 Donchian 通道 (DC):一种基于通道的技术分析交易策略,用作金融市场交易的指标。 回溯测试 Donchian Channels (DC) 策略,其中 period=20 且 回溯 = -1 class DonchianChannels(bt.Indicator): ''' Params Note: - `lookback` (default:...
to_buy+hold-to_sell得到最终持仓,然后先清仓to_sell,然后按平均仓位买入。 self.getposition(self.data).size > 0 可以判断当前data是否为已经持仓。 明天我们要完成动量轮动策略的1.0版本。 重点还是如何构造策略,如何优化策略,建立社群,共创共享,真正创造价值。
buysell < 0: self.log('SELL CREATE, %.2f' % self.data.close[0]) self.sell() elif self.buysell > 0: if self.p.valid: valid = self.data.datetime.date(0) + \ datetime.timedelta(days=self.p.valid) else: valid = None # Not in the market and signal to buy if self.p.exec...
to_buy+hold-to_sell得到最终持仓,然后先清仓to_sell,然后按平均仓位买入。 self.getposition(self.data).size > 0 可以判断当前data是否为已经持仓。 明天我们要完成动量轮动策略的1.0版本。 重点还是如何构造策略,如何优化策略,建立社群,共创共享,真正创造价值。
(closing and self.p.samebar): # Not in the market or closing pos and reenter in samebar if self.coinflip.flip(): self.entering = self.LONG if self.buy() else self.NONE else: self.entering = self.SHORT if self.sell() else self.NONE def logdata(self): if self.p.verbose: # ...
to_buy+hold-to_sell得到最终持仓,然后先清仓to_sell,然后按平均仓位买入。 self.getposition(self.data).size >0 可以判断当前data是否为已经持仓。 明天我们要完成动量轮动策略的1.0版本。 重点还是如何构造策略,如何优化策略,建立社群,共创共享,真正创造价值。
close方法将检查当前仓位,并相应地使用buy或sell来有效地close该仓位。size也将自动计算,除非参数是来自用户的输入,在这种情况下可以实现部分close或reversal。 订单通知 要接收通知,用户子类的Strategy必须重写notify_order方法(默认行为是什么也不做)。以下内容适用于这些通知: ...