Install
openclaw skills install dolphindb-skills提供 DolphinDB 数据库基础操作、量化金融、流式计算及 Python 集成四大模块,支持建库建表、因子计算、实时处理及事件研究。
openclaw skills install dolphindb-skills📘 DolphinDB 数据库套件的入口文件
本技能是 DolphinDB 套件的入口文件,为以下子技能提供统一入口:
dolphindb-basic - 基础 CRUD 操作dolphindb-docker - Docker 容器化部署dolphindb-quant-finance - 量化金融场景dolphindb-streaming - 流式计算同时提供基础 DolphinDB 读写能力,支持建库建表、数据增删改查等核心操作。
所有 DolphinDB 相关操作,必须遵循以下流程:
1. 环境检测 → 2. 加载环境 → 3. 验证 SDK → 4. 执行操作
# 方法 1: 使用包装器脚本(推荐)
cd ~/.jvs/.openclaw/workspace/skills/dolphindb-skills
source scripts/dolphin_wrapper.sh
# 方法 2: 手动检测
python3 scripts/init_dolphindb_env.py --export
# 验证 SDK 已安装
$DOLPHINDB_PYTHON_BIN -c "import dolphindb; print(dolphindb.__version__)"
# 或
dolphin_python -c "import dolphindb; print(dolphindb.__version__)"
# 使用包装器
dolphin_python your_script.py
# 或直接使用检测到的 Python
$DOLPHINDB_PYTHON_BIN your_script.py
环境检测逻辑:
pip list,查找 dolphindb$CONDA_BASE 等/usr/bin/python3 等DOLPHINDB_PYTHON_BIN;未找到 → 自动安装统一调用接口:
dolphin_python script.py # 运行 Python 脚本
dolphin_pip install pkg # 安装包
重要: 详见 USAGE_GUIDE.md 和 MIGRATION_GUIDE.md
重要:所有 DolphinDB 脚本在 Python 中的调用方式
import dolphindb as ddb
# 1. 建立连接
s = ddb.session()
s.connect(host="localhost", port=8848, userid="admin", password="123456")
# 2. 执行 DolphinDB 脚本(所有数据库操作都通过 s.run())
result = s.run('''
// DolphinDB 脚本
select * from loadTable("dfs://mydb.mytable")
where date = 2024.01.01
''')
# 3. 转换为 pandas DataFrame(可选)
df = result.toDF()
# 4. 关闭连接
s.close()
| 需求场景 | 推荐技能 | 说明 |
|---|---|---|
| 快速部署/安装 | dolphindb-docker | Docker 容器化部署 |
| 建库建表、增删改查 | dolphindb-basic | 数据库基础操作 |
| 因子计算、策略回测 | dolphindb-quant-finance | 量化投研场景 |
| 实时计算、流式处理 | dolphindb-streaming | 实时行情/风控 |
🔗 技能标识: dolphindb-docker
📦 版本: 1.0.0
🏷️ 标签: dolphindb, docker, deployment, devops
| 功能模块 | 能力描述 |
|---|---|
| Docker 检查 | 检查 Docker 安装状态、版本、服务状态 |
| Docker 安装 | macOS/Windows/Linux 自动安装 Docker CE |
| 镜像管理 | 搜索、拉取官方 DolphinDB 镜像 |
| 容器部署 | 单机部署、端口映射 (8848)、数据持久化 |
| 高级配置 | Dockerfile 自定义、docker-compose 编排 |
# 快速部署(一行命令)
docker run -d --name dolphindb -p 8848:8848 -p 8081:8081 \
-v dolphindb-data:/data dolphindb/dolphindb:latest
# 使用 docker-compose
docker-compose up -d
# 连接测试(Python SDK)
dolphin_python -c "
import dolphindb as ddb
s=ddb.session()
s.connect('localhost',8848)
print(s.run('select now()'))
"
DolphinDB Docker、Docker 安装、容器化部署、docker-compose、快速部署、一键安装、Docker Hub、镜像拉取、端口 8848
查看完整技能:skills/dolphindb-docker/SKILL.md
🔗 技能标识: dolphindb-basic
📦 版本: 1.2.0
🏷️ 标签: dolphindb, database, crud, quant
| 功能模块 | 能力描述 |
|---|---|
| 创建数据库 | 分布式数据库(VALUE/RANGE/HASH/LIST/COMPO)、内存数据库 |
| 创建表 | 分区表、维度表、内存表、流表 |
| 插入数据 | INSERT INTO、append!、tableInsert |
| 查询数据 | SQL 查询、条件过滤、聚合查询、分区裁剪 |
| 更新数据 | UPDATE 语句、条件更新、批量更新 |
| 删除数据 | DELETE、DROP 表/数据库、删除分区 |
import dolphindb as ddb
s = ddb.session()
s.connect(host="localhost", port=8848, userid="admin", password="123456")
# 创建数据库(通过 s.run 执行 DolphinDB 脚本)
s.run('''
db = database(
directory="dfs://valuedb",
partitionType=VALUE,
partitionScheme=2023.01.01..2023.12.31,
engine='TSDB'
)
''')
# 创建表
s.run('''
schema = table(1:0, `date`time`sym`price`volume, [DATE,TIME,SYMBOL,DOUBLE,LONG])
pt = createPartitionedTable(
dbHandle=db,
table=schema,
tableName=`stock_data,
partitionColumns=`date,
sortColumns=`sym`time
)
''')
# 插入数据
s.run('INSERT INTO stock_data VALUES (2024.01.01, 09:30:00, `AAPL, 150.5, 1000000)')
# 查询数据
result = s.run('select * from stock_data where date=2024.01.01')
print(result.toDF())
s.close()
DolphinDB 建库、创建数据库、建表、插入数据、写入数据、查询、SELECT、更新、修改数据、删除、DROP、CRUD、分布式数据库、内存表、分区表
查看完整技能:skills/dolphindb-basic/SKILL.md
🔗 技能标识: dolphindb-quant-finance
📦 版本: 1.1.0
🏷️ 标签: dolphindb, quant, factor, backtest, finance
| 功能模块 | 能力描述 |
|---|---|
| 因子计算 | 日频/分钟频/高频因子、Alpha101、TA-Lib 技术指标 |
| 策略回测 | 股票/期货/期权回测、模拟撮合引擎 |
| 行情处理 | K 线合成、Level-2 数据、订单簿、复权计算 |
| 绩效归因 | Brinson、Campisi、因子归因分析 |
| 投资组合 | MVO 均值方差优化、SOCP 约束优化 |
| 实时计算 | 实时因子、资金流、涨幅榜、波动率 |
import dolphindb as ddb
s = ddb.session()
s.connect(host="localhost", port=8848, userid="admin", password="123456")
# 因子计算(通过 s.run 执行)
result = s.run('''
use mytt
// 计算 RSI 因子
def getRSI(close, N=24){ return RSI(close, N) }
// 批量计算因子
select
sym,
getRSI(close, 24) as rsi,
mavg(close, 5) as ma5
from loadTable("dfs://bars_db.bars_minute")
where date = 2024.01.01
context by sym
''')
# 回测配置
s.run('''
config = dict(STRING, ANY)
config["startDate"] = 2024.01.01
config["cash"] = 10000000.0 // 1000 万初始资金
config["commission"] = 0.0005
''')
# Brinson 绩效归因
s.run('use brinson')
brinson_result = s.run('''
result = brinsonAttribution(portfolioRet, benchmarkRet, portWeights, benchWeights)
''')
s.close()
量化因子、因子计算、策略回测、backtest、K 线合成、OHLC、Level-2、订单簿、绩效归因、Brinson、Campisi、投资组合、MVO、Alphalens
查看完整技能:skills/dolphindb-quant-finance/SKILL.md
🔗 技能标识: dolphindb-streaming
📦 版本: 1.1.0
🏷️ 标签: dolphindb, streaming, realtime, quant
| 功能模块 | 能力描述 |
|---|---|
| 流数据表 | 创建、持久化、发布/订阅 |
| 流计算引擎 | 响应式状态引擎、聚合引擎、订单簿引擎、OHLC 引擎 |
| 实时因子 | 分钟频/高频因子、Level-2 指标 |
| 实时行情 | K 线合成、订单簿合成、涨跌停监控 |
| 实时风控 | 持仓监控、盈亏计算、风险指标 |
import dolphindb as ddb
s = ddb.session()
s.connect(host="localhost", port=8848, userid="admin", password="123456")
# 创建流数据表(通过 s.run 执行)
s.run('''
share streamTable(10000:0, `time`sym`price`volume`bsFlag,
[TIMESTAMP,SYMBOL,DOUBLE,LONG,CHAR]) as tickStream
''')
# 创建 OHLC 引擎(实时 K 线合成)
s.run('''
ohlcEngine = createOHLEngine(
name=`minuteOHLC,
streamTableNames=`tickStream,
freq=60000, // 1 分钟 K 线
metrics=`open`high`low`close`volume
)
''')
# 创建订单簿引擎
s.run('''
obEngine = createOrderBookEngine(
name=`orderBookEngine,
streamTableNames=`tickStream,
level=10, // 10 档行情
bsFlagColumn=`bsFlag
)
''')
# 实时因子计算
result = s.run('''
def calcRealtimeFactors(tickData){
return select
sym,
wap(price, volume) as vwap,
price / last(price, 10) - 1 as momentum
from tickData
group by sym, time_bar(60000, time) as minute
}
''')
s.close()
实时计算、流式计算、streaming、实时行情、tick 数据、实时因子、流数据表、streamTable、流计算引擎、实时风控
查看完整技能:skills/dolphindb-streaming/SKILL.md
复杂任务可能需要多个技能协同:
用户需求:"帮我快速搭建一个 DolphinDB 量化投研环境"
涉及技能:
1. dolphindb-docker: 快速部署 DolphinDB 容器
2. dolphindb-basic: 创建数据库和表结构
3. dolphindb-quant-finance: 因子计算和策略回测
用户需求:"帮我搭建一个实时因子计算系统,能计算分钟频因子并实时回测"
涉及技能:
1. dolphindb-docker: 部署 DolphinDB 容器
2. dolphindb-streaming: 创建流数据表、流计算引擎
3. dolphindb-quant-finance: 因子计算公式、回测配置
4. dolphindb-basic: 创建存储结果的数据库表
用户需求:"搭建量化投研平台,需要因子库、回测、绩效分析"
涉及技能:
1. dolphindb-docker: 容器化部署
2. dolphindb-quant-finance: 因子计算、策略回测、绩效归因
3. dolphindb-basic: 数据库管理、数据存储
用户需求:"实时监控行情,合成 K 线和订单簿,检测异常波动"
涉及技能:
1. dolphindb-docker: 快速部署
2. dolphindb-streaming: OHLC 引擎、订单簿引擎、实时监控
3. dolphindb-basic: 存储历史数据
# 安装单个技能
clawhub install dolphindb-docker
clawhub install dolphindb-basic
clawhub install dolphindb-quant-finance
clawhub install dolphindb-streaming
# 或安装整个套件(推荐)
clawhub install dolphindb-skills
| 技能 | 当前版本 | 发布时间 |
|---|---|---|
| dolphindb-docker | 1.0.0 | 2024-03-24 |
| dolphindb-basic | 1.2.0 | 2024-03-24 |
| dolphindb-quant-finance | 1.1.0 | 2024-03-24 |
| dolphindb-streaming | 1.1.0 | 2024-03-24 |
| dolphindb-skills | 1.3.4 | 2026-03-28 |
~/.jvs/.openclaw/workspace/skills/dolphindb-skills/scripts/ 改为相对路径 scripts/dolphindb-skills 为套件入口文件dolphindb 独立技能(内容已整合到套件和其他组件)dolphindb-skills/scripts/s.run('<脚本>') 调用dolphindb-docker 技能(Docker 容器化部署)