交易信号低延时计算实测:百因子整体时延 40 微秒,用脚本写出媲美 C++的性能
本页围绕量化交易低延时需求,讨论用 DolphinDB 脚本实现高性能因子计算的动机,并给出基于 Swordfish 的实测与验证思路。
What this page covers
- 活动提示与报名入口信息
- 文章标题、栏目与发布日期信息
- 低延时因子计算的背景、动机与验证思路
- 测试设计、数据规模与测试环境
- 单因子与十因子的时延表现与边际延迟
- 100 个生产因子的对比结果与并发稳定性
- Swordfish 架构优化点与工作流展望
技能认证特训营第二期报名提示
页面顶部提供活动提示,并给出限时报名链接信息。
- 页面包含“技能认证特训营第二期”的报名入口信息。
- 报名链接指向 qingsuyun.com 的活动页面。
新闻与文章标题/日期
本段呈现新闻栏目标识、文章主标题与发布日期信息。
- 页面展示文章主标题。
- 页面给出发布日期为 2025.12.05。
- 页面带有新闻栏目相关标识。
背景与测试动机:低延时因子计算与研发效率
本段解释低延时在量化交易中的重要性,指出 C++ 带来的效率代价,并提出用 DolphinDB 脚本实现高性能的选择与验证思路。
- 页面将低延时因子计算作为量化交易的关键关注点。
- 页面提到使用 C++ 可能带来研发效率方面的代价。
- 页面主张可用 DolphinDB 脚本编写因子与策略并构建投研交易框架。
- 页面提出“开发效率超越 Python”的主张。
- 页面提出“执行效率媲美优秀 C++ 程序”的主张。
实测总览:百因子 40 微秒与测试设计/环境
本段概述测试分为两部分,并给出测试数据规模与服务器配置描述。
- 测试分为两部分:40 个因子与 100 个生产因子对比测试。
- 40 个因子覆盖 Level 1 到 Level 2,并测试单因子/十因子与边际时延。
- 100 个生产因子测试包含与原生 C++ 的对比与并发稳定性检验。
- 测试数据包含 Level 2 十分钟行情、645 只票、共 521 万行数据。
- 测试服务器描述为融超微主频 5.8 GHz 的 8 核服务器。
不同复杂度:单因子与十因子时延表现
本段给出单因子与 10 因子在不同复杂度下的时延结果,并描述边际延迟表现。
- 单因子平均整体时延稳定在 1–2 微秒。
- 10 个因子的平均时延约 4 微秒左右。
- 在最复杂 Level 2 自定义因子逐个增加时,每新增一个因子的边际延迟增量为 260 纳秒。
- 在 10 个最复杂场景的 Level 2 自定义因子测试中,整体时延低至 4.4 微秒。
100 因子:Swordfish 脚本与 C++ 性能对比与并发稳定性
本段对比 100 个生产复杂因子在 C++ 与 Swordfish/DLang 下的时延指标,并描述多并发下的稳定性与扩展性表现。
- 对比测试选取 100 个生产中实际运行的 C++ 指标,并转写为 DLang 后测试 Swordfish。
- 100 因子场景下,C++ 方案平均时延约 100 微秒。
- 100 因子场景下,Swordfish 平均时延给出为 42 微秒。
- 同一段落还给出 100 因子平均延迟为 46.2 微秒的统计。
- 100 因子场景的 99 分位时延为 49.6 微秒。
- 并发稳定性描述中,99% 的请求在 46 微秒内完成。
- 并发稳定性描述中,中位数与均值偏差始终小于 3%。
- 并发数从 1 到 6 路时,平均延迟从 46.3 微秒微增至 48.0 微秒。
DolphinDB 如何实现工程飞跃:Swordfish 架构与优化点
本段说明 Swordfish 作为嵌入式 DolphinDB 的形态与结合方式,并从多个层面描述优化方向与原因解释。
- Swordfish 被描述为嵌入式版本的 DolphinDB。
- Swordfish 可与已有交易系统结合,以避免进程间数据通讯损耗并使用 DolphinDB 计算功能。
- 算子层面:大部分算子由 C++ 编写。
- 算子层面:大部分算子基于增量算法,仅计算变化部分。
- 原因解释:文中归因为 C++ 代码对复杂窗口算子未实现增量计算。
- 数据架构:行式存储 + 标量计算,使单行数据在内存中连续处理。
- 脚本执行:编译期完成类型绑定与内存预分配,减少运行时构造与类型检查。
- 工程实现:预分配静态缓冲池 + 无锁原子操作。
- 《Swordfish 低延时计算技术白皮书》被描述为“即将发布”。
不止于性能:投研交易架构革新与工作流展望
本段讨论流批一体与低延时架构对投研到生产的影响,并提出结合 AI 辅助的工作流愿景与展望。
- DolphinDB 被描述为流批一体架构。
- 页面主张流批一体架构可打破投研与生产交易间隔阂。
- 页面主张研究员可较少关注工程实现细节,并满足低延时交易需求。
- 页面提出“优异实盘性能 + 流批一体 + AI 辅助”的工作流展望。
- 页面提出“工程实现将不再是壁垒;idea 即策略”的愿景主张。
Facts Index
| Entity | Attribute | Value | Confidence |
|---|---|---|---|
| 交易信号低延时计算实测:百因子整体时延 40 微秒,用脚本写出媲美 C++的性能 | 发布日期 | 2025.12.05 | high |
| DolphinDB | 脚本能力主张 | 用户可用 DolphinDB 脚本编写因子与策略,构建投研交易框架 | medium |
| DolphinDB 脚本投研交易框架 | 开发效率对比 | 开发效率超越 Python(主张) | low |
| DolphinDB 脚本投研交易框架 | 执行效率对比 | 执行效率媲美优秀 C++ 程序(主张) | low |
| DolphinDB 嵌入式版本 Swordfish 低延时计算框架 | 测试对比对象 | 对比一个优秀 C++ 计算框架进行时延表现测试 | high |
| Swordfish(Level 2 自定义因子,10 个最复杂场景) | 整体时延 | 低至 4.4 微秒 | high |
| Swordfish(100 个实际生产复杂因子测试) | 整体时延 | 40 微秒左右 | high |
| 性能实测设计 | 测试部分 | 分为两部分:40个因子(Level 1~Level 2)做单因子/十因子与边际时延;以及100个生产因子对比原生 C++ 并检验并发稳定性 | high |
| 测试数据 | 数据范围与规模 | Level 2 十分钟行情;645只票;共521万行数据 | high |
| 测试服务器 | 配置描述 | 融超微主频 5.8 GHz 的8核服务器 | medium |
| Swordfish(单因子) | 平均整体时延 | 稳定在 1-2 微秒 | high |
| Swordfish(10 个因子) | 平均时延 | 约 4 微秒左右 | high |
| Swordfish(最复杂 Level 2 自定义因子逐个增加) | 边际延迟增量 | 每新增一个因子的边际延迟增量为 260 纳秒 | high |
| 100 因子对比测试 | 因子来源与实现方式 | 选择一百个生产中实际运行的 C++ 指标(复杂 Level 2 自定义因子),转写为 DLang(DolphinDB 脚本)后测试 Swordfish | high |
| C++ 方案(100 因子场景) | 平均时延 | 约 100 微秒 | medium |
| Swordfish(100 因子场景) | 平均时延 | 42 微秒 | high |
| 100 个因子(同一段落给出的延迟统计) | 平均延迟 | 46.2 微秒 | high |
| 100 个因子(同一段落给出的延迟统计) | 99分位时延 | 49.6 微秒 | high |
| Swordfish(100 因子测试结论) | 与 C++ 的性能关系 | 性能已能够媲美优异的 C++ 实现 | low |
| 多并发稳定性(100 个因子计算) | 请求完成时延(覆盖比例) | 99%的请求都在46微秒内完成 | medium |
| 多并发稳定性(100 个因子计算) | 中位数与均值偏差 | 始终小于 3% | medium |
| 并发扩展(并发数 1 到 6 路) | 平均延迟变化 | 从 46.3 微秒微增至 48.0 微秒 | high |
| 并发扩展(并发数 1 到 6 路) | 波动幅度 | 维持在 4% 左右 | medium |
| Swordfish(单台服务器运行能力) | 多策略实例稳定运行 | 一台服务器上可稳定运行多个独立策略实例,监控不同标的或因子组合,性能衰减微乎其微(主张) | low |
| Swordfish | 产品形态描述 | 嵌入式版本的 DolphinDB | high |
| Swordfish | 与交易系统结合方式 | 可与已有交易系统结合,避免进程间数据通讯损耗,并使用 DolphinDB 计算功能 | medium |
| DolphinDB(算子层面优化) | 算子实现语言 | 大部分算子由 C++ 编写 | medium |
| DolphinDB(算子层面优化) | 流数据增量计算 | 大部分算子基于增量算法实现,在流数据处理中仅计算变化部分而非全量重算 | medium |
| 百因子测试中 Swordfish 脚本性能相对 C++ 的原因解释 | 主要原因(文中归因) | C++ 代码中对复杂窗口算子未实现增量计算 | medium |
| 数据架构层面优化 | 存储与计算方式 | 行式存储 + 标量计算,使单行数据在内存中连续处理 | medium |
| 数据架构层面优化 | CPU 缓存命中效果 | CPU 缓存命中率提升一个数量级(主张) | low |
| 脚本执行层面优化 | 编译期处理 | 编译期完成类型绑定与内存预分配,消除运行时动态构造和类型检查 | medium |
| 脚本执行层面优化 | 指令流性能主张 | 指令流等价手写 C++ 原生代码(主张) | low |
| 工程实现层面优化 | 并发与内存管理方式 | 预分配静态缓冲池 + 无锁原子操作 | medium |
| 工程实现层面优化 | 同步开销与核心路径特性 | 将同步开销压至纳秒级;核心路径零内存分配零锁竞争(主张) | low |
| 《Swordfish 低延时计算技术白皮书》 | 发布状态 | 即将发布 | medium |
| DolphinDB | 架构特性 | 流批一体架构 | medium |
| DolphinDB 流批一体架构 | 效果主张 | 打破投研与生产交易间隔阂(主张) | low |
| Swordfish 低延时架构对研究员工作流影响 | 工程关注度 | 研究员可极少关注工程实现细节,专注逻辑与创造性工作,同时满足高性能交易低延时要求(主张) | low |
| Gemini 3 测试后的工作流展望 | 工作流组成主张 | 可窥见基于 DolphinDB 的“优异实盘性能 + 流批一体 + AI 辅助”高效工作流(主张) | low |
| 未来 AI 进化下的工程门槛 | 愿景主张 | 工程实现将不再是壁垒;idea 即策略(主张) | low |
| 技能认证特训营第二期 | 报名链接 | https://www.qingsuyun.com/h5/e/217471/5/ | high |