QuantFabric量化交易系统
QuantFabric是基于Linux/C++开发的中高频量化交易系统,支持中金所、郑商所、大商所、上期所、上海国际能源中心的期货业务品种交易,支持上交所、深交所的股票、债券品种交易。QuantFabric目前支持期货交易柜台如下:CTP盛立REM易达YDQuantFabric目前支持股票交易柜台如下:宽睿OESQuantFabric计划支持股票交易柜台如下:中泰XTP华鑫奇点华锐ATPQuantFabric量化交易系统架构如下:项目地址:QuantFabric
编译构建
QuantFabric量化交易系统下载:
git clone --recursive git@gitcode.net:quantfabric/QuantFabric.git
QuantFabric编译构建:
cd XMonitor
git pull origin master
多个子模块遍历更新代码:
git submodule update --remote
git submodule foreach "git pull origin master"
GUI客户端XMonitor编译构建流程如下:
基础工具模块,提供交易系统不同组件共用的工具模块,如配置加载模块、HPPackClient客户端、HPPackServer服务端、SQLiteManager数据库操作、Singleton单例、Logger日志、RingBuffer、LockFreeQueue无锁队列、IPCMarketQueue行情消息队列、IPCLockFreeQueue内存队列、SnapShotHelper快照工具、时间戳函数、字符串工具函数、不同组件消息通信协议。项目地址:Utils
第三方库,包括SPDLog日志库、HPSocket通信框架、YAML-CPP解析库、CTP柜台API、REM柜台API、YD柜台API、ConcurrentQueue并发队列、OES柜台API。项目地址:XAPI
中间件,主要功能如下:转发GUI客户端上行控制命令到不同Colo交易服务器,如转发XMonitor的报单撤单请求消息到XTrader、风控控制命令消息至XRiskJudge;转发交易相关数据到GUI客户端,如转发XMarketCenter行情数据、XTrader订单回报至XMonitor。管理XMonitor客户端登录用户的权限校验。盘后提供历史数据回放。项目地址:XServer
监控组件,提供Colo交易服务器上部署的交易组件的监控,并负责转发数据。主要功能如下:转发XServer转发的控制命令,如报单、撤单、风控参数修改等。转发Colo交易进程如XMarketCenter、XTrader、XRiskJuage等交易、监控数据至XServer。监控Colo交易服务器实时性能指标、App交易进程状态,并将相应状态转发至XServer。项目地址:XWatcher
行情网关,采用插件架构,适配不同Broker柜台行情API,主要功能如下:收取行情数据;打包行情切片数据写入共享内存队列;行情数据落地;行情数据转发至XWatcher监控组件。项目地址:XMarketCenter
风控系统,主要功能如下:提供账户间风控,如流速控制、账户锁定、自成交、撤单限制检查等风控功能;加载风控参数,解析XServer转发的风控控制命令,更新风控参数,发送风控参数至XWatcher;接收XTrader报单、撤单请求,进行风控检查,发送风控检查结果至XTrader;接收XTrader报单回报、撤单回报,管理订单状态,Ticker交易日内累计撤单计数。项目地址:XRiskJudge
交易网关,采用插件架构适配不同Broker柜台交易API,主要功能如下:从网络客户端收取手动报单、撤单请求。从Order内存队列读取报单、撤单请求。执行报单、撤单指令,管理订单回报。将仓位、资金、订单回报写入Report内存队列。将仓位、资金、订单回报发送至XWatcher。项目地址:XTrader
行情转发器,主要功能如下:从XServer接收行情数据,打包为行情切片后写入内存行情队列。提供历史行情数据回放功能。
工具箱,提供工具如下:OrderSend:提供批量报单功能,订单写入内存队列。MarketReader:提供行情数据导出功能,从内存行情队列导出行情数据。项目地址:Tools
基于Qt封装的金融科技UI组件,支持冻结列TableView、多层次表头HeaderView、自定义排序过滤模型、自定义Button代理、自定义Progress代理、自定义ComboBox代理、自定义表格模型XTableModel、可拖拽式UI插件框架。项目地址:FinTechUI
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点