VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 1
声望: 0
def update_trade(self, trade: TradeData) -> None:
    """"""
    if trade.direction == Direction.LONG:
        if trade.offset == Offset.OPEN:
            self.long_td += trade.volume
        elif trade.offset == Offset.CLOSETODAY:
            self.short_td -= trade.volume
        elif trade.offset == Offset.CLOSEYESTERDAY:
            self.short_yd -= trade.volume
        elif trade.offset == Offset.CLOSE:
            if trade.exchange in {Exchange.SHFE, Exchange.INE}:
                self.short_yd -= trade.volume
            else:
                self.short_td -= trade.volume

                if self.short_td < 0:
                    self.short_yd += self.short_td
                    self.short_td = 0
    self.long_pos = self.long_td + self.long_yd
    self.short_pos = self.short_td + self.short_yd

不太理解这里关于持仓的计算,当持仓方向为多头时。如果开多仓,那么self.long_td += trade.volume 今多 = 今多 + 交易量(这个理解)。
但是平今多的时候为什么self.short_td -= trade.volume 。 平今减少的不也应该时今多么?为什么要计算再今空上啊,而且还是今空 = 今空 - 交易量。
如果今空初始为零 那么平今多的时候self.short_td不就小于0了么 那样下面关于多头持仓和空头持仓的结果应该就不准了啊。请前辈们指教,谢谢、
self.long_pos = self.long_td + self.long_yd
self.short_pos = self.short_td + self.short_yd

Member
avatar
加入于:
帖子: 5078
声望: 306

Direction.LONG是委托方向,Offset.CLOSETODAY是开平。Direction.LONG, Offset.CLOSETODAY是委托方向为多平空方的今仓,所以空方的可交易数量减少
如果空方没有今仓,那么不会有Direction.LONG, Offset.CLOSETODAY的成交,因为可平仓位不足

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】