程序化交易系统的建设从时间和发展的阶段上来看,可以分为三个步骤。
(一)前期的准备工作
程序化交易系统并非仅仅只是一个电脑加上一个可行的策略,它的建立工作远比人们脑海里那种简单的模型搭建要复杂很多。对于前期准备工作而言,就包括了人员配置和硬件配置两个方面的内容。程序化交易系统,作为一个相对独立的体系,需要各方面专业人员的配合。例如,首先需要高级软件工程师来完成对交易行情服务器和策略的开发,这样可以保证行情和交易的平台能够为策略的实施提供最大便利,为客户提供最个性化的服务。其次需要金融工程师基于一定的策略思想来进行建模、数据分析以及编写程序。再次需要系统工程师对整个交易系统环境提供网络管理和软硬件方面的支持。此外,风险控制的成员也必不可少,需要对交易产品的资金账户、盈亏风险进行监控和管理。就硬件而言,从交易必需的行情服务器、交易服务器,到交易数据库、专门面对测试、开发的终端,以及必要的网络设备等等,都需要大量的前期投入。
(二)中期的策略研究
对一个程序化交易系统而言,成熟而稳定的交易策略可以说是整个系统的灵魂所在。为了得到一个成功的交易策略,一般而言要经过以下几道环节:
首先,进行模型的设计。从类型上而言,需要确定是单边投机交易还是套利交易;从时间区段而言,需要确定是日内短线,还是长线趋势;就品种数量而言,要确定是交易一个品种,还是跨品种、跨市交易或者是在期现之间进行交易。而当进入具体模型设计的时候,需要考虑各方面的因素和参数,比如交易模型面对的投资者类型,尤其是投资者的交易习惯和风险偏好,还有模型进场和出场的点位,模型的使用周期和交易的仓位比例等。一般而言,主要的策略类型有以下几种:一是久期平均,是指使用久期作为衡量指标来确定某组合投资的合理价格区域,从而通过低买高卖来实现收益。二是组合保险,可以通过对给定价值的底值逐步提升的操作策略,阶段性地稳固已取得的收益,处于下跌市时,对投资组合最小价值可以起到保护作用;当价格上涨时,该组合也同样可以跟涨盈利。三是指数套利,是指投资者同时交易股指期货合约和相对应的“一揽子”股票的交易策略,当理论期货价格和实际期货价格间的差额足够大时就可获取套利收益。四是数量化交易,是指基本面分析投资方式的自动化,利用计算器分析各项基本面数据,选择投资组合的资产配置,并通过建立相应的数学模型来预测组合的未来变化。
其次,当一个策略模型基本成型之后,就需要对这个交易模型进行历史数据的检验。在检验过程中,为了尽量拟合真实情况,交易时的交易成本也需要考虑在内。检验后,需要计算出各种数据指标并进行分析统计。比如整个交易策略盈利情况、交易的胜率、盈亏比、最大的连续盈利次数、最大的连续亏损次数、最大资金回撤比例等等,根据这些指标结果,对模型的设计思路,对一些交易细节的处理以及各个相关参数进行调整和优化。
最后,在模拟测试和调整令人满意后,仍然不能直接投入使用,还需要进行实盘跟踪的检验,以考察模型在实际交易环境下运行效果的稳定性和可行性。有很多问题在进行历史测算的时候可能被忽略,只有在实盘测试的时候才会暴露出来,有时甚至历史测算和实盘测试的结果会截然不同。这主要是因为,历史数据的代入和实盘交易有一定的区别,比如对市场的冲击和盘口的影响就是历史数据检验的时候无法体现的。此外,在历史测算中,所有的开仓或者平仓指令都是按可成交来计算的,而在实盘操作时,有可能会出现各种各样的问题影响成交,比如下单时突然出现对手盘不足或者大幅的滑价,导致交易失败等。
(三)后期的针对性产品开发以及维护
在一个交易模型经过了以上几个步骤之后,如果仍然有良好而稳定的收益率、较小的风险和资金回撤,那么这个模型基本上就可以算是成熟了。然而就一个交易系统而言,或者对一个程序化交易团队而言,只依靠一个单一的策略模型是远远不够的。我们都知道,为了规避系统风险,一个行之有效的方法就是将投资分散到不同的方向。交易策略也是如此,利用几个基于不同原理、不同周期、不同资金配比的策略组合,就会在风险控制上有很好的表现。