您现在的位置是:首页 > 文章详情

DolphinDB V3.00.04 & 2.00.17 版本更

日期:2025-10-24点击:14

近年来,随着与国际市场不断接轨,如何构建一个统一、可靠的数据底座以应对日益丰富的交易类型与持续增长的交易规模,正在成为国内金融机构业务布局与技术体系建设的重要挑战。

为了使机构的跨资产分析业务实现真正高效、清晰与可扩展,DolphinDB 在新版本中推出了基于 INSTRUMENT & MKTDATA 类型的多资产统一数据模型。该模型通过将各类交易抽象为统一的“可计算对象”,存储为库表中的一列,并提供一致的计算接口,使用户无需关心资产类型与适配规则,即可实现多资产下复杂组合的估值、定价与风险管理。

除了新数据模型的更新,新版本中,DolphinDB 还发布了以增量计算为核心构建的全新流式 SQL 引擎,通过将批算法改为流算法,实现前置计算结果与增量数据的实时更新结果查询,无需重复扫描数据集,实时数据处理能力再增强。

值得一提的是,新版本推出了 DolphinDB MCP server,实现了不同大模型与各种资源之间的扩展与集成。其他产品方面,ORCA 平台的流计算能力得到了进一步完善;低延时计算引擎 Swordfish 的性能进一步提升;异构计算平台 Shark 也在新版中支持了降频因子挖掘的能力;Octopus 引擎新增支持了对外部类方法的调用,降低了代码耦合度,提升了开发灵活性。此外,新版本在运维、安全性、流计算模块、数据分析能力也均得到增强。本文,将带领各位一览 DolphinDB V3.00.04 & 2.00.17 新版本的亮点功能与重要更新!

高效、清晰、可扩展的多资产统一数据模型

新版本构建了以 MKTDATA 与 INSTRUMENT 为核心的全新对象模型,对市场数据(价格、曲线、波动率曲面)与金融工具(债券、期货、远期、互换、期权等)进行了抽象与封装。用户仅需通过 JSON 或 Dict 传入标准字段,即可通过统一的 parseMktData 及 parseInstrument 接口,快速解析为强类型的内部对象。这些对象可直接无缝应用于曲线构建、曲面构建、定价估值及风险计算等全流程业务场景,极大提升了开发效率与代码的简洁性。

参考案例:

bond  = {
    "productType": "Cash",
    "assetType": "Bond",
    "bondType": "FixedRateBond",
    "version": 0, 
    "instrumentId": "240025.IB",
    "start": 2024.12.25,
    "maturity": 2031.12.25,
    "issuePrice": 100.0,
    "coupon": 0.0149,
    "frequency": "Annual",
    "dayCountConvention": "ActualActualISMA"
}
instrument = parseInstrument(bond)
fxSpot = {
    "mktDataType": "Spot",
    "spotType": "FxSpot",
    "version": 0, 
    "referenceDate": 2025.08.18,
    "value": 7.2659,
    "unit": "USDCNY",
    "spotDate": 2025.08.20 //referenceDate + 2buisinessDay
}
mktData = parseMktData(fxSpot)

除了新增数据结构外,新版本 DolphinDB 提供了统一的工具类函数,用户只需传入标准化对象,系统即可智能匹配模型,完成从单一资产定价到复杂组合风险管理的全流程计算。

  • 统一定价函数 instrumentPricer:用户传入 instruments + marketData + 定价时间信息,系统会自动根据金融合约的类型去匹配对应的定价模型,批量进行估值定价。
  • 组合定价函数 portfolioPricer:用户传入 instruments + 对应头寸信息 + 定价时间信息,系统会自动对一个或多个合约进行组合定价。
  • 金融市场数据预测工具:
    • 利率曲线预测函数 curvePredict: 用户传入曲线和时间点(日期或年数),系统即可预测特定时间点的利率值。
    • 期权波动率预测函数 optionVolPredict:用户传入波动率曲面对象 + 时间点 + 行权价,系统即可预测在特定期限和执行价格上的波动率数值。

此外针对不同的资产,DolphinDB 开发了收益率曲线、利率互换曲线和波动率曲面构建函数以及多种资产的定价接口,涵盖固收、利率、外汇等。例如针对债券,DolphinDB 提供了收益率曲线构建函数 bondYieldCurveBuilder 以及定价函数 bondPricer。

