jqdatasdk

$npx mdskill add lzwme/finance-quant-skills/jqdatasdk

Fetch A-share market data, financials, and factors via JoinQuant SDK.

  • Provides A-share prices, K-lines, financials, and factor data for local use.
  • Requires JoinQuant account token or username/password for authentication.
  • Determines data type from user request: market, financial, stock info, or factors.
  • Returns structured JSON data from scripts for agent to parse and present.

SKILL.md

.github/skills/jqdatasdkView on GitHub ↗
---
name: jqdatasdk
description: 聚宽(JoinQuant)本地数据 SDK,提供 A 股行情、历史K线、财务数据、指标数据等,与聚宽官网数据同源。当用户提及 jqdatasdk、聚宽数据、需要获取A股数据,或已注册聚宽账号时使用。与 baostock(免费)和 tushare(数据最全)不同,jqdatasdk 需注册聚宽账号获取 Token,适合已在使用聚宽平台的用户。本地数据获取请用本技能,聚宽官网策略开发请用 joinquant-docs 技能。
metadata: {"openclaw":{"emoji":"📈","requires":{"bins":["python3"]}}}
---

# jqdatasdk 聚宽数据获取

## 任务目标
- 本 Skill 用于:通过聚宽数据接口获取A股市场数据、财务指标和因子数据
- 能力包含:实时行情、历史K线、财务数据、指标数据、股票信息、因子数据
- 触发条件:用户提及聚宽、jqdata、jqdatasdk或需要获取A股数据、财务信息、因子数据时

## 前置准备
- 依赖说明:安装 jqdatasdk 库(已包含在 dependency 中)
- 凭证配置:需配置聚宽账号 Token(环境变量: JQDATA_TOKEN)或登录用户名及密码(环境变量: JQDATA_USERNAME、JQDATA_PASSWORD)
- 账号申请:访问 https://www.joinquant.com/ 注册账号并获取 API Token(详见 references/jqdatasdk_quickstart.md)

## 操作步骤
- 标准流程:
  1. 确定数据需求 — 智能体理解用户意图(行情/K线/财务/因子等)
  2. 调用对应脚本 — 根据数据类型选择脚本
  3. 解析结果 — 智能体分析返回的 JSON 格式数据
- 脚本调用映射:
  - 行情/K线/实时数据 → `python scripts/market_data.py --type price --code 000001.XSHE --start 2024-01-01 --end 2024-01-31`
  - 财务数据/指标/估值 → `python scripts/financial_data.py --type fundamentals --code 000001.XSHE --statDate 2024`
  - 股票列表/信息 → `python scripts/stock_info.py --type all_securities --security_type stock`
  - 因子数据 → `python scripts/factor_data.py --code 000001.XSHE --factor valuation --start 2024-01-01 --end 2024-01-31`
- 可选分支:
  - 当需要多只股票数据:使用 --code 参数逗号分隔
  - 当需要指定频率:使用 --frequency 参数(1min/5min/15min/30min/60min/120min/daily/weekly/monthly)
  - 当需要调整价格类型:使用 --fq_ref_date 参数或直接指定复权类型

## 使用示例
- 示例1:获取股票日K线数据
  - 场景/输入:用户说"查看平安银行最近一个月的K线数据"
  - 预期产出:返回日期、开盘价、最高价、最低价、收盘价、成交量等OHLCV数据
  - 关键要点:调用 `python scripts/market_data.py --type price --code 000001.XSHE --start 2024-03-01 --end 2024-03-31 --frequency daily`
- 示例2:查询财务指标
  - 场景/输入:用户说"获取招商银行2023年的财务指标"
  - 预期产出:返回PE、PB、ROE、营业收入、净利润等财务指标
  - 关键要点:调用 `python scripts/financial_data.py --type indicators --code 600036.XSHG --statDate 2023`
- 示例3:获取因子数据
  - 场景/输入:用户说"查询贵州茅台的估值因子"
  - 预期产出:返回市盈率、市净率、市值等估值因子数据
  - 关键要点:调用 `python scripts/factor_data.py --code 600519.XSHG --factor valuation --start 2024-01-01 --end 2024-03-31`

## 快速参考

### 常用代码示例

```python
import jqdatasdk as jq
import pandas as pd

# 认证(需先设置环境变量 JQDATA_TOKEN 或 JQDATA_USERNAME/JQDATA_PASSWORD)
jq.auth(os.environ.get('JQDATA_USERNAME', ''), os.environ.get('JQDATA_PASSWORD', ''))
# 或使用 Token: jq.auth(token='your_token')

# 获取日K线数据
df = jq.get_price('000001.XSHE', start_date='2024-01-01', end_date='2024-12-31',
                  frequency='daily', fields=['open', 'high', 'low', 'close', 'volume'])

# 获取财务数据
q = jq.query(jq.valuation).filter(jq.valuation.code == '000001.XSHE')
fundamentals = jq.get_fundamentals(q, date='2024-01-01')
```

