ワンクリックで
dolphindb-tushare-import
将 Tushare Pro API 数据导入 DolphinDB,支持 stock/index/fund/bond/futures/options/etf/spot/fx/llm 多数据域导入。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
将 Tushare Pro API 数据导入 DolphinDB,支持 stock/index/fund/bond/futures/options/etf/spot/fx/llm 多数据域导入。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | dolphindb-tushare-import |
| description | 将 Tushare Pro API 数据导入 DolphinDB,支持 stock/index/fund/bond/futures/options/etf/spot/fx/llm 多数据域导入。 |
将 Tushare Pro API 数据自动导入 DolphinDB 分布式数据库。本 skill 在 DolphinDB Web 平台中运行,全程使用 .dos 脚本。
向用户确认或收集以下参数:
| 参数 | 是否必填 | 说明 |
|---|---|---|
token | 是 | Tushare Pro API token |
dataDomains | 是 | 一个或多个数据域,例如 ["stock", "index"] |
startDate | 是 | 起始日期,转换为 DolphinDB DATE,例如 2026.01.01 |
endDate | 是 | 结束日期,转换为 DolphinDB DATE,例如 2026.01.02 |
tableNamesByDomain | 否 | 按数据域指定表名映射;空映射表示每个数据域导入全部表 |
若用户已在请求中提供所有必要参数,可直接使用,不要重复询问。若缺少必要参数,只询问缺失项。
使用步骤 1 收集到的 dataDomains 调用 dolphindb-tushare-check-env skill,完成:
httpClient 插件检查和加载。easy_tushare::ts_init,以及每个数据域对应的 *_init、*_create_table、*_load_data、*_schedulejob 4 个模块。py 插件检查;仅在用户需要依赖 py 插件的接口时必须安装。判断逻辑:
dolphindb-tushare-check-env 成功:继续步骤 3。dolphindb-tushare-check-env 失败:终止流程,并向用户展示 dolphindb-tushare-check-env 输出的错误信息。执行前向用户展示:
请确认以下 Tushare 导入参数:
- 数据域:{dataDomains}
- 日期范围:{startDate} ~ {endDate}
- 表名映射:{tableNamesByDomain 或 全部}
确认后将在 DolphinDB Web 平台执行导入脚本。
提供选项:
根据确认参数修改:
scripts/import_data.dos
需要改动的用户参数区:
token = "YOUR_TUSHARE_TOKEN"
dataDomains = ["stock"]
startDate = 2026.01.01
endDate = 2026.01.02
tableNamesByDomain = dict(STRING, ANY)
多数据域指定表名示例:
dataDomains = ["stock", "index"]
tableNamesByDomain = dict(STRING, ANY)
tableNamesByDomain["stock"] = ["stock_basic", "daily"]
tableNamesByDomain["index"] = ["index_basic", "index_daily"]
执行整个 scripts/import_data.dos。脚本会:
easy_tushare::ts_init 和所选数据域的 init 模块,不加载未选择资产域的模块。create_db() 初始化默认数据库。*_init_tables 初始化库表,并调用 *_history_data_load 导入历史数据。[TUSHARE-IMPORT] STATUS=SUBMITTED 标记。当用户追问任务进度时,在 DolphinDB Web 平台执行查询,并以业务可读方式总结,不要直接贴原始表格。
可用查询思路:假设 table_names 为根据本次用户参数得到的所有需要导入的表名字符串向量,执行:
jobs = getRecentJobs()
select * from jobs where split(jobDesc, "_")[1] in table_names order by startTime desc
根据用户参数进一步核验目标表,例如:
select count(*) from loadTable("dfs://tushare_basic_db", "stock_basic")
返回时按以下风格说明:
当用户请求提交增量数据定时导入任务时,先判断当前上下文是否已经明确满足以下前置条件:
token、dataDomains 和可选的 tableNamesByDomain。必须遵循以下分支处理:
import_data.dos,不要主动执行库表初始化,不要主动查询表结构或任务状态,不要重新运行环境检查;只向用户做显式确认。上下文不明确时,向用户展示以下确认文案,并等待用户回复后再继续:
当前请求是提交 Tushare 增量数据定时任务。
我无法从当前上下文确认以下前置条件是否已经满足:
- 目标数据域和表名对应的库表已经初始化。
- 如需历史数据,历史批量导入任务已经完成。
- 当前没有同一批数据域和表名的历史导入任务仍在运行。
请确认是否继续提交增量定时任务:
1. 已确认库表已初始化,且历史导入已完成或不需要历史导入,继续提交定时任务。
2. 暂不提交定时任务,先执行历史导入流程完成库表初始化和历史数据导入。
说明:Tushare 数据接口有访问频次限制。如果历史批量导入任务和增量定时任务同时运行,可能导致接口限频、任务失败或部分表未更新;如果库表尚未初始化,定时任务可能因目标表不存在而失败。
用户回复后的处理规则:
提交定时任务时,无需再次检查环境,直接使用步骤 3 已确认的任务参数;如果用户是直接请求设置定时任务且没有经过步骤 3,则仅收集 token、dataDomains 和可选的 tableNamesByDomain,不要收集历史导入日期范围。
scripts/schedule_data.dos
需要改动的用户参数区:
token = "YOUR_TUSHARE_TOKEN"
dataDomains = ["stock"]
tableNamesByDomain = dict(STRING, ANY)
多数据域指定表名示例:
dataDomains = ["stock", "index"]
tableNamesByDomain = dict(STRING, ANY)
tableNamesByDomain["stock"] = ["stock_basic", "daily"]
tableNamesByDomain["index"] = ["index_basic", "index_daily"]
执行整个 scripts/schedule_data.dos。脚本会:
dataDomains 动态加载对应的 easy_tushare::*_schedulejob 模块。scheduleJob_*_data_daily(token, tableNames)。[TUSHARE-SCHEDULE] STATUS=SCHEDULED 标记。各资产域已有模块中的定时任务时间由对应 *_schedulejob.dos 内部决定,例如多数资产域为每日 20:00,stock 为每日 21:00。若用户需要修改定时执行时间,需要先修改对应资产域的 *_schedulejob.dos 模块实现,再重新上传模块。
提交后可在 DolphinDB Web 平台中执行以下查询确认定时任务:
getScheduledJobs()
返回时按以下风格说明:
| 数据域 | 初始化函数 | 历史导入函数 | 增量数据导入函数 |
|---|---|---|---|
stock | stock_init_tables | stock_history_data_load | scheduleJob_stock_data_daily |
index | index_init_tables | index_history_data_load | scheduleJob_index_data_daily |
fund | fund_init_tables | fund_history_data_load | scheduleJob_fund_data_daily |
bond | bond_init_tables | bond_history_data_load | scheduleJob_bond_data_daily |
futures | futures_init_tables | futures_history_data_load | scheduleJob_futures_data_daily |
options | options_init_tables | options_history_data_load | scheduleJob_options_data_daily |
etf | etf_init_tables | etf_history_data_load | scheduleJob_etf_data_daily |
spot | spot_init_tables | spot_history_data_load | scheduleJob_spot_data_daily |
fx | fx_init_tables | fx_history_data_load | scheduleJob_fx_data_daily |
llm | llm_init_tables | llm_history_data_load | scheduleJob_llm_data_daily |
token 不要写入公开仓库或提交到版本控制。tableNamesByDomain={} 会导入所选数据域下所有已实现表。DATE 字面量,不是字符串,例如 2026.01.01。dolphindb 测试方案、测试文档及测试用例生成;用户提到“测试用例”或“测试文档”时触发;测试脚本使用 `.txt`后缀
检查 Tushare 数据导入 DolphinDB 的前置环境,确认 httpClient 插件和py插件(可选)以及 easy_tushare 模块可用。
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。