第一次用 DolphinDB 写脚本的人,多半经历过这种时刻:思路明明很清楚,把某只股票的日 K 线读出来、算个 20 日均线,都不在话下;可真写起来,建表语法、loadTable 参数、时间格式......随便记岔一个,脚本就报错,查文档又是一下午。
为了少让你吃这些苦,DolphinDB 官方准备了一批 Skill(技能) 。你可以把它们想象成一群各有所长的 AI 小助手:有的专写 SQL,有的专导数据,有的专算因子。你在对话框里用大白话提需求,对应的小助手就自动接手,写好代码、直接在平台上跑通给你看。这篇文章就是带你逐个认识官方内置的 23 个 Skill,看看每个是干什么的、能帮你省下什么功夫、什么时候该找它。不用硬记名字,下面先给你一张速查表:想做什么,直接对号入座。
先看一张速查表:想做什么,用哪款技能
| 用这款技能 | |
|---|---|
| 让 AI 帮我写 DolphinDB 脚本(第一版) | dolphindb-basic-syntax-programming |
| 写 / 改 / 优化 SQL 查询 | dolphindb-sql-programming |
| 把慢的循环代码改快 | dolphindb-vectorization-programming |
| 用高阶函数 / 函数式写法 | dolphindb-functional-programming |
| 把各种格式文件导进数据库 | dolphindb-data-import |
| 把 CSV 建成库表再导数据 | dolphindb-finance-dbtbcreate + dolphindb-finance-dataimport |
| 导 Tushare(股票/基金/期货等)数据 | dolphindb-tushare-import |
| 导国泰安 / 通联高频行情 | dolphindb-csmar-import / dolphindb-datayes-import |
| 写一个量化策略回测 | dolphindb-backtest-skill |
| 生成一个因子(日频 / 高频) | dolphindb-daily-factor / dolphindb-highfreq-factor |
| 把研报里的因子复现成代码 | dolphindb-report-factor-replication |
| 债券、利率、外汇等定价 | dolphindb-ficc-pricing |
| 做数据清洗、特征工程、机器学习 | dolphindb-machinelearning |
| 实时流式计算(Orca DStream) | dolphindb-orca-dstream |
| 把查询结果画成图表 | dolphindb-plot |
| 数据库出故障要排查 / 运维 | dolphindb-ops |
| 给函数、SQL 写测试用例 | dolphindb-test |
| 只是问个 DolphinDB 问题,怕 AI 乱答 | dolphindb-rag(问答时自动兜底) |
下面按"写代码 → 进数据 → 算东西 → 做展示与维护"的顺序逐个讲。
一、写代码:AI 帮你写、改、优化 DolphinDB 脚本
这组技能解决同一个问题:让 AI 写出"真能跑"的 DolphinDB 代码 。它们按四种编程场景分工,写作时 AI 会按需挑选。
1. dolphindb-basic-syntax-programming:基础语法(新手第一个用它)
它是什么: 教 AI 正确书写 DolphinDB / DolphinScript 基础语法的规则包,也是生成任何代码前默认先加载的"基础层"。
有什么用: 你用大白话说需求,它负责生成语法正确、结构完整、可直接运行 的第一版脚本;代码报错时,它还能帮你修语法错误。
什么时候用: 刚上手时几乎所有需求都会触发它。建表、读写数据、写一段计算逻辑、排查 loadTable 用错了、搞不清字符串和时间的写法......这些事都要先经过它。
2. dolphindb-sql-programming:SQL 编写与优化
它是什么: 专门管 DolphinDB SQL 的规则包。
有什么用: DolphinDB 的 SQL 和标准 SQL 有不少差异(context by、cgroup by、aj/wj/pwj 等特有写法)。这款技能保证 AI 写出的查询语义正确、能走分区剪枝、不会慢 ,并会审查、优化你已有的 SQL。
什么时候用: 涉及查询、分组、窗口、表关联、分布式表查询时。
3. dolphindb-vectorization-programming:性能优化
它是什么: 教 AI 用向量化思维 写代码的技能。
有什么用: DolphinDB 的核心理念是"一次处理一列,而不是一行一行循环"。当你发现脚本跑得慢、写了一堆 for 循环时,它会把逐元素处理改写成批量计算、SQL 或合适的执行方式,性能往往提升几个数量级 。
什么时候用: 代码能跑但很慢、循环太多、处理大数据量时。
4. dolphindb-functional-programming:函数式编程
它是什么: 覆盖高阶函数、函数模式、lambda、部分应用、模块与函数视图等函数式写法 的规则包。
有什么用: 让 AI 用更简洁、无副作用的函数组合替代冗长写法,处理"函数作用在数据上/函数上/函数集合上"三类场景。
什么时候用: 你需要用 each、reduce、groupby 这类高阶入口组织代码,或把复杂嵌套调用改写得更清晰时。
新手提示: 如果你刚开始,把第 1 款用好就够了;第 2-4 款是 AI 在遇到对应场景时自动启用的"进阶外挂",你不用记,知道有它们即可。
二、进数据:把数据弄进 DolphinDB
数据进库是几乎所有项目的第一步。官方按数据来源拆成了 5 组技能,特点都是全自动流程 :你填参数,AI 在 Web 端把脚本跑完。
1. dolphindb-data-import:通用数据导入向导
它是什么: 一张"导入方法决策树",覆盖 CSV/TXT、JSON、二进制、Parquet、HDF5,以及 MySQL、ODBC 等外部库,还有 MQTT、OPC UA 等 IoT 实时接入。
有什么用: 你只要说"把这个 CSV 导进分区表",它自动判断该用 loadTextEx 还是分块导入(大文件防内存爆掉)、要不要插件、时间列怎么处理,避免新手最常见的 OOM 和乱码坑 。
2. dolphindb-finance-dbtbcreate + dolphindb-finance-dataimport:金融 CSV"建库 + 导数"两步走
这对技能专为"手头有一批金融 CSV"设计,拆成两步,职责清晰:
•finance-dbtbcreate(先建库建表): 自动识别 CSV 的列和类型、算好分区方案(股票按天+HASH、日K按年分区等),帮你把库表建好;
•finance-dataimport(再导数据): 把 CSV 导进已存在 的表,导入前会做 schema 兼容检查,列顺序对不上会先问你,绝不悄悄覆盖。
什么时候用: 拿到 Level-2 快照、逐笔、日K/分钟K 等标准数据集时,直接报数据集类型即可。
3. dolphindb-tushare-check-env + dolphindb-tushare-import:Tushare 数据导入
Tushare 是国内常用的金融数据接口。这对技能一个管"检查环境"(httpClient 插件、easy_tushare 模块是否就绪,缺了自动装),一个管"真正导入"。主技能支持 stock、index、fund、bond、futures、options、etf、spot、fx、llm 十个数据域 。
有什么用: 填上 token 和日期范围,股票日线、财报、期货合约......自动建表 + 拉数 + 落库,支持按需只导某些表。
4. dolphindb-hfdataimport 组:高频历史行情导入(国泰安 / 通联)
面向量化研究常用的高频历史行情文件 (快照、逐笔委托/成交、tick、委托队列):
•dolphindb-csmar-import: 导 CSMAR(国泰安)数据,支持 CSV/ZIP,自动算推荐并行度、提交后台任务;
•dolphindb-datayes-import: 导通联(DataYes)数据,流程相同;
•dolphindb-hfdataimport-check-env: 两者共用的前置检查,确认 zip 插件和 easy_csmar / easy_datayes 模块就绪,缺失时自动修复。
什么时候用: 你的高频数据文件是这两家供应商的格式时。文件在服务器上给个路径,其余交给技能。
三、算东西:回测、因子、定价、机器学习
这是 DolphinDB 的"主战场",官方技能也最丰富。这些技能共同遵守一条铁律:生成结果必须真在平台上执行验证过才给你 ,不许凭记忆编代码。
1. dolphindb-backtest-skill:量化策略回测
它是什么: 从你的策略描述直接生成、审查、修改完整的回测 .dos 脚本。
有什么用: 你说"双均线金叉买入、死叉卖出,按天调仓",它生成完整可跑的回测脚本;它内置一套"不编造"约束,数据表、字段、接口都必须有据可查,查不到就明说并问你,产出可审计、可复核 。
2. dolphindb-daily-factor / dolphindb-highfreq-factor:因子生成(按数据频率分工)
两款技能的分工看源数据粒度 ,而不是输出:
•daily-factor: 因子直接算在日K/日线 上(比如 20 日动量、PE 分位);
•highfreq-factor: 因子从分钟/tick 高频 数据算起,再降频汇总到日频(比如日内振幅、买卖压力比)。
有什么用: 你把因子思路告诉 AI,它按模板生成因子函数 → 在平台上真实执行并返回结果 才交付给你,顺带把 \ 除法、复权、未来函数这类高频坑都处理掉。
3. dolphindb-report-factor-replication:研报因子复现
它是什么: 把卖方研报里的因子复现成可运行的 DolphinDB 代码 的一条流水线。
有什么用: 从"研报里读出一堆因子公式"到"代码能跑"之间隔着一堆脏活:提取候选因子 → 解析公式 → 审计数据源字段够不够 → 决定用 MR 还是 Execute 跑 → 生成代码 → 检查有没有未来数据泄露。它把这些步骤全部规范化,防止把研报因子"复现"出一个对不上数据的假因子 。
4. dolphindb-ficc-pricing:FICC 定价
它是什么: 固定收益与衍生品定价规范,覆盖 13 类资产 :债券、存款、IRS 利率互换、外汇即期/远期/掉期/期权/NDF、商品期货期权、权益期权等。
有什么用: 你描述一笔债券条款或一张期权,它帮你正确构造 Instrument 和市场数据(利率曲线、波动率曲面等),选对定价函数(bondPricer、fxForwardPricer 或统一的 instrumentPricer)算出可审计的结果。对新手最有用的点:字段名不许瞎编 (比如债券用 start 不是 issueDate),AI 会照着每类资产的字段说明来。
5. dolphindb-machinelearning:机器学习数据工作流
它是什么: Web 侧做 ML 的唯一入口 ,覆盖从选数、清洗、特征工程到分类/回归/聚类的完整流程。
有什么用: 你说"我想预测某股票下月是否上涨",它引导 AI:发现数据 → 选建模数据 → 清洗 → 做特征 → 建模。过程中有两个强制确认点 :清洗完、特征做完了,必须先汇报方案和影响,等你确认再继续,避免 AI 自作主张把数据改坏。
6. dolphindb-orca-dstream:Orca 声明式流计算
它是什么: 编写/审查/修复 Orca DStream 流计算脚本的技能(覆盖 source/sink、各类流引擎 timeSeries、reactiveState、lookupJoin 等)。
有什么用: 实时行情处理这类需求,它能输出完整可直接运行的流图脚本 (含环境清理、mock 数据、结果查询),而不是半截代码。如果你不碰实时流计算,可以暂时忽略这款。
四、展示与维护:画图、排查故障、写测试
1. dolphindb-plot:图表可视化
它是什么: 把你的可视化需求转成 plot() 调用。
有什么用: 说一句"把最近 30 天成交额画成折线图,再加一条均线",它生成代码并在环境支持时直接出图。支持折线、柱形、条形、饼图、面积、散点、三维曲面 7 类图;多量纲对比时自动处理双 Y 轴。
2. dolphindb-ops:运维与故障排查
它是什么: DolphinDB 运维脚本与知识库,覆盖 OOM、慢查询、流延迟、磁盘满、副本异常 等诊断,以及备份恢复、安全配置、作业管理。
有什么用: 数据库出问题时你描述现象,它按"证据驱动"原则排查:不猜故障、每条结论给依据、涉及修复函数先给完整定义 。对新手最友好的一点:它不会装懂,查不到依据会明说"需要更多证据"。
3. dolphindb-test:测试方案与用例生成
它是什么: 为函数、SQL、存储引擎、流引擎、插件自动生成测试方案和完整用例 ,内置 9000+ 篇官方文档作为依据。
有什么用: 你改了公司内部函数或要验证某个 SQL 行为,说一声,它产出覆盖边界/异常/正常场景的测试用例,并严格保证"异常用例在前、正常在后、每条要点都有用例对应"。适合需要交付质量保障的团队场景。
五、一款特殊的技能:dolphindb-rag(防止 AI"瞎编")
1. dolphindb-rag:回答纪律兜底
它是什么: 不是帮你干活的技能,而是约束 AI "回答任何 DolphinDB 问题都必须有依据" 的纪律技能。
有什么用: DolphinDB 函数在不同版本里签名变化很大,AI 凭记忆很容易给出"听起来对、跑起来错"的答案。装了它之后,AI 只能基于这四种来源回答:官方文档、你本地给的材料、在平台上实际跑出来的结果 、捆绑的参考资料;查不到就明说"我不确定",并标注未验证内容。
什么时候用: 不需要你主动触发,它在问答场景会自动兜底。对新手这是最有价值的一款 ,等于给你的 AI 助手加了一层"不知道就承认"的保险。
新手怎么开始?(三步)
1.升级到 DolphinDB 3.00.6+ ,打开 Web 界面,进入"交互编程"页,创建一个 AI 会话并一键初始化 ,完成后 23 款内置技能就自动可用了;
2.直接提需求 ,用大白话就行,比如"帮我把这个 CSV 导成按天分区的表""写个双均线回测""把这两列画成折线图"。AI 会自动挑对应的技能干活;
3.发现它"不干活"时别慌 :技能是按需加载的,AI 会先判断要不要用;涉及删数据、覆盖表这类操作时,技能会先停下来问你,确认后才执行。