数据自己落地,不依赖外部终端
内置存储引擎把实时行情录到本地、收盘后转成压缩历史文件,通过 UDP 广播同时服务多个策略组合。历史数据在交易期全部缓存到内存,读取时直接引用内存切片,省掉数据拷贝。
C++ 核心 · 全品种量化交易框架 · 官方仓库证据
WonderTrader 是一套以 C++ 写核心引擎、以 wtpy 提供 Python 接口的量化研发交易框架,把行情落地、回测验证、实盘执行与运营调度串成一条链路。它适合要自建交易引擎、自己接柜台的专业开发者与量化团队;如果你只想查行情或做一次研究,另有一条更轻的路线。本文按官方仓库与官方文档整理,不做收益承诺。
仓库页面显示约 6.3k Star / 1.2k Fork、MIT 许可、28 个 Tag、17 位贡献者;采集日期 2026-09-16,数值会随社区活动变化。
查看仓库源码
官方 README 把定位写成「面向专业机构的整体架构」,落到使用上就是三件事:把行情收干净、把策略跑明白、把账户管住。
内置存储引擎把实时行情录到本地、收盘后转成压缩历史文件,通过 UDP 广播同时服务多个策略组合。历史数据在交易期全部缓存到内存,读取时直接引用内存切片,省掉数据拷贝。
无论用 C++ 还是 wtpy 写的 Python 策略,都进同一个回测引擎;除 CTA 与 SEL 策略外,HFT、UFT 策略与执行单元同样可回测,避免「研究用一套、实盘用另一套」的口径漂移。
策略先各出目标头寸,组合层每分钟汇总并轧平相反头寸得到净头寸,再分发到多个交易通道。这样同一套策略组合可以按不同资金规模与风险偏好,映射成不同账户的手数倍率。
官方 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 引擎 |
两条路线服务的目标不同:一个要把策略送上实盘,一个只要先把结论拿到手。完整边界见对比页。
成本在环境、柜台权限与运维:需要自己编译或安装、自备行情与交易账号、自建风控参数与调度。
本机技能覆盖行情数据、技术分析、选股、模拟交易与研究回测,但不提供本框架式的 C++ 事件驱动引擎与国内期货柜台直连。
下面这些是本机已核验存在的技能目录(SKILL.md 已读),它们能承接的是「数据与研究」这一段,不承接交易引擎那一段。
| 技能 | 能做什么 | 前置与限制 | 与本框架的关系 |
|---|---|---|---|
| akshare-finance | 股票、期货、期权、基金、外汇、债券、指数、加密货币的行情与基本面数据 | 需 akshare 1.18 及以上;数据来自公开财经网站 | 可替代数据组件中部分免费数据源的取数环节,不提供落地与伺服 |
| tushare-finance | 220+ 个 Tushare Pro 接口:行情、财务报表、宏观指标 | 需 Tushare Token | 与本框架数据辅助模块已封装的 tushare 数据源同类 |
| quant-analyst | 策略回测、风险指标、组合优化、统计套利 | 用 pandas/numpy/scipy;为向量化研究,非 tick 级撮合 | 可做研究阶段验证,不等同事件驱动回测引擎 |
| k-line-tech-analysis | A 股 K 线形态、MACD/RSI/布林带、量价与 Wyckoff 方法 | 只覆盖 A 股,数据源为新浪财经与 Baostock | 补足本框架不做技术指标可视化的场景 |
| futuapi | 港股、美股、A 股行情与模拟/实盘下单,含 SG 期货主连 | 需 OpenD 运行且 SDK 版本匹配;默认模拟环境 | 可承接交易执行,但不覆盖国内期货柜台直连 |
| eastmoney_stock_simulator | 股票模拟组合:持仓、买卖、撤单、委托与资金查询 | 需 MX_APIKEY | 用于策略思路的模拟验证,非柜台实盘 |
EasyClaw 行情数据技能(akshare-finance 方向)实机对话截图:提问「查一下贵州茅台(600519) 最近 60 个交易日的日线行情,算一下区间涨跌幅和年化波动率」,耗时 9 秒返回区间涨跌幅 +6.31%、年化波动率 24.51%。截图为本机 EasyClaw 的运行结果,不是 WonderTrader 的运行结果;WonderTrader 与 EasyClaw 无已证实集成。数据仅供研究,不构成投资建议。
按你的真实约束选:有没有柜台权限、要不要多账户、能不能接受编译与运维成本。
| 你的情况 | 建议路线 | 理由 | 先看哪一页 |
|---|---|---|---|
| 有期货或股票柜台权限,要把策略送上实盘 | 自建框架 | 需要事件驱动引擎、组合执行与柜台适配,这些是本框架的核心能力 | 安装与 wtpy → 实盘部署 |
| 同时管理多个账户,策略组合却相同 | 自建框架 | 组合层净头寸 + 账户手数倍率正是为这种场景设计 | 实盘部署 |
| 策略延迟要求在微秒甚至纳秒级 | 自建框架(HFT / UFT 引擎) | HFT 与 UFT 是专门为低延迟场景实现的引擎 | 四大引擎 |
| 策略标的很多,单次计算超过 1 分钟 | 自建框架(SEL 引擎) | 异步时间驱动专为大计算量选股类策略定制 | 四大引擎 |
| 只想先验证一个研究想法,没有柜台账号 | EasyClaw 技能路线 | 免编译、按任务提问,研究阶段不需要实盘链路 | 与 EasyClaw 路线对比 |
| 需要做 7×24 小时的数字货币交易 | 本框架当前不适合 | 官方明确说明:因收盘作业机制,目前不能很好适应 7×24 交易品种 | 数据落地(边界段) |
答不了的地方一律以官方仓库与官方文档为准,以下不回答案例之外的情况。
官方 README 的定位是「基于 C++ 核心模块的,适应全市场全品种交易的,高效率、高可用的量化交易开发框架」,覆盖数据落地清洗、回测分析、实盘交易、运营调度四个环节。它不是一个开箱即用的行情软件,也不提供策略模板库,策略仍然要自己写。
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 路线,需要实盘引擎的用户仍需自建。
官方明确说明限制:因为数据落地依赖收盘作业(默认每日 16:00 做盘后处理),目前不能很好适应 7×24 小时交易的品种,数字货币面临的主要问题正是这个机制。另有部分接口与手数设计已在向小数单位兼容,但这不等于官方支持该场景,实际可行性请以官方文档为准。