如何将MATLAB连接至DolphinDB流表?低时延集成方案问询
量化策略开发:MATLAB订阅DolphinDB实时流表的低时延方案需求
我正在开展量化策略开发工作,服务器端的DolphinDB部署了实时流表,需要通过MATLAB订阅并消费该流表数据用于下游计算,目标是找到低时延、集成成本合理的解决方案。
现有两种实现思路
思路一:C++ API订阅 + MATLAB MEX封装
通过DolphinDB的C++ API订阅流表,再封装为MATLAB可调用的MEX库,核心代码示例如下:
// sketch of C++ API subscription DBConnection conn; conn.connect("localhost", 8848); conn.subscribe("localhost", 8848, "streamTable", "subHandler", MessageHandler, -1, true);
- 优势:理论上时延最低,直接基于原生C++ API,避免中间层开销
- 顾虑:需要从零编写MEX封装代码,不确定整体工作量,也不清楚是否有现成的封装实现可以复用
思路二:Python/C++订阅 + .mat文件轮询读取
通过Python或C++订阅流表后,将数据写入.mat文件,再由MATLAB定时轮询读取文件,Python版本核心代码示例如下:
import dolphindb as ddb import scipy.io as sio s = ddb.session() s.connect("localhost", 8848) def handler(msg): data = msg.toDF().to_dict("list") sio.savemat("latest.mat", data) s.subscribe("localhost", 8848, handler, "streamTable")
- 优势:实现简单,无需复杂的封装工作
- 顾虑:文件IO和轮询间隔会引入额外时延,不确定是否能满足低时延场景的要求
疑问
- 是否存在更直接的MATLAB与DolphinDB流表连接方式?
- 若C++ MEX是唯一可行的低时延方案,是否有参考实现或示例可以借鉴?
内容的提问来源于stack exchange,提问作者haru
相关产品推荐
相关产品推荐

