بنقرة واحدة
dolphindb-tushare-check-env
检查 Tushare 数据导入 DolphinDB 的前置环境,确认 httpClient 插件和py插件(可选)以及 easy_tushare 模块可用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
检查 Tushare 数据导入 DolphinDB 的前置环境,确认 httpClient 插件和py插件(可选)以及 easy_tushare 模块可用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
dolphindb 测试方案、测试文档及测试用例生成;用户提到“测试用例”或“测试文档”时触发;测试脚本使用 `.txt`后缀
将 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、部分应用、动态函数调用、模块与函数视图相关任务。 当任务需要以函数为主要组织单位处理数据、组合函数或组织函数接口时使用。
为 DolphinDB / DolphinScript SQL 编写、审查和优化提供规则集。 Use when 用户需要编写、改写、审查或优化 DolphinDB SQL,包括 select/exec/update/delete、 where 条件、group by/context by/cgroup by/pivot by、aj/wj/pwj、时间窗口、数组向量、 SQL 元编程、分布式 SQL、执行计划和 SQL Trace。
| name | dolphindb-tushare-check-env |
| description | 检查 Tushare 数据导入 DolphinDB 的前置环境,确认 httpClient 插件和py插件(可选)以及 easy_tushare 模块可用。 |
检查 DolphinDB 服务端是否满足 Tushare 数据导入要求,并对可自动处理的问题执行修复或给出明确处理方式。
| 检查项 | 说明 | 自动修复 |
|---|---|---|
httpClient 插件 | Tushare API 调用依赖 httpClient::httpPost | 尝试 installPlugin + loadPlugin;失败时引导手动安装 |
py 插件 | Tushare API 部分数据调用(如pro_bar接口获取复权数据)依赖 py::call等 | 询问用户是否需要安装,如果需要直接引导用户手动安装 |
easy_tushare 模块 | 按本次导入资产域检查 easy_tushare::ts_init 和对应资产域模块 | 缺失时只上传必需模块文件 |
加载本文件后,立即从步骤 1 开始执行,不要额外确认。所有服务端操作都在 DolphinDB Web 平台中通过 .dos 脚本或模块上传完成。
根据用户需要导入的资产域,先修改脚本顶部的 dataDomains 参数,再在 DolphinDB Web 平台执行:
scripts/dolphindb-tushare-check-env.dos
示例:用户需要同时导入 stock 和 index 时:
dataDomains = ["stock", "index"]
脚本会输出结构化标记:
[CHECK-ENV] HTTPCLIENT_STATUS: OK
[CHECK-ENV] HTTPCLIENT_STATUS: FIXED
[CHECK-ENV] HTTPCLIENT_STATUS: FAILED
[CHECK-ENV] PY_STATUS: OK
[CHECK-ENV] PY_STATUS: FAILED
[CHECK-ENV] MODULE_STATUS: OK
[CHECK-ENV] MODULE_STATUS: MISSING
[CHECK-ENV] REQUIRED_DOMAINS: [...]
[CHECK-ENV] REQUIRED_MODULES: [...]
[CHECK-ENV] ERROR: <详细错误信息>
处理规则:
MODULE_STATUS=MISSING:进入步骤 2 上传 easy_tushare 模块。HTTPCLIENT_STATUS=FAILED:进入步骤 3 引导手动安装插件。PY_STATUS=FAILED: 询问用户是否需要安装 py 插件,如有需要进入步骤 4 引导手动安装,且必须关注 4.1 注意事项部分内容。OK 或 FIXED 时环境就绪,结束流程。PY_STATUS=FAILED 且用户回复不需要 py 插件,也视为环境就绪,结束流程。目标: 只把本次导入所需模块上传到 DolphinDB 服务端。所需模块由 REQUIRED_MODULES 输出决定,固定包含 easy_tushare::ts_init,并为每个资产域包含 4 个模块:*_init、*_create_table、*_load_data、*_schedulejob。
做法:
skill_file_copy 只把 REQUIRED_MODULES 对应的模块源文件复制到工作区。多个资产域时,上传 ts_init.dos 加每个资产域目录下的 4 个 .dos 文件。vfs_read 读取文件内容,得到 JSON 结果,记为 <result>。
STEP2: 将以下模板中的 {{VFS_READ_RESULT}} 替换为 <result> 的 JSON 字符串原文:
vfs_read_res = {{VFS_READ_RESULT}}
特别强调,不要思考,不要给 {{VFS_READ_RESULT}} 前后私自加引号等特殊字符,不要做任何格式转换。
STEP3: 使用 execute 执行替换后的 vfs_read_res = {{VFS_READ_RESULT}}
STEP4: 使用 execute 执行 uploadModule(vfs_read_res.content, overwrite=true)
STEP5: 使用 vfs_delete 删除工作区的模块源文件资产域到模块文件的映射如下:
scripts/DolphinDBModules/easy_tushare/
├── ts_init.dos # 所有导入都需要
├── stock/ # dataDomain = stock
│ ├── stock_init.dos
│ ├── stock_create_table.dos
│ ├── stock_append_data.dos
│ └── stock_schedulejob.dos
├── etf/ # dataDomain = etf
│ ├── etf_init.dos
│ ├── etf_create_table.dos
│ ├── etf_append_data.dos
│ └── etf_schedulejob.dos
├── fund/ # dataDomain = fund
│ ├── fund_init.dos
│ ├── fund_create_table.dos
│ ├── fund_append_data.dos
│ └── fund_schedulejob.dos
├── futures/ # dataDomain = futures
│ ├── futures_init.dos
│ ├── futures_create_table.dos
│ ├── futures_append_data.dos
│ └── futures_schedulejob.dos
├── bond/ # dataDomain = bond
│ ├── bond_init.dos
│ ├── bond_create_table.dos
│ ├── bond_append_data.dos
│ └── bond_schedulejob.dos
├── index/ # dataDomain = index
│ ├── index_init.dos
│ ├── index_create_table.dos
│ ├── index_append_data.dos
│ └── index_schedulejob.dos
├── options/ # dataDomain = options
│ ├── options_init.dos
│ ├── options_create_table.dos
│ ├── options_append_data.dos
│ └── options_schedulejob.dos
├── foreign_exchangre/ # dataDomain = fx
│ ├── fx_init.dos
│ ├── fx_create_table.dos
│ ├── fx_append_data.dos
│ └── fx_schedulejob.dos
├── spot/ # dataDomain = spot
│ ├── spot_init.dos
│ ├── spot_create_table.dos
│ ├── spot_append_data.dos
│ └── spot_schedulejob.dos
└── llm/ # dataDomain = llm
├── llm_init.dos
├── llm_create_table.dos
├── llm_append_data.dos
└── llm_schedulejob.dos
仅当 HTTPCLIENT_STATUS=FAILED 时执行。
getPluginDir() 获取插件目录。version() 获取服务端版本。httpClient 插件,并放入 getPluginDir() 返回目录。仅当 PY_STATUS=FAILED 且用户需要 Py 插件时执行。
如果机器联网,请参考https://docs.dolphindb.cn/zh/plugins/py/py_3_9.html 文档,使用installPlugin + loadPlugin 安装,否则执行以下步骤:
getPluginDir() 获取插件目录。version() 获取服务端版本。py 插件,并放入 getPluginDir() 返回目录。globalDynamicLib参数py39,python版本为3.10,则python插件名为py10。tushare、numpy、pandas包,请显示和用户交互确认。| 路径 | 作用 |
|---|---|
scripts/dolphindb-tushare-check-env.dos | 检查 httpClient和py 插件和 easy_tushare 模块状态 |
scripts/DolphinDBModules/easy_tushare/ | Tushare 导入模块源码,缺模块时上传 |