更完整的支持列表参见: https://docs.dolphindb.cn/zh/funcs/funcs_by_topics.html#ariaid-title10

下个版本会同步支持实时市场数据(曲线/曲面)构建、实时定价等流计算相关的接口。

流式 SQL 技术发布,实时计算再升级

DolphinDB 流式 SQL 让实时数据服务变得简单高效。无论是为大量客户提供个性化的实时行情面板,还是构建复杂的实时监控系统,只需一次性注册业务的 SQL 查询(支持多表关联、过滤排序等所有复杂操作),系统就会自动监控数据变化,并实时将最新结果推送给所有客户端。

流式 SQL 与传统流式计算不同,它采用基于状态变化的智能增量计算模式,能够精准感知键值表和内存表的数据变更,并仅对发生变化的数据进行高效重算。将包含多层 LEFT JOIN、过滤、排序的完整业务 SQL 一次性注册,引擎即可开始持续计算。每当底层数据微变,引擎智能计算增量变化并极速推送更新,无需重复执行全量 SQL。该引擎支持查询语句的热更新和多语句并发订阅,为金融实时行情面板、实时监控和低延迟指标计算等场景带来毫秒级响应体验。

代码示例:

// step1: 共享表
t = table(1..10 as id,rand(100,10) as val)
share t as st
// step2:声明共享表为流式 SQL 的输入表
declareStreamingSQLTable(st)
// step3:注册流式 SQL 查询语句
qId = registerStreamingSQL("select cumavg(val) from st","sql_avg")
// step4:订阅相应的 StreamingSQL 结果
subscribeStreamingSQL(queryId=qId)
// 此处省略上游数据注入共享表逻辑
// step5:查询结果表
select * from objByName(qId + "_result")
// step6:环境清理
// 取消订阅指定流式 SQL 查询结果,订阅端停止更新结果表
unsubscribeStreamingSQL(queryId=qId) 
// 注销已注册的流式 SQL 查询
revokeStreamingSQL(queryId=qId)
// 注销之前声明的流式 SQL 表
revokeStreamingSQLTable("st")

协同 AI,构建超级外脑 :DolphinDB MCP Server

MCP (Model Context Protocol) 是 AI 大模型与各类应用软件进行数据交互的协议。通过 MCP 协议,用户可以通过自然语言实现由 AI 代理执行完成各类工作与业务,相比于模型特有的接口,MCP 普适性更强,生态更加丰富。为实现与外部 AI 模型和其他应用系统的通信,新版本推出 DolphinDB MCP server,实现不同的大模型与各种资源之间扩展与集成。

DolphinDB 作为 MCP Server 的优势在于,为AI模型提供了一个兼具“海量历史数据深度”和“实时流计算性能”的超级外脑。当你的 AI 应用需要与一个高性能、实时、专精于时序数据的后端深度交互时,选择 DolphinDB 作为 MCP Server 是一个极具竞争力的技术方案。

当前版本 DolphinDB MCP server 接口支持对用户自定义 tool 和 prompt 的配置和维护,并对不同用户设置不同权限控制对 tools 的管理和调用。

高可用保障再提升,ORCA 升级 Raft Learner

为满足现代分布式系统对高可用性和跨地域数据访问的核心需求,Orca 版本全新推出 Raft Learner 功能,专注于提升高可用流表在跨数据中心或跨集群场景下的数据同步与访问能力。该特性通过对 Raft 协议的扩展,允许非投票成员(Learner)异步复制数据,可在不影响主集群写入性能的前提下,实现流表数据的异地容灾、多活部署与读写分离。

典型场景:若用户在北京集群 A 中部署了一套高可用流表,希望上海集群 B 能够就近读取该流表的数据,只需在上海集群 B 中配置 Learner 节点,即可自动、异步地复制北京集群 A 中的数据,从而实现跨地域实时数据访问与容灾备份。

此外,新版本对 Orca 的其他部分也进行了完善和增强:

  • 支持了流表的跨级群订阅,通过<流表名称>@<集群标识符> 指定其他集群的 orca 流表;
  • 进一步增强了流图的运维和管理,支持销毁流图、暂停和启动流图、重命名全限定名 <name>、 查询数据表的血源关系等功能;
  • 进一步拓展了流计算接口,包括允许用户更新和删除规则引擎的规则集、新增自定义流计算引擎等。

跨数据库联邦查询

