C++ 核心 · 全品种量化交易框架 · 官方仓库证据

wondertrader量化交易框架:从行情落地到实盘运营的中文上手路径

WonderTrader 是一套以 C++ 写核心引擎、以 wtpy 提供 Python 接口的量化研发交易框架,把行情落地、回测验证、实盘执行与运营调度串成一条链路。它适合要自建交易引擎、自己接柜台的专业开发者与量化团队;如果你只想查行情或做一次研究,另有一条更轻的路线。本文按官方仓库与官方文档整理,不做收益承诺。

定位:量化研发交易一站式框架核心语言:C++(62.1%)Python 接口:wtpy许可证:MIT

项目来源

仓库页面显示约 6.3k Star / 1.2k Fork、MIT 许可、28 个 Tag、17 位贡献者;采集日期 2026-09-16,数值会随社区活动变化。

WonderTrader 官方 GitHub 仓库页面截图,含仓库名、Star 与 Fork 数值、MIT 许可标记与根目录文件结构 查看仓库源码
What it solves

它解决的三个问题

官方 README 把定位写成「面向专业机构的整体架构」,落到使用上就是三件事:把行情收干净、把策略跑明白、把账户管住。

数据自己落地,不依赖外部终端

内置存储引擎把实时行情录到本地、收盘后转成压缩历史文件,通过 UDP 广播同时服务多个策略组合。历史数据在交易期全部缓存到内存,读取时直接引用内存切片,省掉数据拷贝。

一套回测引擎覆盖四类策略

无论用 C++ 还是 wtpy 写的 Python 策略,都进同一个回测引擎;除 CTA 与 SEL 策略外,HFT、UFT 策略与执行单元同样可回测,避免「研究用一套、实盘用另一套」的口径漂移。

组合层管住多个账户

策略先各出目标头寸,组合层每分钟汇总并轧平相反头寸得到净头寸,再分发到多个交易通道。这样同一套策略组合可以按不同资金规模与风险偏好,映射成不同账户的手数倍率。

How it works

从零到实盘的四步

官方文档把流程拆成「数据落地 → 回测分析 → 实盘交易 → 运营调度」,首页只保留这四步需要回答的问题,细节分别落在四个子页面。

1. 喂数据

装好数据组件后按标的代码规则配置品种与合约,让行情实时落地、收盘转历史。

2. 写策略

策略只有四个回调:初始化、K 线闭合、逐笔、重算,核心逻辑集中在重算里。

3. 回测验证

同一个回测引擎跑 CTA/SEL/HFT/UFT,输出绩效报表与买卖信号供逐笔核对。

4. 实盘与运维

启数据组件与交易进程,用控制台盯组合、通道和日志,并配置自动调度。

Modules

四大引擎,先分清不是性能档位

官方 FAQ 明确:四个引擎是按「标的多少、算得多慢、延迟要多少」来分工的,不是同一件事的四档性能。延迟数字为官方自述,测试环境未完整公布。

引擎驱动方式适用标的与规模官方延迟口径典型场景注意点
CTA(同步策略引擎)事件 + 时间驱动标的较少,官方 FAQ 口径为单策略 50 个标的以内未单独公布引擎整体延迟单标的择时、中频以下套利主 K 线闭合且其余已订阅 K 线都闭合后才触发重算
SEL(异步策略引擎)时间驱动(异步)标的较多,适合策略计算时长超过 1 分钟未单独公布引擎整体延迟多因子选股、截面多空按注册的重算时间调度,支持日内/每日/每周/每月周期
HFT(高频策略引擎)事件驱动一般高频或低延迟策略官方口径为 1–2 微秒之间高频挂撤、盘口驱动策略支持 wtpy 开发策略;会把兼容性与应用层对接一并考虑,因此不是极限形态
UFT(极速策略引擎)事件驱动超高频、超低延迟场景README 写 175 纳秒之内,官方文档写 200 纳秒之内需要极限延迟的自营场景完全从核心项目剥离、不向应用层提供接口,全部 C++ 实现 —— 即不能用 Python 写 UFT 策略
执行单元(WtExecMon)独立执行器入口与策略解耦的算法执行不适用把执行过程单独拿出来做算法交易可把 M+1+N 中「1+N」部分剥离单独使用,用户可实现自己的执行单元工厂
回测引擎(统一入口)按配置切换 cta/sel/hft/exec/uft取决于所选引擎不适用研发阶段验证策略官方文档中该配置项的注释把 uft 写作 uf,属原文笔误,实际指 UFT 引擎
Setup and route

自建交易引擎,还是先走研究路线?

两条路线服务的目标不同:一个要把策略送上实盘,一个只要先把结论拿到手。完整边界见对比页。

自建框架路线适合要接柜台、管多账户的团队
装环境喂数据写策略回测实盘运维

成本在环境、柜台权限与运维:需要自己编译或安装、自备行情与交易账号、自建风控参数与调度。

EasyClaw 技能路线适合先把研究结论拿到手
安装 EasyClaw一句话提问

本机技能覆盖行情数据、技术分析、选股、模拟交易与研究回测,但不提供本框架式的 C++ 事件驱动引擎与国内期货柜台直连。

前置条件先说清:自建路线要求 Python 3.8 以上(装 wtpy)或可用的 C++ 编译环境(源码编译),并自备行情与交易账号;EasyClaw 路线只需安装软件,但各技能的 Token、API Key 与网络前提需按技能文档确认。
EasyClaw demo

不想编译?把研究任务拆成一句话

