with one click
dolphindb-csmar-import
将CSMAR历史数据文件自动导入DolphinDB数据库,支持csv及zip格式的数据文件
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
将CSMAR历史数据文件自动导入DolphinDB数据库,支持csv及zip格式的数据文件
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
dolphindb 测试方案、测试文档及测试用例生成;用户提到“测试用例”或“测试文档”时触发;测试脚本使用 `.txt`后缀
检查 Tushare 数据导入 DolphinDB 的前置环境,确认 httpClient 插件和py插件(可选)以及 easy_tushare 模块可用。
将 Tushare Pro API 数据导入 DolphinDB,支持 stock/index/fund/bond/futures/options/etf/spot/fx/llm 多数据域导入。
Generate, review, or refine standalone DolphinDB backtest .dos scripts from natural-language quant strategy requirements, using bundled datasource, initialize, callback refs, contracts, manifests, rules, and templates;
为 DolphinDB / DolphinScript 基础语法、脚本骨架和初版代码生成提供规则集。 Use when 用户需要从自然语言生成可执行 DolphinDB 脚本、修复 DolphinScript 语法错误、 检查变量赋值、函数定义、索引切片、数据结构构造、字符串 / SYMBOL / 时间 / 空值字面量、 表访问、基础 select / exec / update / delete、loadTable / loadTextEx 等基础写法, 探查服务端已有 DFS 库表,编写建库建表样例,或在使用 SQL、函数式、向量化 skill 前先保证代码语法和脚本结构可运行。
在编写、优化、解释 DolphinDB / DolphinScript 代码时应用此函数式编程规则集。 适用于高阶函数、函数模式、函数运算符、链式表达、eachAt/at 映射调用、lambda、部分应用、动态函数调用、模块与函数视图相关任务。 当任务需要以函数为主要组织单位处理数据、组合函数或组织函数接口时使用。
| name | dolphindb-csmar-import |
| description | 将CSMAR历史数据文件自动导入DolphinDB数据库,支持csv及zip格式的数据文件 |
将 CSMAR(国泰安)高频历史行情数据文件自动导入 DolphinDB 分布式数据库。本 skill 运行于 DolphinDB Web 平台,全部操作通过 .dos 脚本在服务端完成。
加载本文件后,立即从步骤 1 开始执行,不要额外确认。每个步骤的结果直接驱动下一步。所有需要在服务器执行的内容都通过 dos 脚本完成,无需收集连接信息(Web 平台已登录)。
先调用 check-env 技能完成以下工作:
scripts/DolphinDBModules/easy_csmar/ 下的模块源文件通过 uploadModule() 写入 DolphinDB 服务端判断逻辑:
在 DolphinDB Web 平台执行:scripts/machine_info_collection.dos
脚本行为:
maxMemSize / license()['maxMemoryPerNode'] / maxBatchJobWorker / license()['maxCoresPerNode']min(maxMemSize, maxMemoryPerNode) / 2 / 8(安全内存的一半,按 8GB/任务)min(maxBatchJobWorker, maxCoresPerNode)RECOMMENDED_PARALLEL=<数值> 的标识行从执行结果中匹配 RECOMMENDED_PARALLEL= 行提取数值,作为下一步的推荐并行度。
向用户询问以下信息:
/hdd/hdd4/csmar/)snapshot(快照)/ entrust(委托)/ trade(成交)/ tick(TICK合并)/ orderqueue(委托队列)20260429)20260429)dfs://level2_stock_db)表名固定为
snapshot、entrust、trade、tick、orderqueue,无需用户填写。
向用户展示汇总信息并确认:
请确认以下导入参数:
推荐并行度:
- 推荐值:{recommended_parallel}
(基于服务器内存和并发能力计算)
- 如需修改,请选择"自定义并行度"
数据导入参数:
- 数据类型:{dataSource}
- 日期范围:{startDate} ~ {endDate}
- 文件路径:{targetDir}
- 数据库名称:{dbName}
确认无误后将提交任务到 DolphinDB 后台运行。
提供以下选项:
根据用户确认的参数,修改 scripts/import_data.dos:
file_dir = 改为用户输入的文件路径db_name = 改为用户确认的数据库名称start_date = 改为用户输入的起始日期end_date = 改为用户输入的结束日期parallel = 改为用户确认的并行度值data_types = 改为用户选择的数据类型(单个类型如 "snapshot",或多个类型如 ["snapshot","trade"])修改完成后,在 DolphinDB Web 平台执行整个 scripts/import_data.dos。脚本会自动调用 auto_load_csmar_stock_data(内部通过 submitJob 提交导入任务到后台),并从输出中匹配 JOBID= 行提取 jobid。
执行成功后,向用户展示任务提交确认和完整的任务信息:
任务已提交到 DolphinDB 后台运行!
服务器:{Web 平台地址 + 可通过执行 print(version()) 获取的版本信息}
数据类型:{dataSource}
日期范围:{startDate} ~ {endDate}
文件路径:{targetDir}
并行度:{parallel}
数据库名称:{dbName}
任务进度查询(用户追问时执行):
如果用户看到提交成功信息后追问任务进度,在 DolphinDB Web 平台执行以下 dos 脚本查询(把其中的 UUID、库名、表名、日期替换为实际值,AI 根据用户确认的参数灵活调整):
//任务进度查询
tb = loadTable("dfs://job_info", "job_info")
select
count(*) as total_tasks,
sum(iif(job_status=="completed", 1, 0)) as completed_tasks,
sum(iif(job_status=="failed", 1, 0)) as failed_tasks,
sum(iif(job_status=="progress", 1, 0)) as running_tasks,
sum(iif(job_status=="waiting", 1, 0)) as waiting_tasks,
string(sum(iif(job_status=="completed", 1, 0)) \ count(*) * 100) + "%" as progress_pct
from tb
// 数据落地验证(最终兜底)
snapCnt = exec count(*) from loadTable("dfs://level2_stock_db", "snapshot") where trade_date = 2023.02.01
tradeCnt = exec count(*) from loadTable("dfs://level2_stock_db", "trade") where trade_date = 2023.02.01
entrustCnt = exec count(*) from loadTable("dfs://level2_stock_db", "entrust") where trade_date = 2023.02.01
tickCnt = exec count(*) from loadTable("dfs://level2_stock_db", "tick") where trade_date = 2023.02.01
orderQueueCnt = exec count(*) from loadTable("dfs://level2_stock_db", "orderqueue") where trade_date = 2023.02.01
以便于业务老师阅读的方式返回结果,不要直接展示代码原始输出:
targetDir 指向的目录有读取权限,且 DolphinDB 服务进程能访问该路径submitJob()