方法枚举
1、order_target_size
2、order_target_value
3、order_target_percent
注意:此类方法的参数与 buy / sell 完全相同
方法详解
1、self.order_target_size(target=10000)
自动通过买卖,将self.data对应的股票仓位数量调整至10000股。
2、self.order_target_value(target=10000)
自动通过买卖,将self.data对应的股票仓位价值调整至10000元
不考虑做空情况,假如在next中执行此方法,系统检查当日该股收盘价为12.41,持股500股,按收盘价计算持仓市值为6205.00元。为了达到目标的持仓市值10000元,按当日收盘价看,下单量即买入(10000-6205)/ 12.42=305.80,向下取整305股。
注意:下单后次日执行的价格为开盘价,与今天的收盘价可能不同,若次日开盘价过高,资金可能不足,订单会失效。
当可以做空时交易逻辑可参考
position.size: 仓位数
value:仓位市值
target:目标仓位市值
position.size>=0 and target>value
执行Buy
position.size>=0 and target<value
执行Sell
position.size<0 and target>value
执行Sell
position.size<0 and target<value
执行Buy
3、self.order_target_percent(target=0.1)
通过买卖,将self.data对应的股票仓位价值调整至账户价值的10%
实际上它是按百分比算出目标市值,然后调用order.target.value执行,所以它具体执行买卖的逻辑与self.order.target.value相同。
注意 target可以取负值