원클릭으로
dolphindb-datayes-import
将通联历史数据文件自动导入 DolphinDB 数据库(DolphinX 版,运行于 DolphinDB Web 平台,全 dos 流程)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
将通联历史数据文件自动导入 DolphinDB 数据库(DolphinX 版,运行于 DolphinDB Web 平台,全 dos 流程)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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-datayes-import |
| description | 将通联历史数据文件自动导入 DolphinDB 数据库(DolphinX 版,运行于 DolphinDB Web 平台,全 dos 流程) |
将通联(DataYes)高频历史行情数据文件自动导入 DolphinDB 分布式数据库。本 skill 运行于 DolphinDB Web 平台,全部操作通过 .dos 脚本在服务端完成。支持 CSV 及 ZIP 格式的数据文件。
加载本文件后,立即从步骤 1 开始执行,不要额外确认。每个步骤的结果直接驱动下一步。所有需要在服务器执行的内容都通过 dos 脚本完成,无需收集连接信息(Web 平台已登录)。
必须先调用 check-env 技能完成以下工作:
scripts/DolphinDBModules/easy_datayes/ 下的 22 个模块源文件通过 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= 行提取数值,作为下一步的推荐并行度。
使用 AskUserQuestion 向用户询问:
/hdd/hdd1/feb2023_csv)tl_snapshot(快照)/ tl_trade(成交)/ tl_entrust(委托)/ tl_tick(TICK合并)/ tl_order_queue(委托队列)2023.02.01)2023.02.01)dfs://TL_Level2)数据类型=表名 格式填写,多个用分号隔开(默认值:tl_snapshot=snapshot;tl_trade=trade;tl_entrust=entrust;tl_tick=tick;tl_order_queue=order_queue)向用户展示汇总信息并使用 AskUserQuestion 确认:
请确认以下导入参数:
推荐并行度:
- 推荐值:{recommended_parallel}
(基于服务器内存和并发能力计算)
- 如需修改,请选择"自定义并行度"
数据导入参数:
- 数据类型:{dataSource}
- 日期范围:{startDate} ~ {endDate}
- 文件路径:{targetDir}
- 数据库名称:{dbName}
- 数据表名称:{tableName}
确认无误后将提交任务到 DolphinDB 后台运行。
提供以下选项:
根据用户确认的参数,修改 scripts/import_data.dos:
fileDir = 改为用户输入的文件路径dataSource = 改为用户选择的数据类型(数组格式,如 ["tl_snapshot"])dbName = 改为用户确认的数据库名称startDate = 改为用户输入的起始日期(DATE 格式,如 2023.02.01)endDate = 改为用户输入的结束日期(DATE 格式,如 2023.02.01)parallel = 改为用户确认的并行度值修改完成后,在 DolphinDB Web 平台执行整个 scripts/import_data.dos。脚本会直接调用 autoLoadTongLianData 提交导入任务到后台,并从输出中匹配 JOBID= 行提取 jobid。
执行成功后,向用户展示任务提交确认和完整的任务信息:
任务已提交到 DolphinDB 后台运行!
服务器:{Web 平台地址 + 可通过执行 print(version()) 获取的版本信息}
数据类型:{dataSource}
日期范围:{startDate} ~ {endDate}
文件路径:{targetDir}
并行度:{parallel}
数据库名称:{dbName}
数据表名称:{tableName}
任务进度查询(用户追问时执行):
如果用户看到提交成功信息后追问任务进度,在 DolphinDB Web 平台执行以下 dos 脚本查询(把其中的库名、表名、日期替换为实际值,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://TL_Level2", "snapshot") where trade_date = 2023.02.01
tradeCnt = exec count(*) from loadTable("dfs://TL_Level2", "trade") where trade_date = 2023.02.01
entrustCnt = exec count(*) from loadTable("dfs://TL_Level2", "entrust") where trade_date = 2023.02.01
tickCnt = exec count(*) from loadTable("dfs://TL_Level2", "tick") where trade_date = 2023.02.01
orderQueueCnt = exec count(*) from loadTable("dfs://TL_Level2", "order_queue") where trade_date = 2023.02.01
以便于业务老师阅读的方式返回结果,不要直接展示代码原始输出:
targetDir 指向的目录有读取权限,且 DolphinDB 服务进程能访问该路径2023.02.01),与 dos 脚本中的 DolphinDB DATE 字面量格式一致submitJob()