DolphinDB 推出的跨数据库联邦查询功能,允许用户通过简单的 createExternalTable 语句将多种异构数据库和文件格式(如 Oracle、MySQL、SQL Server、S3、Parquet 等)虚拟化为本地表,该表可直接通过 SQL 进行联合查询与关联分析。例如:

loadPlugin("odbc")
oracle_cfg = dict(["connectionString"], ["Dsn=MyOracleDB"])
t = createExternalTable("aka_name", "oracle", oracle_cfg) 
select t.name from t where t.id > 200 limit 50

该功能屏蔽了底层数据库差异,支持谓词下推等优化以减少数据传输,旨在为用户提供一个统一、简单且高效的数据访问入口,轻松实现跨源数据整合与查询分析。

此外,针对 DolphinDB 分布式集群和多集群场景,该功能还能无缝集成,实现对跨节点或跨集群数据的统一联邦查询。 其中跨级群查询不需要手动创建外部表。它依赖 Master of Master 架构的全局元数据管理,通过 catalog.database.tb@ClusterCatalog 的语法直接访问,由系统自动完成虚拟化。

select * from trade, trading.stock2.quote@cluster1 as b
         where b.sym = trade.sym and trade.time = b.time

突破个位数微秒,Swordfish 低延时计算引擎优化

Swordfish 是一个专门为低延时、高性能数据分析开发的计算函数库。它可以被集成于用户的 C++ 程序之中,用户程序不需要再跨网络访问 DolphinDB 就可以进行函数计算, Swordfish 完美继承了 DolphinDB 的强大计算内核,包括 2000 多个函数、各种数据结构以及流计算引擎。

新版本针对低延时场景进行了专项优化,为响应式状态引擎 createReactiveStateEngine 、时序引擎 createTimeSeriesEngine 和 createOrderBookSnapshotEngine 增加了 lowLatency 参数,并在开启后对逐行数据的处理逻辑和数据结构进行了优化,从而提升逐条数据实时计算场景的性能。测试结果表示,在高端处理器等硬件支持下,Swordfish 可以实现十微秒级别的计算延迟,甚至更低。

用户可以将 Swordfish 用于超高频场景与逐笔订单级别的的因子计算、实时流计算等任务。目前 Swordfish 已经支持了 C++,Java 和 Python 脚本的 Swordfish 会在后续发布。

Shark GPLearn 降频挖掘因子

随着 AI 浪潮袭来,GPU 算力加速也成为了行业热点应用之一。

CPU-GPU 异构计算平台 Shark 支持将用户自定义的一个或者多个表达式进行批式并行计算加速,以前在 CPU 上耗时严重、挤占大量资源才能完成的任务,现在可以通过 Shark 无缝切换 GPU 计算大幅提升效率。

脚本语言是 DolphinDB 的一大特色,在 Shark 中,用户只需要在自定义函数上添加“@GPU的标签,Shark 将自动对该自定义函数进行解析,将用户的计算任务转化为一个可以在 GPU 上执行的计算图。Shark Graph可以帮助用户在无需进行任何基于 CUDA 二次开发的基础上,实现相较于 CPU 10-20 倍以上的性能提高。

Shark 目前已经支持海光 DCU 处理器。在未来,我们会持续基于国产处理器对 DolphinDB 进行安全、性能和易用性方面的建设。

Shark GPLearn 新版本通过引入 dimReduceCol 参数支持降频因子挖掘,允许使用高频数据生成低频因子。系统在计算框架中通过约束聚合算子的使用规则、调整数据分组与拆分逻辑来确保多维数据处理的可行性,同时要求用户保证预测数据的顺序与分组排序一致以解决维度匹配问题。

其他功能

数据库

TextDB

新版本 TextDB 在文本匹配和文本处理方面进行了增强和扩展。新增 matchFuzzy 函数用于文本模糊匹配,scoreColName 参数输出匹配得分。支持导入外部词库,对文本进行分词分段。

权限管理

新版本加强了对用户权限的管理,增加了对用户创建共享变量的权限控制。

新增配置项 enableSharedVarCreationControl ,用于控制是否允许用户创建共享变量。设置为 true 时,系统将在创建共享变量时检查用户权限(CREATE_SHARED_VAR),只有具备相应权限的用户才可创建共享变量。

流计算

流计算引擎

