量化交易 - 系统搭建


说说我对系统搭建的理解,首先量化系统我认为可以分为3大类

  1.回测系统 (策略回测,指标评价等)

  2.实盘系统(真正的生产)

  3.可视化展示(锦上添花)

1. 回测系统:

  回测系统主要为研究开发策略,有大量的数据处理,然而对系统的速度要求不高,所以我选择python ,除了资金曲线,还有一些统计指标,优化调参时可以使用python 多进程,配个多核电脑,速度还是可以接受的,没必要搞c++,这么说,c++1个月开发,跑回测调参5分钟,

不如3天python 多进程50分钟,人的时间才是宝贵的,电脑本来就是用的,不要担心多核风扇狂转.回测系统,80%的工作在数据整理,构建好交易模型,写出一套按交易模型构建的框架(通常都可以在基础框架的基础上修改),

2. 实盘系统:

  实盘系统在日线级别一下的中高频交易都是需要低延时的,频率越高,延迟系统的影响越大,把实盘系统简单分为3个步骤,1.数据更新后,我们从api获取数据 ---> 2.获取新数据后,计算指标 ---> 3 . 下单 这三个步骤我们需要尽可能的缩短时间,不是说小时级的策略,这里就不需要低延迟了.否则,下单价格都是几秒前的数据,滑点会变大.所以如果是分钟以上的策略,策略计算还算简单的话,python还是可以应付的,但如果计算量大,频率又高,那还是选个静态语言吧..

3 .可视化展示

  主要用于监控账户,让我们可以更好的理解和了解我们策略的情况,不是必须的,起到锦上添花的作用,可以看我前面的文章有个配置grafana的.类似

最后想说说,试图把3个系统做到一起,显然是没有必要的,实盘系统追求速度,我认为越简洁越好,我见过一个正开发的系统, 是这样的,一台服务器,接收数据,然后转存数据库同时websocket分发给实盘系统,实盘系统计算下单信号,再把信号转发给下单系统,显然如果策略很多,资金量很大,这样是没问题的,但对于小的私募,总共1,2个策略来跑,还是没必要搞的这么复杂.