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) – 下单类型, 默认是市价单。目前支持的订单类型有 LimitOrderMarketOrder返回:Order object | NoneExample:
  1. #如果投资组合中已经有了平安银行股票的仓位,并且占据目前投资组合的10%的价值,那么以下代码会消耗相当于当前投资组合价值5%的现金买入平安银行股票:
  2. order_target_percent('000001.XSHE', 0.15)