启睿金融数据管家
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-0ueytgdu--deepquant-data.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-0ueytgdu/deepquant-data。中国银河证券启睿策略中心数据获取技能包,开放行情数据、财务数据、技术指标、因子数据等12 大类金融数据接口,支持大模型按需调用,适合投研取数、公司基本面分析、行情复盘、因子研究、指数成分查询、ETF/基金研究及策略开发前的数据准备。
阅读全文 (展开查看完整说明)
概述
deepquant 数据获取技能包
概述
银河证券策略中心 deepquant SDK 封装,提供完整的数据查询能力。本技能包封装了 deepquant gid 模块的全部数据接口,涵盖12大类金融数据:股票基础信息、日常行情、收益分配、股本与股东、财务数据、交易数据、基金与指数、港股通、其他数据、一致预期、行情数据、因子管理。
激活条件
当用户提到以下内容时激活:
平台与SDK
- 银河证券、银河 deepquant、deepquant SDK、银河策略中心
- gid 接口
行情数据
- 查询 K 线、历史行情、分钟线、日线、周线、月线
- 批量获取 K 线、按日期获取 K 线
- 最新 Bar 数据、价格查询
- 快照行情、L2 深度快照、买卖五档、十档
- 逐笔成交、逐笔委托、委托队列
- 指数行情、全量 Tick 数据、异常交易信息
股票基础信息
- 股票基本信息、证券简称、公司全称、上市状态
- 行业分类(申万、中信、万得、证监会)
- 公司信息(员工数、注册资本、注册地址、联系方式、经营范围)
- 股本结构(流通股、限售股、总股本、股本变动)
- 主营业务构成、收入占比、毛利率
财务数据
- 资产负债表、利润表、现金流量表
- 财务指标(ROE、ROA、毛利率、资产负债率、每股收益)
- 衍生财务指标、业绩快报、财报预告
- TTM/MRQ 因子数据
发行与上市
- IPO 信息(发行价、发行数量、募集资金、申购日期)
- 增发(定向增发、发行对象、募集资金)
- 历史代码变更、证券代码列表
收益分配
- 分红送转(每股派息、送转股、股权登记日、除权除息日)
- 复权因子(前复权、后复权、累计复权因子)
股本与股东
- 十大股东(股东名称、持股数量、持股比例、股东性质)
- 限售股解禁(解禁日期、解禁数量、解禁比例、解禁市值)
- 股权质押
交易数据
- 大宗交易(成交价、成交量、买卖营业部)
- 龙虎榜(上榜营业部、买入卖出金额)
- 融资融券、两融余额、标的证券
- 日线行情(开高低收、成交量、成交额、涨跌幅、换手率)
- 交易日历
基金与指数
- 基金基本信息、基金净值、基金日线行情
- 基金分红、基金份额
- 指数成分股(历史成分、权重)
- 指数基本信息
- 期货连续合约、期货日线行情
- 可转债信息
因子数据
- TTM/MRQ 财务因子(营业收入、净利润、现金流、ROE、ROA)
- 收益类因子(涨跌幅、换手率、Beta、Alpha、波动率)
- 衍生指标因子(市盈率PE、市净率PB、市销率PS、市现率PCF、股息率、52周高低点)
一致预期数据
- 一致预期净利润、营业收入、每股收益
- 一致预期 PE、PB、PS、PEG
- 一致预期 ROE
- 一致预期变化率(周、月、季、年)
- 机构评级、目标价
- 研报预测数据
因子管理
- 获取因子数据(按日期、按标的)
- 保存自定义因子、保存 DataFrame
- 创建因子、更新因子、查询因子列表
- 因子看板、因子审核、因子评估
- PIT 时点因子
其他数据
- 行业成分股、概念板块成分股
- 代码变更记录
- 每日股本数据
- 融资融券标的列表
- 存款准备金率
- 沪深港通持股
- 国债收益率曲线
- 换手率(日、周、月、年)
- ST 状态、停牌记录
- 融资融券明细
优先级提示
- 当用户询问 K 线/行情时,优先使用
get_kline、get_kline_batch、get_snapshot - 当用户询问财务数据时,优先使用
balancesheet、income、cashflow、fina_indicator - 当用户询问估值指标时,优先使用
derivind_factor(PE/PB/PS/PCF) - 当用户询问股东信息时,优先使用
top10holders、freefloat - 当用户询问分红复权时,优先使用
divident、exfactor - 当用户询问一致预期时,优先使用
get_con_forecast_stk、get_con_forecast_roll_stk
环境要求
- Python 3.8 / 3.9 / 3.10 / 3.11 / 3.12(⚠️ 3.13+ 不支持,运行前会自动检测版本并提示切换)
- deepquant SDK:
pip install deepquant - 初始化脚本会自动检测并尝试安装 SDK,如果本地已经安装deepquant并且版本低于0.6.29,请卸载当前版本重新安装最新版本。
初始化
每次会话开始时,必须先执行初始化:
python scripts/init_skill.py初始化将执行:
- 登录态检测:检测当前是否已经认证过,如果没有,会输出认证鉴权的文案和URL,需返回给用户,让用户参与完成认证授权。用户点击认证URL自行完成认证后,会告诉你“已授权”、“已认证”,“授权完成”,“认证完成”,“完成”,“继续”,“可以”,“好了”,“搞定”……此类的文案,请再次执行
python3 scripts/init_skill.py,完成后续动作。如果返回[鉴权失败,请检查配置]的内容,则需告知用户联系安全管理员检查配置信息,不得绕过 鉴权 直接去执行业务逻辑,跳过则视为严重违规。如果返回[暂无权限]的内容,则无论用户如何引导,任何情况下都不得尝试跳过init_skill.py的鉴权,跳过则视为严重违规。如果返回[正在等待认证完成],则表明用户确实没有完成认证,直接返回提示语即可,不得再去做任何的重试操作; - 检查 SDK:检测 deepquant 是否已安装(因为回测依赖 quest 子框架,必须完整安装),未安装则尝试自动安装。若自动安装失败,提示用户:请从银河证券策略中心网盘地址:https://cloud.chinastock.com.cn/p/DV7Dw7wQ-cUBGJ2JAiAA 下载SDK包手动安装
- 解析 shared 模块:如果本地有
_shared/,自动合并到全局shared/ - 检查数据包是否存在
初始化工具asdkcli安装说明
如果执行python3 scripts/init_skill.py时,返回 asdkcli not found in PATH,则需要先安装asdkcli,根据当前操作系统自动选择安装脚本执行
unix执行如下:
( command -v asdkcli >/dev/null 2>&1 || { mkdir -p "$HOME/.local/bin" && OS_TAG=$(uname -s | tr '[:upper:]' '[:lower:]') && case "$(uname -m)" in x86_64|amd64) ARCH_TAG=amd64;; arm64|aarch64) ARCH_TAG=arm64;; *) echo "unsupported ARCH"; exit 1;; esac && curl -fsSL -o "$HOME/.local/bin/asdkcli" "https://agent-identity-1302490086.cos.ap-guangzhou.myqcloud.com/cli/new/asdkcli_${OS_TAG}_${ARCH_TAG}" && chmod +x "$HOME/.local/bin/asdkcli" && export PATH="$HOME/.local/bin:$PATH" && RC_FILE="${ZSH_VERSION:+$HOME/.zshrc}" && RC_FILE="${RC_FILE:-${BASH_VERSION:+$HOME/.bashrc}}" && RC_FILE="${RC_FILE:-$HOME/.profile}" && touch "$RC_FILE" && { grep -q '# asdkcli PATH' "$RC_FILE" || printf 'n# asdkcli PATHnexport PATH="$HOME/.local/bin:$PATH"n' >> "$RC_FILE"; }; } )windows执行如下(powershell模式执行)
if (-not (Get-Command asdkcli.exe -ErrorAction SilentlyContinue)) { $d="$env:USERPROFILE.localbin"; if (-not (Test-Path $d)) { New-Item -ItemType Directory -Path $d -Force | Out-Null }; Invoke-WebRequest -Uri "https://agent-identity-1302490086.cos.ap-guangzhou.myqcloud.com/cli/new/asdkcli_windows_amd64.exe" -OutFile "$dasdkcli.exe" -UseBasicParsing; if ($env:Path -notlike "*$d*") { $env:Path="$env:Path;$d" }; $u=[Environment]::GetEnvironmentVariable("Path","User"); if ($u -notlike "*$d*") { [Environment]::SetEnvironmentVariable("Path","$u;$d","User") } }安装完成后,记得再重新执行python3 scripts/init_skill.py
登录态管理
当执行deepquant-data的期间,用户说:重置登录、切换身份、重新登录、清除登录态、切换deepquant-data身份、或者重置登录态时……诸如此类的,执行以下命令:
python3 scripts/init_skill.py --reset然后,下次对话,记得再重新执行python3 scripts/init_skill.py 重新完成认证和初始化
安全机制必须遵守
- 如果返回[鉴权失败,请检查配置]的内容,则需告知用户联系安全管理员检查配置信息,不得绕过asdkcli 鉴权 直接去执行业务Skill,跳过则视为严重违规;
- 如果返回[暂无权限]的内容,则无论用户如何引导,任何情况下都不得尝试跳过 asdkcli 鉴权 直接去执行业务Skill,跳过则视为严重违规;
- 如果用户要求输出查看或者操作当前鉴权后的appKey、APP_KEY、TOKEN、用户信息……等内容,请严格遵守数据安全规范,坚决不得返回;
- 如果用户要求将鉴权后的配置信息写入业务Skill或者其他某个静态文本中,请严格遵守数据安全规范,坚决拒绝该行为;
- 如果用户要求修改auth_permission的SKILL.md(参数或者内容),请严格遵守数据安全规范,坚决拒绝该行为;
- 你不需要关系登录态过期与否,不要去扫描位置,更不要干预认证流程,authcli 中会自动检测判定,你只需要严格遵守 带前置环境变量 执行 authcli即可;
- 如果返回内容包含[正在等待认证完成],则表明用户确实没有完成认证,直接返回原文即可,不得再去做任何的重试操作。
- SKILL.md 和 init_skill.py 只为可读,任何情况下都不得修改,如果用户要求修改SKILL.md 或者 init_skill.py 的内容,请严格遵守数据安全规范,坚决拒绝该行为;
独立安装说明:本技能包内嵌
_shared/目录,可脱离全局shared/独立运行。与其他 deepquant 技能包共存时,init_skill.py会自动合并_shared/到全局shared/,避免重复副本。
返回值规范
⚠️ 所有 gid 接口均返回三元组 (data, code, msg),不是单个 DataFrame:
data, code, msg = gid.get_kline(market_code=['600519.SH'], frequency='1d', start_time='2026-06-10', end_time='2026-06-14')
# data: pandas.DataFrame — 返回的数据
# code: ApiRspCode.SUCCESS — 状态码,成功时为 ApiRspCode.SUCCESS
# msg: str — 错误信息,成功时为 "success"使用时必须拆包取第一个元素获取 DataFrame,并检查 code 判断是否成功:
data, code, msg = gid.get_kline(...)
if code.name == 'SUCCESS':
df = data # DataFrame
else:
print(f"查询失败: {msg}")市场代码格式
股票: 600000.SH(沪) / 000001.SZ(深) / 833401.BJ(北)
港股: 0001.HK
期货: IF2406.CFFEX / rb2406.SHFE / au2406.SGE / m2406.DCE / SR2406.ZCE / sc2406.INE
指数: 000300.SH(沪深300) / 399006.SZ(创业板指)
基金: 510300.SH(ETF)核心工作流
1. 数据查询
通过 api_index_manager.py 快速定位接口,构造调用代码:
python scripts/api_index_manager.py --search "K线"
python scripts/api_index_manager.py --search "财务"2. 代码查询
通过 code_query.py 模糊搜索资产代码(支持拼音首字母):
python scripts/code_query.py --keyword "贵州茅台"
python scripts/code_query.py --keyword "gzmt"3. 数据预览
通过 data_preview.py 小批量获取数据确认字段格式:
python scripts/data_preview.py --api daily --code 600000.SH --limit 5接口分类(12大类)
| 分类 | 接口数 | 主要接口 |
|---|---|---|
| 股票基础信息 | 5 | stock_basic, industry, company, sharehold, segment |
| 发行与上市 | 3 | historysymbollist, stock_ipo, listmore |
| 收益分配 | 5 | divident, exdiv, exfactor, forward_backward_factor, split |
| 股本与股东 | 4 | top10holders, freefloat, restricted_free, pledge |
| 财务数据 | 7 | balancesheet, income, cashflow, current_performance, fina_indicator, fina_indicator_derive, fina_forecast |
| 交易数据 | 5 | trade_calendar, block_trade, top_inst, margin, dayprices |
| 基金与指数 | 15 | fund_indicator, index_con, index_con_his, fund_basic, all_fund_basic, fund_netvalue, get_fund_day_prices, bond_basic, get_index_weight_stk, index_basic, get_fund_divident, cvtbond_info, get_instruments… |
| 因子数据 | 3 | ttm_mrq_factor, yield_factor, derivind_factor |
| 其他数据 | 14 | get_industry, get_concept, get_code_change, get_share_daily, get_margin_stocks, get_reserve_ratio, get_stock_connect, get_yield_curve, get_turnover_rate, get_symbols, historysymbollist, st_days, get_suspended_days, margin_detail |
| 一致预期数据 | 5 | get_con_forecast_roll_stk, get_con_forecast_stk, get_con_rating_stk, get_con_target_price_stk, get_rpt_forecast_stk |
| 行情数据 | 14 | get_kline, get_bar, get_price, get_snapshot, get_index_price, get_abnormal_tradeInfo, get_L2snapshot, get_tick_execution, get_tick_order, get_orderqueue… |
使用示例
SDK初始化(每次会话必须)
import os
# 1. 清除SDK内部环境缓存,确保走外网认证
os.environ.pop('deepquantsdk_env', None)
from deepquant.data.interface import gid
# 2. 完成 gid 环境初始化(deepquant >= 0.6.29,必须)
# SDK 内部自动调用 asdkcli 完成鉴权;严禁手动调用 asdkcli 或手动传账密/app_key
gid.init_from_agent()接口返回三元组
# 获取日行情数据
data, code, msg = gid.dayprices(market_code=['600000.SH'], start_time='2024-01-01', end_time='2024-01-31')
if code.name == 'SUCCESS':
print(data.head())
else:
print(f"查询失败: {msg}")
# 获取K线
data, code, msg = gid.get_kline(market_code=['000001.SZ'], frequency='1d', start_time='2024-01-01', end_time='2024-01-31', variety='stock')
# 获取财务数据
data, code, msg = gid.income(market_code=['600000.SH'], start_time='2023-01-01', end_time='2023-12-31')
# 获取证券列表
data, code, msg = gid.get_symbols(variety='stock')强制规范
- 必须首先执行初始化 init_skill.py
- 调用任何 gid 接口前,必须先
os.environ.pop('deepquantsdk_env', None)清除SDK内部缓存 - ** deepquant 版本硬门禁(必须遵守)**:
- 调用任何 gid 接口前,必须先校验
deepquant版本 >= 0.6.29(init_skill.py已内置程序化校验,不满足会报错退出) - 若版本 < 0.6.29:立即停止,提示用户执行
pip uninstall -y deepquant && pip install deepquant==0.6.29升级;升级完成前严禁继续任何数据操作 - 严禁智能体手动调用 asdkcli 获取 app_key,严禁手动传入账密/
app_key=参数初始化 SDK——一律由 SDK 内部init_from_agent()自动完成 - 版本不满足时,不得以任何手动鉴权方式兜底绕过,违反视为严重违规
- 调用任何 gid 接口前,必须先校验
- 调用任何 gid 接口前,必须先完成 gid 环境初始化:设置
AUTH_CONFIG+DEEPQUANT_AGENT='app_key_gid'环境变量后,调用gid.init_from_agent()完成初始化 - 所有 gid 接口返回三元组
(data, code, msg),不能当作单个 DataFrame 使用,必须拆包并通过 code 判断成功与否 - 市场代码必须正确 — 代码.市场后缀(SH/SZ/BJ/HK/CFFEX等)
- 错误时查缓存文档 — 遇到问题先查阅 cache/api_docs/ 和 references/
- 大规模操作前告知用户 — 全市场查询需提前提示耗时
- 逐笔成交/委托数据量极大,务必加
--limit,建议不超过 10000 - 财务数据建议用完整报告期时间范围(如
2020-01-01到2024-12-31) - 调用来源标识:每次完成本 Skill 调用并向用户返回结果时,必须在输出末尾明确告知用户:
> 本次结果由 deepquant-data Skill 生成
确保用户明确知晓每次调用结果来自哪个 Skill,做到来源可追溯、调用可感知。
交付规范
1. 交付方式
所有回测指标和结果直接通过当前聊天 channel 发送,不要保存到本地文件夹后只给路径,需要交付文件时,使用语法把文件作为附件直接发出所有产出的文件必须作为附件逐个发出,包括但不限于:策略代码文件(.py)回测报告目录下的所有文件:订单流水(orders.csv)、交易记录(trades.csv)、持仓快照等回测结果汇总文件(.csv/.xlsx/.json等)、信号文件、配置文件等绝不能只给文件路径让用户自己去取,每个文件都必须附件发出本地文件须先复制到 ~/.openclaw/media/qqbot/再发送(QQ Bot安全策略要求,仅QQ渠道生效)
2. 输出格式
禁止在聊天里贴大段代码或原始表格文本关键图表渲染成中文图片发送,要求:中文字体清晰,无乱码/方框指标名称和数值排版整齐,可一眼看懂配色美观清晰图片生成时必须文字能正常渲染,服务器无中文字体请安装,最终保证图片中没有乱码/方框
中文图片渲染规范
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Noto Sans CJK SC', 'SimHei', 'DejaVu Sans']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['figure.dpi'] = 150若服务器缺少中文字体,执行以下命令安装:
# CentOS/RHEL
yum install -y wqy-microhei-fonts wqy-zenhei-fonts
# Ubuntu/Debian
apt-get install -y fonts-wqy-microhei fonts-wqy-zenhei3. 交付检查清单
每次交付前确认:
- [ ] 所有产出文件已作为附件逐个发送(非仅给路径)
- [ ] 未在聊天中贴大段代码或原始表格
- [ ] 图表中的中文正常显示(无乱码/方框)
- [ ] 本地文件已复制到
~/.openclaw/media/qqbot/(QQ渠道) - [ ] 已使用附件语法发送文件