新版本新增两大流计算引擎:

  • 多数据源流式关联引擎:新版本对流连接引擎进行了拓展,新增支持了 NearestJoin Engine。该引擎在 asof join 关联最近 1 条数据的基础上,进一步扩展了功能,支持关联右表最近的 n 条数据。
  • 订单还原引擎:新版本新增支持了订单还原引擎(通过函数 createOrderReconstituteEngine 创建) ,该引擎支持基于上交所逐笔成交和逐笔委托的数据,实时还原缺失的原始委托信息,以确保数据的完整性。

回放

reply 函数可自动记录回放数据的写入系统时间,用于管理回放数据和优化回放流程。

Octopus

复杂事件处理引擎(Octopus 引擎)新版本不再限制事件监听器回调函数 handler 制必须调用 monitor 类的方法,新增支持了对外部类方法的调用,从而提升了开发灵活性与更低的代码耦合度;此外在运维层面,新增了函数 dropDataViewEngine 用于删除 DataView 引擎。

函数

新版拓展了字典(dict)与元组(tuple)的双目计算功能,现已支持元组与标量或其他元组之间的元素级双目运算。

新版本新增了时序、窗口计算等场景的函数接口:

  • 新增 semiannualBegin 和 semiannualEnd 函数,返回指定时间所在半年期的第一天和最后一天。
  • 新增通用窗口函数 roll,支持用户在 SQL 中自定义滑动窗口的计算规则,相较以前通过 moving、rolling、window 等系列函数进行滑动窗口计算,roll 提供了更通用和便捷的配置。用户可以通过 roll 函数自定义以下配置:
    • 设置窗口类型:支持设置固定时间、行数、交易量滑动的窗口;支持用户自定义窗口起止时间的窗口
    • 支持自定义滑动窗口步长
    • 支持自定义用户空窗口填充、窗口闭合方式、窗口起始时间等
    • 支持设置计算时间区间(如金融场景下仅交易时间段才会发生计算)
//使用时间为步长 60 秒的滑动窗口,计算每个窗口内交易量的平均值和 5 步长移动求和
select roll(X=timestamp, step=60s, stepType='time') as period, avg(vol), msum(vol, 5), symbol as symbol, price as price from t context by symbol

新版本对部分函数的功能进行了扩展:

  • at 函数新增计数展开的功能,具体为根据输入向量 X,将每个索引下标 i 重复 X[i] 次,生成新向量。该功能可以用在将统计计数转换为原始序列、数据扩增等场景。如 X = ["Apple", "Banana", "Orange"] [3,2,2] 代表每种水果的数量。则通过 X[at([3,2,2])] 可以迅速生成扩增后的数组 ["Apple","Apple","Apple","Banana","Banana","Orange","Orange"]
  • reverse 新增对内存表、有序字典逆序排序的支持。

新版本对部分函数的功能进行了扩展:

  • at 函数新增计数展开的功能,具体为根据输入向量 X,将每个索引下标 i 重复 X[i] 次,生成新向量。该功能可以用在将统计计数转换为原始序列、数据扩增等场景。如 X = ["Apple", "Banana", "Orange"], [3,2,2] 代表每种水果的数量。则通过 X[at([3,2,2])] 可以迅速生成扩增后的数组 ["Apple","Apple","Apple","Banana","Banana","Orange","Orange"]。
  • reverse 新增对内存表、有序字典逆序排序的支持。

运维

新版本重点引入了更精细化的磁盘容量检查机制,通过在新建分区和已有分区写入前对每个数据副本所在的独立磁盘卷(Volume)进行严格的空间可用性校验,取代了过去仅依赖节点整体平均使用率的检查方式,从而有效预防因单个磁盘写满而导致的写入失败问题,提升了系统存储管理的可靠性和稳定性。

故障修复

新版本修复了包括内存泄漏、资源回收、函数计算错误、高并发卡顿及元数据管理等在内的多项关键故障,显著提升了系统的稳定性和性能表现。

功能优化

新版本聚焦性能提升,全面优化了分区查询、剪枝效率与高并发场景下的系统表现,并增强了脚本引擎的表达式处理能力,为用户带来更快速、更稳定的数据查询与处理体验。


以上就是 DolphinDB 3.00.04 & 2.00.17 新版本的功能特性概览,欢迎大家前往官网更新升级~

原文链接:https://my.oschina.net/u/4865736/blog/18696991
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章