order_target_percent - 目标比例下单「股票专用」
rqalpha.api.
ordertarget_percent
(args, *kwargs_)[源代码]- 买入/卖出证券以自动调整该证券的仓位到占有一个目标价值。
加仓时,percent 代表证券已有持仓的价值加上即将花费的现金(包含税费)的总值占当前投资组合总价值的比例。减仓时,percent 代表证券将被调整到的目标价至占当前投资组合总价值的比例。
其实我们需要计算一个position_to_adjust (即应该调整的仓位)
position_to_adjust = target_position - current_position
投资组合价值等于所有已有仓位的价值和剩余现金的总和。买/卖单会被下舍入一手股数(A股是100的倍数)的倍数。目标百分比应该是一个小数,并且最大值应该<=1,比如0.5表示50%。
如果position_to_adjust 计算之后是正的,那么会买入该证券,否则会卖出该证券。 需要注意,如果资金不足,该API将不会创建发送订单。
参数:
- id_or_ins (
Instrument
object | str | List[Instrument
] | List[str]) – 下单标的物 - percent (float) – 仓位最终所占投资组合总价值的目标百分比。
- price (float) – 下单价格,默认为None,表示
MarketOrder
, 此参数主要用于简化 style 参数。 - style (OrderStyle object) – 下单类型, 默认是市价单。目前支持的订单类型有
LimitOrder
和MarketOrder
返回:Order
object | NoneExample:
- #如果投资组合中已经有了平安银行股票的仓位,并且占据目前投资组合的10%的价值,那么以下代码会消耗相当于当前投资组合价值5%的现金买入平安银行股票:
- order_target_percent('000001.XSHE', 0.15)