VeighNa量化社区
你的开源社区量化交易平台
johnsond0869e0750b64762's Avatar
Member
离线
8 帖子
声望: 0

谢谢,我试试检查下

以前都是用MT5做量化交易,但因为自身有一些BUG,加上内存占用比较大就重新选择了VNPY。但这段时间用VNPY跑几十个策略,速度已经受不了了,一个简单的tick驱动,各个策略之间执行间隔竟然要100-200毫秒,更有甚者,日志打印的时间却是10多分钟前交易的数据记录!!!
大家做交易时候有无遇到这个问题,对python的运行效率非常失望!

谢谢,看样子也只能这样操作比较合适。

我看了下CTA的示例代码,只要行情订阅成功,都会触发on_tick和合成的k线回调on_bar,如果当时还没有启动策略,trading就是False导致即使buy也不会运行。
所以我想在on_start中buy,但发现cta引擎是先回调on_start,然后再设置trading为True。是不是还是不能成功开仓?

    def start_strategy(self, strategy_name: str):
        """
        Start a strategy.
        """
        strategy = self.strategies[strategy_name]
        if not strategy.inited:
            self.write_log(f"策略{strategy.strategy_name}启动失败,请先初始化")
            return

        if strategy.trading:
            self.write_log(f"{strategy_name}已经启动,请勿重复操作")
            return

        self.call_strategy_func(strategy, strategy.on_start)
        strategy.trading = True

        self.put_strategy_event(strategy)

是的,我也准备这样做。不过上层把交易所聚合成一个接口,数据太多了,比如挂单撤单数据,还有 部分成交的状态比较麻烦。

谢谢您的解答,我在想如何实现云端的量化服务,是把交易所聚合成一个接口还是各个用户独立一个进程连接交易所进行量化。

初学vn.py,略看源码系统框架十分了得,向开发团队致敬!想问问这几点需求vn.py能实现吗?
1.vn.py作为webservice,不同用户提供对应的账号选择不同策略进行量化交易。(不用本地的setting.json)

  1. cta策略或者组合策略能否支持对策略的管理,比如暂停策略,重启策略等。即策略暴露一些方法,通过调用策略相关方法实现暂停功能。
  2. 目前来看订单事件和成交事件都是基于用户的ws,但如果中途中断有无容错机制,即重新获取用户的订单记录补齐订单或成交回调。(同理,tick中断后是否可以自动重连补齐tick,避免本地的tick跟交易所实际的k线不一致)
  3. 交易合约时,如果爆仓或用户交易所手工处理的事件,vn.py有无一些对应处理机制。比如暂停或终止策略。
    初次接触,还有很多不明白,请了解的朋友指点一下。谢谢。

刚刚学,虽然还不太理解,但很多柜台确实限流,有需要再回顾。谢谢大神!

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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