Install
openclaw skills install dolphindb-skillDolphinDB 时序数据库完整技术文档与最佳实践。包含1490个技术文档 + 3份官方白皮书。涵盖数据库设计、流计算、量化回测、函数查询等全场景。
openclaw skills install dolphindb-skill版本: 2.0.0 (优化版)
文档数量: 1490 个技术文档 + 3 份官方白皮书
DolphinDB版本: 3.00.4
更新时间: 2026-01-22
文档来源: https://docs.dolphindb.cn
提供生产级架构设计和完整工作流程指南:
数据库白皮书 (1073行)
流数据白皮书 (2279行)
中高频回测白皮书 (2205行)
按功能领域分类的完整API参考和操作指南:
| 分类 | 文档数量 | 说明 |
|---|---|---|
| 函数参考/其他函数 | 1171 | 系统函数、网络函数等 |
| 其他 | 97 | 其他技术文档 |
| 函数参考/统计函数 | 61 | 相关性、协方差、标准差等统计指标 |
| 函数参考/数学函数 | 42 | 基础数学运算、三角函数、对数等 |
| 函数参考/SQL函数 | 41 | 查询、关联、聚合等SQL操作 |
| 函数参考/时间序列函数 | 26 | 日期时间处理、时序窗口计算 |
| 流数据处理 | 22 | 流表、订阅、流计算引擎 |
| 数据库核心 | 13 | 存储引擎、分区、事务、高可用 |
| 部署与配置 | 9 | 集群部署、参数配置 |
| 函数参考/字符串函数 | 5 | 字符串操作、正则表达式 |
| API与连接器 | 1 | Python、Java、C++ API |
| 运维管理 | 1 | 监控、备份、权限管理 |
| 教程与示例 | 1 | 快速入门、场景案例 |
完整文档索引: 详见 CATALOG.md
// 组合分区: VALUE(日期) + HASH(股票代码)
db_date = database("", VALUE, 2024.01.01..2024.12.31)
db_sym = database("", HASH, [SYMBOL, 10])
db = database("dfs://stock_data", COMPO, [db_date, db_sym])
// TSDB引擎,支持排序列和去重
schemaTable = table(
1:0,
`trade_time`symbol`price`volume,
[TIMESTAMP, SYMBOL, DOUBLE, LONG]
)
pt = db.createPartitionedTable(
table=schemaTable,
tableName="stock_tick",
partitionColumns=`trade_date`symbol,
sortColumns=`symbol`trade_time, // 排序键
keepDuplicates=LAST, // 去重策略
engine="TSDB"
)
// OLAP引擎适合追加式写入和批量分析
db = database("dfs://stock_analysis", VALUE, 2024.01M..2024.12M)
schemaTable = table(
1:0,
`trade_date`symbol`open`high`low`close`volume,
[DATE, SYMBOL, DOUBLE, DOUBLE, DOUBLE, DOUBLE, LONG]
)
pt = db.createPartitionedTable(
table=schemaTable,
tableName="daily_kline",
partitionColumns=`trade_date,
engine="OLAP"
)
// 1. 创建流表
share streamTable(1:0, `time`sym`price`vol, [TIMESTAMP, SYMBOL, DOUBLE, INT]) as tickStream
share streamTable(1:0, `time`sym`open`high`low`close`volume,
[TIMESTAMP, SYMBOL, DOUBLE, DOUBLE, DOUBLE, DOUBLE, LONG]) as klineStream
// 2. 创建时序聚合引擎
tsEngine = createTimeSeriesEngine(
name="kline_1min",
windowSize=60000, // 1分钟窗口
step=60000,
metrics=<[first(price), max(price), min(price), last(price), sum(vol)]>,
dummyTable=tickStream,
outputTable=klineStream,
timeColumn=`time,
keyColumn=`sym
)
// 3. 订阅流表
subscribeTable(tableName="tickStream", actionName="kline", handler=append!{tsEngine})
// 4. 插入数据测试
insert into tickStream values(2024.01.01T09:30:00.000, `600000, 10.5, 1000)
// 1. 清理环境
try{ unsubscribeTable(tableName="replayStream", actionName="backtest") }catch(ex){}
try{ dropStreamEngine("backtestEngine") }catch(ex){}
// 2. 创建回放流表
share streamTable(1:0, `time`sym`price`vol, [TIMESTAMP, SYMBOL, DOUBLE, INT]) as replayStream
// 3. 创建回测引擎(需要加载回测插件)
loadPlugin("/path/to/backtest_plugin.so")
backtestEngine = createBacktestEngine(
name="my_strategy",
initialCapital=10000000,
commission=0.0003
)
// 4. 订阅回放数据
subscribeTable(tableName="replayStream", actionName="backtest", handler=backtestEngine)
// 5. 数据回放
histData = loadTable("dfs://stock_data", "stock_tick")
ds = replayDS(sqlObj=<select * from histData where trade_date=2024.01.01>,
dateColumn=`trade_date,
timeColumn=`trade_time)
replay(inputTables=ds, outputTables=replayStream, dateColumn=`trade_date,
timeColumn=`trade_time, replayRate=1000)
// 6. 获取回测结果
backtestEngine.getPositions() // 持仓
backtestEngine.getOrders() // 订单
backtestEngine.getTrades() // 成交
backtestEngine.getMetrics() // 绩效指标
// Context By - 组内窗口计算
select
trade_date, symbol, close,
movingAvg(close, 5) as ma5,
movingAvg(close, 20) as ma20
from loadTable("dfs://stock", "daily")
context by symbol
// Pivot By - 数据透视
select close
from loadTable("dfs://stock", "daily")
where symbol in `600000`600001`600002
pivot by trade_date, symbol
// Asof Join - 时序非精确关联
select *
from tick_data aj snapshot_data
on tick_data.time = snapshot_data.time and tick_data.symbol = snapshot_data.symbol
需求分析 → 存储引擎选择 → 分区策略设计 → 性能测试 → 生产部署
↓ ↓ ↓ ↓ ↓
数据特征 TSDB/OLAP COMPO分区 压力测试 高可用配置
决策要点:
参考文档: 数据库白皮书 第2-4章
数据源接入 → 流表设计 → 引擎选择 → 订阅处理 → 结果输出
↓ ↓ ↓ ↓ ↓
Kafka等 streamTable 7种引擎 subscribeTable 入库/推送
引擎选择:
参考文档: 流数据白皮书 第3章
数据准备 → 历史回放 → 模拟撮合 → 策略执行 → 绩效分析
↓ ↓ ↓ ↓ ↓
分区表 replay Exchange BacktestEngine Sharpe/回撤
核心技术点:
replay 或 replayDS 严格按时序回放createExchange 实现"价格优先、时间优先"撮合参考文档: 回测白皮书 完整内容
我是新手,想快速上手
我要设计生产数据库
我要开发实时计算应用
我要搭建量化回测系统
我要查特定函数用法
references/ 目录搜索关键词| 角色 | 推荐阅读路径 |
|---|---|
| 架构师 | 数据库白皮书 → 分布式架构 → 高可用方案 |
| DBA | 数据库白皮书 → 运维章节 → 备份恢复 |
| 后端开发 | 流数据白皮书 → API文档 → 代码示例 |
| 量化研究员 | 回测白皮书 → 策略开发 → 绩效分析 |
| 数据分析师 | SQL函数参考 → Context By → Pivot By |
Skill版本: 2.0.0 (相比1.x版本的改进)
DolphinDB版本: 3.00.4
文档同步时间: 2026-01-20
维护策略: 季度更新 / 重大版本发布时同步
Generated by Skill Creator v2.0 | 优化时间: 2026-01-22