需求分析

我比较习惯自上而下的学习一个东西,因此,我首先会从WT的架构设计入手,分析架构之前,首先要清楚架构设计的目的,先思考量化对交易系统有哪些需求,WT面对的情景有哪些。明白了这些,才能更加深刻的理解WT架构设计的目的,后续的研究才有方向。

信号与交易

首先,一个完整的量化策略可以分为两个部分,一部分是信号,另一部分是交易

信号的千变万化,但可以总结为两种,而交易则因为不同的品种不同的规则而存在差异,导致策略开发者要根据不同的品种来设计不同的交易执行或管理代码,不利于代码的适用性和统一管理。如果能够将信号与交易拆开,策略仅仅负责发出信号,对策略开发的帮助可想而知。

策略组

作为个人投资者,往往仅管理一个账户,三个左右的策略,管理的压力较少。但对于机构投资者,需要同时管理多个产品,每个产品可能包含几十个策略,而且多个策略可能还在同一个账户,甚至同一个合约上运行。这就会造成特别大策略管理压力,要求每个策略不仅能够单独记账,不影响同账户下的其他策略,而且要求还需要一个强大的控制台模块,来管理策略的组合。

风控管理

回测时由于数据的供应稳定,且没有监管,几乎算是策略运行的最理想情况。而在实际的实盘中,由于策略bug、与柜台通讯异常、数据错误等各种原因,可能导致出现实盘未能考虑的情况:比如一瞬间发出大量订单,同时发出反向的订单,频繁的挂撤订单等,轻则保证金迅速枯竭,重则账户直接被拉进小黑屋。

尽管大部分的研究人员能够在自己的策略中考虑并避免这些问题,但只要有一次疏忽便会造成巨大的损失,因此,需要有一个脱离于策略之外的、高效的、准确的风控管理系统,能够统一对所有策略进行风控管理。

研究实盘一致

这里的一致即包括回测和实盘的代码一致,可以保证策略可以无缝在回测环境和实盘环境之间切换。也包括回测与实盘的绩效能够尽量一致。