王衣谷量化交易 26-03-29 09:32

《量化软件的一些技术变化》
最近在关注交易软件和量化工具,在了解IT架构上的一些事情。有一些感受,做个记录。​
一、功能都被封装成模块,开放出标准的接口。​
比如QMT。小QMT,核心是两个模块xtdata(行情模块)和xttrader(交易模块)。用户在这两个模块上,自行进行测试、交易的软件搭建。大QMT是一个集成的策略开发、交易平台,底层也是依赖xtdata(行情模块)和xttrader(交易模块)。它封装得更完整,只开放了一个handlebar(ContextInfo)入口,让用户编写策略。​
比如VeighNa开源量化平台,内置各类功能模块:数据模块、测试模块、交易模块;你可以直接在集成平台做开发,也可以只调用它几个模块,自行搭建平台。​
TBquant,是一个高度集成的策略开发交易平台,但也开放了python接口模块 “TBPY”,你可以基于TBPY编写自己的测试、交易程序。​
模块化、接口化的好处是,技术层面方便维护,商业层面可以适配开发各类业务。比如QMT,用户可以选购它的数据服务。​

二、多开发语言协作​
量化交易处理的数据越来越庞大,软件性能是必须考虑的因素。目前很多平台,采用底层使用高效语言(C等),应用层采用易读语言(python、VBA等)的架构模式。​
比如QMT,底层由C语言编写,大QMT的应用层,支持用python和VBA编写策略。​
比如开拓者TB,底层采用C++这类语言开发,用户使用平台专属的“TBL语言”。​
VeighNa平台,整体基于python搭建,因此早期面临性能问题。后续平台发布了Elite版(菁英版),在架构和性能上做了重大升级。部分专业用户,还对底层进行了重写,将性能关键的核心组件(如事件引擎、订单路由)用C++或Rust重构。​

三、AI辅助开发​
上面提到的底层重写,就有人使用Opus编程大语言模型完成。将需求输入给Opus,模型会像经验丰富的架构师和程序员一样,自主规划步骤、编写代码、创建测试用例。同时模型还能辅助检查代码,排查bug、提出性能优化建议等。​
策略层面,以往各类平台都有专属语法,策略转换十分繁琐,如今AI可以直接完成这类转换工作。​

四、开源与自研的融合​
平台架构越来越解耦,用户需求也越来越个性化。当下主流模式是以开源框架为底座,借助AI辅助重写关键性能模块(比如前文提到的用Rust重写事件引擎),同时保留上层Python的开发便利性。​

时代一直在进步,软件工程的开发思路也在发生巨大变化,我们得保持开放心态,不断学习呀。

发布于 上海