Backtrader
通过Position
得到持仓的情况
Position
官方文档:https://www.backtrader.com/docu/position/
在策略中,使用self.broker.positions
获取全部的仓位情况,包括已清仓的股票,但这不是我们想要的,所以对它进行修改:
当前持仓的股票代码
在策略中使用:
hold_bond_name = []
for _p in self.broker.positions:
if self.broker.getposition(_p).size > 0:
hold_bond_name.append(_p._name)
hold_bond_name
即为持仓的股票代码,可以简写为:
hold_bond_name = [_p._name for _p in self.broker.positions if self.broker.getposition(_p).size > 0]
每只持仓股票的数量
同理使用如下代码:
open_positions = len([_p for _p in self.broker.positions if self.broker.getposition(_p).size > 0])