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

请问1.9版本通过命令行直接运行CTA Trading,

  1. 一个vnpy线程在计算指标和下单速度不受影响的话,最多可以同时运行多少CTA策略实例?
  2. 比如一个vnpy线程最多运行100个策略实例可以保证计算和下单不受影响,那同时开两个vnpy线程每个运行100个CTA策略实例,跟开一个vnpy线程运行200个实例相比,速度上会有多大优势呢?
    谢谢!
Administrator
avatar
加入于:
帖子: 1690
声望: 80
  1. 如果确信自己的策略逻辑计算延时比较低的话,单进程启动30个策略无压力
  2. Python内的线程受制于GIL,只能利用CPU单核,所以要跑更多策略的话需要开多进程,而不是多线程
Member
加入于:
帖子: 25
声望: 0

用Python的交易员 wrote:

  1. 如果确信自己的策略逻辑计算延时比较低的话,单进程启动30个策略无压力
  2. Python内的线程受制于GIL,只能利用CPU单核,所以要跑更多策略的话需要开多进程,而不是多线程

感谢回复,我现在一个vnpy进程跑100个左右的CTA策略实例,实盘感官上没觉得有明显的延迟,没有去量化这个延迟情况。就是每次策略启动的时候要四五分钟,请问我如果开三个vnpy进程去跑这100个策略实例的话延迟会更低吗?另外还想问一下一台电脑可以同时运行几个vnpy进程,是不是只要cpu没被100%占用就可以开新的vnpy进程?

Administrator
avatar
加入于:
帖子: 1690
声望: 80
  1. 如果你策略的逻辑运算量比较少,或者CPU的单核性能够强的话,确实单进程可以跑更多的实例
  2. 启动策略的延时是由于从数据库载入历史数据导致的硬盘IO时间,这块目前没什么太好的办法
  3. 一般有CPU有几个核心,最多就开几个vn.py进程,开得更多了可能适得其反
© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3