下面这些是本机已核验存在的技能目录(SKILL.md 已读),它们能承接的是「数据与研究」这一段,不承接交易引擎那一段。

技能能做什么前置与限制与本框架的关系
akshare-finance股票、期货、期权、基金、外汇、债券、指数、加密货币的行情与基本面数据需 akshare 1.18 及以上;数据来自公开财经网站可替代数据组件中部分免费数据源的取数环节,不提供落地与伺服
tushare-finance220+ 个 Tushare Pro 接口:行情、财务报表、宏观指标需 Tushare Token与本框架数据辅助模块已封装的 tushare 数据源同类
quant-analyst策略回测、风险指标、组合优化、统计套利用 pandas/numpy/scipy;为向量化研究,非 tick 级撮合可做研究阶段验证,不等同事件驱动回测引擎
k-line-tech-analysisA 股 K 线形态、MACD/RSI/布林带、量价与 Wyckoff 方法只覆盖 A 股,数据源为新浪财经与 Baostock补足本框架不做技术指标可视化的场景
futuapi港股、美股、A 股行情与模拟/实盘下单,含 SG 期货主连需 OpenD 运行且 SDK 版本匹配;默认模拟环境可承接交易执行,但不覆盖国内期货柜台直连
eastmoney_stock_simulator股票模拟组合:持仓、买卖、撤单、委托与资金查询需 MX_APIKEY用于策略思路的模拟验证,非柜台实盘
边界说明:以上技能为「本机目录存在且已读 SKILL.md」的已安装状态,不代表运行成功;各技能的数据源、凭据与网络前提需按文档确认。本框架与技能路线之间没有已证实的集成关系,技能侧不提供本框架式的 C++ 事件驱动引擎、组合执行与极速柜台。
Who fits

什么人适合走这条路

按你的真实约束选:有没有柜台权限、要不要多账户、能不能接受编译与运维成本。

你的情况建议路线理由先看哪一页
有期货或股票柜台权限,要把策略送上实盘自建框架需要事件驱动引擎、组合执行与柜台适配,这些是本框架的核心能力安装与 wtpy → 实盘部署
同时管理多个账户,策略组合却相同自建框架组合层净头寸 + 账户手数倍率正是为这种场景设计实盘部署
策略延迟要求在微秒甚至纳秒级自建框架(HFT / UFT 引擎)HFT 与 UFT 是专门为低延迟场景实现的引擎四大引擎
策略标的很多,单次计算超过 1 分钟自建框架(SEL 引擎)异步时间驱动专为大计算量选股类策略定制四大引擎
只想先验证一个研究想法,没有柜台账号EasyClaw 技能路线免编译、按任务提问,研究阶段不需要实盘链路与 EasyClaw 路线对比
需要做 7×24 小时的数字货币交易本框架当前不适合官方明确说明:因收盘作业机制,目前不能很好适应 7×24 交易品种数据落地(边界段)
FAQ

常见问题

答不了的地方一律以官方仓库与官方文档为准,以下不回答案例之外的情况。

WonderTrader 到底是什么?

官方 README 的定位是「基于 C++ 核心模块的,适应全市场全品种交易的,高效率、高可用的量化交易开发框架」,覆盖数据落地清洗、回测分析、实盘交易、运营调度四个环节。它不是一个开箱即用的行情软件,也不提供策略模板库,策略仍然要自己写。

它和 wtpy 是什么关系?

wtpy 是官方为 Python 3 适配的子框架,构建在核心模块之上,让开发者用 Python 写策略、跑回测、起监控服务。核心引擎仍是 C++,wtpy 是应用层外延;官方 README 写「wtpy 可以直接在 python3.8 以上的版本安装」。UFT 引擎是例外:它不向应用层提供接口,只能用 C++ 写。

四个引擎是性能从低到高吗?

不是。CTA 面向标的少的时序策略、SEL 面向标的多的异步选股、HFT 面向一般高频、UFT 面向极限延迟,四者是适用场景的分工。官方 FAQ 特别说明 CTA 适合「单策略 50 个标的以内」,而 SEL 适合「策略计算时长超过 1 分钟」的场景。

官方说的延迟数字能直接当成我的实盘延迟吗?

不能。延迟数字来自官方自述,且仓库与官方文档存在两处口径:README 写 UFT「175 纳秒之内」,官方文档写「200 纳秒之内」;HFT 写「1–2 微秒之间」。官方《延迟优化日记》公开的测试环境是 Intel i9-10980XE、未超频、未关闭超线程。真实端到端延迟还取决于你的柜台、网络与策略计算,需自行压测,本文不做任何延迟承诺。

它和 EasyClaw 是什么关系?

没有已证实的集成关系。EasyClaw 是提供多种技能(行情数据、技术分析、选股、模拟交易、研究回测等)的软件;本框架是需要自建环境与柜台连接的交易引擎。两者层级不同,本框架在 EasyClaw 中的安装与运行状态为「未验证」。适合先做研究的用户可走 EasyClaw 路线,需要实盘引擎的用户仍需自建。

能用来做数字货币交易吗?

官方明确说明限制:因为数据落地依赖收盘作业(默认每日 16:00 做盘后处理),目前不能很好适应 7×24 小时交易的品种,数字货币面临的主要问题正是这个机制。另有部分接口与手数设计已在向小数单位兼容,但这不等于官方支持该场景,实际可行性请以官方文档为准。

先定目标,再选路线

要把策略送上实盘、自己接柜台、管多个账户,就走自建路线,从头看引擎与安装;只想先把研究结论拿到手,可以先看两条路线的边界再决定。