vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 48
声望: 0

多标的组合策略不成熟,感觉有些鸡助!

多标的组合策略不能使用on_trade和on_order事件,连成交后返回数据都确定不了,这样的逻辑太混乱了。

多标的组合策略的出发点非常好,做好了会让vnpy提升一个档次。但必须做到这一点:

例如发送buy命令时候,返回一个唯一单号,成交后可以在on_trade和on_order事件获取这个单号的数据,这个唯一单号一直存在,直到这张单卖出,这个唯一单号才清除。

我们在任何情况下,只要跟踪这个单号,就可以知道这张单的pos及状态等信息,这样多标的组合策略才真正的能使用。

Member
avatar
加入于:
帖子: 48
声望: 0

个人认为做太多花哨的功能,意义不大,必需将上面最基本的逻辑处理清淅,才能使vnpy具有竞争力,不然很难吸引有实力投资者使用vnpy。

Member
avatar
加入于:
帖子: 172
声望: 36

你在策略里面调用下就可以了

    def update_order(self, order: OrderData):
        """
        收到委托单回报更新
        """
        pass

    #------------------------------------------------------------------------------------
    def update_trade(self, trade: TradeData):
        """
        收到交易事件更新
        """
        pass
Member
avatar
加入于:
帖子: 48
声望: 0

还需要知道每一张单的状态和数据,例如增加以下函数:
买入时:self.buy(输入参数合约名称,数量,价格):返回单号
查询时:self.orderdata(输入参数单号):返回单号对应的挂单状态、数量、价格、下单时间、合约名称
self.tradedata(输入参数单号):返回单号对应的成交状态、数量、价格、成交时间、合约名称

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