## 资源索引
- 脚本:
  - [scripts/market_data.py](scripts/market_data.py) (用途与参数:获取行情/K线/实时数据,支持 --type/--code/--start/--end/--frequency/--count)
  - [scripts/financial_data.py](scripts/financial_data.py) (用途与参数:获取财务/指标/估值数据,支持 --type/--code/--statDate/--columns)
  - [scripts/stock_info.py](scripts/stock_info.py) (用途与参数:获取股票列表/信息,支持 --type/--security_type/--code)
  - [scripts/factor_data.py](scripts/factor_data.py) (用途与参数:获取因子数据,支持 --code/--factor/--start/--end)
- 参考:
  - [references/jqdatasdk_quickstart.md](references/jqdatasdk_quickstart.md) (何时读取:首次配置或认证失败时)
  - [references/api.md](references/api.md) (何时读取:需要使用聚宽 Python API、查看详细API参数说明时)

## 注意事项
- 脚本执行需配置聚宽账号 Token 或登录用户名及密码,首次使用需先完成凭证配置
- 聚宽股票代码格式:上海市场为 `XXXXXX.XSHG`,深圳市场为 `XXXXXX.XSHE`
- 部分数据(如财务数据)可能有延迟,建议在交易日9:30-15:00之外获取
- 脚本返回 JSON 格式数据,智能体负责解析并转换为用户友好的展示
- 调用频率有限制,避免短时间内大量请求(详见聚宽官方文档)
- 首次使用建议先读取 jqdatasdk_quickstart.md 完成认证配置

More from lzwme/finance-quant-skills

SkillDescription
akquant生成 akquant 框架的可执行量化策略代码,涵盖数据接口、事件驱动、风控与优化。当用户需要开发量化策略、配置回测环境、设置风控规则、进行参数优化、实现横截面轮动策略,或提及 akquant 时使用
baostockBaoStock 免费开源 A 股数据平台,无需注册、无需 API Key,支持股票行情、K线、财务数据、行业分类、指数成分股查询。当用户提及 baostock、需要获取A股历史行情、财务报表、交易日历,或需要**免费、免注册**的A股数据时使用。与 tushare(数据更全但需注册)和 jqdatasdk(聚宽数据)不同,baostock 完全免费无限制,适合快速入门和低成本数据需求。
equity-researcher机构级投研报告生成技能。覆盖中国A股、港股、美股上市公司。输出模式:1)投资速览:3-5页,含公司概览、核心财务指标、估值倍数、投资逻辑与风险因素;2)深度研报:≥25页,含行业分析、产业链图谱、三表模型、DCF估值、情景分析与敏感性测试。触发条件:1)直接请求:分析/看看/研究/调研/介绍一下 + 公司名或股票;2)投资询问:你怎么看/能不能买/值得投吗/帮我看看/扒一扒 + 公司或股票;3)关键词:研报、投资简报、投资速览、公司一页纸、深度研报、深度研究、深度分析、个股分析、一页纸、速览、公司速览、投研报告;4)股票代码:标准格式(如 600519.SH、0700.HK、AAPL、TSLA、BYD)。意图不明确时主动询问输出模式,禁止默认推断。
joinquant-docs聚宽(JoinQuant)官网策略开发指南,涵盖回测、模拟交易、数据 API、交易函数、因子与技术指标。当用户编写聚宽策略、回测、模拟盘、查询聚宽 API、get_price/order/run_daily、Alpha 因子、技术指标,或提及 joinquant、聚宽、jqdata 策略时使用。本地数据获取请用 jqdatasdk 技能。
miniqmtMiniQMT 迅投量化交易接口,基于 XtQuant Python 库,支持 A 股/期货/期权的行情数据获取(K线、分笔、财务数据等)和交易下单(报单、撤单、查询资产/委托/持仓)。当用户提及 miniqmt、xtquant、迅投、获取实时行情、量化交易下单、回测数据获取,或需要连接 MiniQMT 客户端进行程序化交易时使用
pywencai同花顺问财数据查询:使用中文自然语言查询A股、指数、基金、港美股、可转债等市场数据;当用户需要通过自然语言从问财获取选股、财务、资金流、技术指标等数据时使用。
qmt-docsQMT(迅投极速策略交易系统)Python 策略开发完整指南。涵盖策略编写、回测、实盘交易、API参考和代码示例。当用户需要开发 QMT 量化策略、查询 QMT API、从聚宽迁移至 QMT、编写实盘交易程序,或提及 QMT、迅投策略、QMT 回测时使用。
rqalphaRQAlpha 米筐开源事件驱动回测框架。支持A股和期货,模块化架构,可自由扩展;当用户需要快速回测A股/期货策略、使用内置数据(download-bundle)、开发Mod插件,或提及 rqalpha、米筐时使用。与 backtrader 相比,rqalpha 内置A股日线数据、安装更简便,适合快速验证;backtrader 更灵活、社区更大。若用户仅需数据获取而无回测需求,引导使用 baostock/akshare/tushare 等数据 Skill。
tdxquant通达信量化数据获取技能。当用户提及 tdxquant、通达信、TdxQuant、tqcenter,并且需要获取A股数据(行情快照、K线、财务、板块、可转债、新股、交易数据等)、查询交易日历、执行通达信公式、订阅行情、交易下单时使用