1、在开发阶段:把策略逻辑落实到代码上,完成编码,形成策略模块DLL/SO;在该模块中需要在Excel中验证逻辑。接着该模块提交到回测阶段中使用。
2、在回测阶段:把上阶段提交的策略模块,放入回测系统,进行历史上的数据验证和参数优化。接着进行防真模拟测试;测试通过后,把策略模块提交到运行阶段。
3、在运行阶段:把回测阶段的策略模块,放入到运行平台中运行。监控平台进行每日运行监控,并检查是否符合历史回测的情况。
(图:三阶段)
第一阶段是涉及到使用工具和知识点最多的一个阶段,无论是使用Matlab,R专业的工具,亦或是采用Oracle,Excel VBA等工具,都是对策略逻辑的基础验证。只有这一步成功了,才能往下一阶段走。
在上述过程中,因为策略模块DLL/SO,在每阶段通过后才能进入下一个阶段。因为我们采用了通过的高频交易系统平台,所以在第一个阶段编译的DLL到后续的实际生产环境是同一个,不必在每阶段在写策略逻辑。并且策略是二进制形式的,进行逆向工程破解的可能性几乎是零。
采用通用平台的目的在于提高策略开发效率,尤其是当涉及到很多高频策略的时候,通用平台会明显提高整个效率;因为它已经把共用的抽离出来,我们只专注于策略的逻辑开发了。而采用专门策略开发的目的在于提供速度(性能),在确定是由于速度而导致策略失效的前提下我们可以采用针对该策略的代码重写,用c语言编写、去除c++虚函数,异常处理等高级特性。事实上到了专门开发策略的这步,是个系统工程,不仅仅涉及到软件这层的性能,还包含网络、操作系统。需要综合评估。(关于性能的文章见其他相关文档说明)
通用平台优势:策略开发周期短、整体性能相对低。
通用平台劣势:底层框架开发周期长。
专门策略开发优势:整体性能相对高
专门策略开发劣势:整体开发周期长
Excel:进行策略逻辑验证、输出交易报表、输出表格、输出图表、进行交易后分析、进行回测和实盘差异分析。
Oracle:数据统计分析、微观市场结构数据计算。
在使用Matlab、R、Excel、Oralce等专业数据分析统计软件进行理论逻辑验证后到达该阶段。采用C++语言把策略编译成DLL/SO模块,该部分生成策略文件DLL/SO,提供给下一阶段使用。
使用HFTLib库,根据策略开发平台规范进行编写策略模块。
通过ExcelHFTBackTestCom ,在Excel中用VBA编程,把策略数据显示在Excel中用图表和表格形式展示,以验证策略逻辑。
该部分对上一阶段的策略进行历史数据上的表现统计和在不同参数上的表现。
策略回测平台:程序文件BackTestConsole.exe
策略参数优化平台:程序文件BackTestParamOptConsole.exe
该部分分为2个程序分别是策略运行平台和策略监控平台。支持32位和64位版本,采用c/c++语言编写,支持linux 64/32和windows64/32。
策略运行平台:程序文件AutoTradeConsole.exe,提供运行策略的容器,可以挂载多个策略同时运行,为了减少输出和提高程序性能以静默(服务)方式或者控制台方式运行,提供监控程序的接入请求并应答。
策略监控平台:程序文件 HFTTerminal.exe,在windows上运行的UI程序,监控高频策略的运行过程中的数据状态并在界面上以表格和图表方式显示。
联系客服