A股数据查询技能。当用户询问中国A股股价、行情、K线、财务数据、实时行情、历史数据、涨停板、选股分析时使用。支持股票代码查询(如000001、600000)、股票名称查询。
A股数据查询技能
功能概述
A股数据查询技能是一项面向实际任务的技能,主要用于基于 AkShare 提供完整的 A 股数据查询能力,支持实时行情、历史K线、财务数据、技术指标分析和选股策略;✅ 自动触发,当用户说:;
核心要点
- "股价"、"股票行情"、"涨停板"、"涨跌幅";
- "K线"、"历史数据"、"分时图";
- "财务数据"、"财报"、"市盈率";
使用与执行
"A股"、"上证"、"深证";"茅台股价"、"腾讯控股"(股票名称);"000001"、"600000"(股票。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
结果检查与注意事项
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
A股数据查询技能
基于 AkShare 提供完整的 A 股数据查询能力,支持实时行情、历史K线、财务数据、技术指标分析和选股策略。
使用场景
✅ 自动触发,当用户说:
- "股价"、"股票行情"、"涨停板"、"涨跌幅"
- "K线"、"历史数据"、"分时图"
- "财务数据"、"财报"、"市盈率"
- "A股"、"上证"、"深证"
- "茅台股价"、"腾讯控股"(股票名称)
- "000001"、"600000"(股票代码)
- "MACD金叉"、"RSI超卖"、"均线多头发"
数据源
- AkShare: 免费开源财经数据接口,覆盖 A股、港股、美股、基金、期货、宏观经济
快速命令
实时行情数据
沪深京 A 股全部
import akshare as ak # 方式1:东方财富实时行情(推荐,更快) stock_zh_a_spot_em_df = ak.stock_zh_a_spot_em() # 方式2:新浪财经实时行情 stock_zh_a_spot_df = ak.stock_zh_a_spot()
沪 A 股
# 沪 A 股实时行情 stock_sh_a_spot_em_df = ak.stock_sh_a_spot_em()
深 A
# 深 A 股实时行情 stock_sz_a_spot_em_df = ak.stock_sz_a_spot_em()
北交所
# 北交所实时行情 stock_bj_a_spot_em_df = ak.stock_bj_a_spot_em()
新股
# 新股实时行情 stock_new_a_spot_em_df = ak.stock_new_a_spot_em()
创业板
# 创业板实时行情 stock_cy_a_spot_em_df = ak.stock_cy_a_spot_em()
科创板
# 科创板实时行情 stock_kc_a_spot_em_df = ak.stock_kc_a_spot_em()
历史 K线
日 K线
# 东方财富接口(推荐)
stock_zh_a_hist_df = ak.stock_zh_a_hist(
symbol="000001",
period="daily", # daily/weekly/monthly
start_date="20240101",
end_date="20240331",
adjust="qfq" # qfq前复权/hfq后复权/""不复权
)
# 新浪财经接口
stock_zh_a_hist_df = ak.stock_zh_a_hist(
symbol="sz000001",
start_date="19910403",
end_date="20210327"
)
周 K线
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="weekly")
月 K线
stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="monthly")
股票信息
获取所有股票代码和名称
stock_info_a_code_name_df = ak.stock_info_a_code_name()
个股详细信息
# 东方财富 stock_individual_info_em_df = ak.stock_individual_info_em(symbol="茅台") # 雪球 stock_individual_basic_info_xq_df = ak.stock_individual_basic_info_xq(symbol="SH600519") # 雪球历史K线 stock_individual_spot_xq_df = ak.stock_individual_spot_xq(symbol="SH600519")
财务数据
财务指标
stock_financial_analysis_indicator_df = ak.stock_financial_analysis_indicator(
stock="600519",
symbol="财务指标"
)
资产负债表
stock_balance_sheet_by_yearly_em_df = ak.stock_balance_sheet_by_yearly_em(symbol="600519")
利润表
stock_profit_sheet_by_reportly_em_df = ak.stock_profit_sheet_by_reportly_em(symbol="600519")
现金流量表
stock_cash_flow_sheet_by_reportly_em_df = ak.stock_cash_flow_sheet_by_reportly_em(symbol="600519")
市场数据
指数历史
# 上证指数
index_zh_a_hist_df = ak.index_zh_a_hist(
symbol="sh000001",
period="daily"
)
# 深证指数
index_sz_a_hist_df = ak.index_sz_a_hist(
symbol="sz399001",
period="daily"
)
资金流向与龙虎榜
龙虎榜-营业部
stock_individual_em_xq_df = ak.stock_individual_em_xq(symbol="SH600519")
龙虎榜-统计
# 需要东财账号 # stock_user_individual_info_em() # stock_user_statistics_em()
板块数据
强势股池
stock_pool_em_df = ak.stock_pool_em()
涨停股池
stock_pool_em_df = ak.stock_pool_em()
股票市场总貌
上交所
stock_sse_summary_df = ak.stock_sse_summary()
深交所
# 证券类别统计 stock_szse_summary_df = ak.stock_szse_summary(date="20250619") # 地区交易排序 stock_szse_area_summary_df = ak.stock_szse_area_summary(date="20250619")
返回格式
实时行情字段
| 字段 | 说明 |
|---|---|
| 代码 | 股票代码 |
| 名称 | 股票名称 |
| 最新价 | 当前价格 |
| 涨跌幅 | 百分比 |
| 涨跌额 | 绝对值 |
| 成交量(手) | 成交量 |
| 成交额 | 成交金额 |
| 昨收 | 昨日收盘价 |
| 今开 | 今日开盘价 |
| 最高 | 今日最高价 |
| 最低 | 今日最低价 |
| 振幅 | 波动幅度 |
| 换手率 | 换手率 |
| 市盈率-动态 | 动态市盈率 |
| 总市值 | 总市值 |
| 流通市值 | 流通市值 |
K线字段
| 字段 | 说明 |
|---|---|
| 日期 | 交易日期 |
| 开盘 | 开盘价 |
| 收盘 | 收盘价 |
| 最高 | 最高价 |
| 最低 | 最低价 |
| 成交量 | 成交量 |
| 成交额 | 成交金额 |
| 振幅 | 振幅 |
| 涨跌幅 | 涨跌幅度 |
| 涨跌额 | 涨跌额 |
| 换手率 | 换手率 |
技术指标分析
安装依赖
pip install ta-lib
常用指标
均线系统(MA)
import talib import numpy as np close = np.array(df['收盘'], dtype=float) df['MA5'] = talib.MA(close, timeperiod=5) df['MA10'] = talib.MA(close, timeperiod=10) df['MA20'] = talib.MA(close, timeperiod=20) df['MA60'] = talib.MA(close, timeperiod=60)
MACD 指标
macd, signal, hist = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9) df['MACD'] = macd df['MACD_SIGNAL'] = signal df['MACD_HIST'] = hist
RSI 指标
df['RSI_6'] = talib.RSI(close, timeperiod=6) df['RSI_12'] = talib.RSI(close, timeperiod=12) df['RSI_24'] = talib.RSI(close, timeperiod=24)
KDJ 指标
high = np.array(df['最高'], dtype=float) low = np.array(df['最低'], dtype=float) k, d = talib.STOCH(high, low, close, fastk_period=9, slowk_period=3, slowd_period=3) df['KDJ_K'] = k df['KDJ_D'] = d df['KDJ_J'] = 3 * k - 2 * d
布林带(BOLL)
upper, middle, lower = talib.BBANDS(close, timeperiod=20, nbdevup=2, nbdevdn=2) df['BOLL_UPPER'] = upper df['BOLL_MIDDLE'] = middle df['BOLL_LOWER'] = lower
成交量指标
volume = np.array(df['成交量'], dtype=float) df['VOL_MA5'] = talib.MA(volume, timeperiod=5) df['VOL_MA10'] = talib.MA(volume, timeperiod=10) df['VOL_RATIO'] = df['成交量'] / df['VOL_MA5']
选股策略
策略 1:均线金叉
# MA5 上穿 MA20 df['SIGNAL_MA_GOLD'] = (df['MA5'] > df['MA20']) & (df['MA5'].shift(1) <= df['MA20'].shift(1)) signals = df[df['SIGNAL_MA_GOLD'] == True]
策略 2:MACD 金叉
# MACD 上穿 Signal
df['SIGNAL_MACD_GOLD'] = (df['MACD'] > df['MACD_SIGNAL']) &
(df['MACD'].shift(1) <= df['MACD_SIGNAL'].shift(1))
signals = df[df['SIGNAL_MACD_GOLD'] == True]
策略 3:RSI 超卖
# RSI < 30 超卖 df['SIGNAL_RSI_OVERSOLD'] = df['RSI_6'] < 30 signals = df[df['SIGNAL_RSI_OVERSOLD'] == True]
策略 4:布林带突破
# 价格突破上轨 df['SIGNAL_BOLL_BREAK'] = df['收盘'] > df['BOLL_UPPER'] signals = df[df['SIGNAL_BOLL_BREAK'] == True]
策略 5:综合多因子
# 多条件选股
df['SIGNAL_MULTI'] = (
(df['MA5'] > df['MA20']) & # 趋势向上
(df['RSI_6'] > 50) & # 不超卖
(df['MACD'] > df['MACD_SIGNAL']) & # MACD 金叉
(df['VOL_RATIO'] > 1.5) # 放量
)
signals = df[df['SIGNAL_MULTI'] == True]
批量选股流程
import akshare as ak
import talib
import pandas as pd
# 1. 获取所有 A 股列表
stock_list = ak.stock_zh_a_spot_em()
# 2. 遍历计算指标
results = []
for index, row in stock_list.iterrows():
code = row['代码']
name = row['名称']
# 获取历史数据
df = ak.stock_zh_a_hist(symbol=code, period="daily")
if df.empty:
continue
# 计算技术指标
close = np.array(df['收盘'], dtype=float)
# 均线
ma5 = talib.MA(close, timeperiod=5)[-1]
ma20 = talib.MA(close, timeperiod=20)[-1]
# RSI
rsi6 = talib.RSI(close, timeperiod=6)[-1]
# MACD
macd, signal, _ = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
macd_val = macd[-1]
signal_val = signal[-1]
# 判断选股条件(示例:均线多头 + RSI 不超卖 + MACD 金叉)
if ma5 > ma20 and rsi6 > 50 and macd_val > signal_val:
results.append({
'代码': code,
'名称': name,
'现价': row['最新价'],
'MA5': ma5,
'MA20': ma20,
'RSI': rsi6,
'MACD': macd_val,
'涨跌幅': row['涨跌幅']
})
# 3. 输出结果
result_df = pd.DataFrame(results)
print(result_df.sort_values('涨跌幅', ascending=False))
涨停板查询
import akshare as ak
# 获取实时行情
df = ak.stock_zh_a_spot_em()
# 筛选涨停板(涨跌幅 >= 9.9%)
df_zt = df[df['涨跌幅'] >= 9.9].sort_values('涨跌幅', ascending=False)
# 筛选跌停板(涨跌幅 <= -9.9%)
df_dt = df[df['涨跌幅'] <= -9.9].sort_values('涨跌幅', ascending=True)
print(f"涨停板数量: {len(df_zt)}")
print(f"跌停板数量: {len(df_dt)}")
print(df_zt[['代码','名称','最新价','涨跌幅','成交额']].head(20))
复权说明
股票数据复权类型:
| 类型 | 说明 | 适用场景 |
|---|---|---|
| 不复权("") | 原始价格 | 查看历史走势 |
| 前复权(qfq) | 历史价格调整,当前价格不变 | 看盘、技术分析 |
| 后复权(hfq) | 当前价格不变,历史价格调整 | 收益率计算 |
股票代码规则
| 市场 | 代码格式 | 示例 |
|---|---|---|
| 上交所 | 6xxxxx | 600000, 601318 |
| 深交所 | 0xxxxx | 000001, 300059 |
| 北交所 | 8xxxxx | 8xxxxx |
使用示例
查询个股实时行情
用户:查询贵州茅台的股价 响应:使用 stock_zh_a_spot_em() 查询 600519
查询历史 K线
用户:获取平安银行最近 30 天的 K线 响应:使用 stock_zh_a_hist() 查询 000001,指定日期范围
查询涨停板
用户:今天有哪些股票涨停 响应:使用 stock_zh_a_spot_em() 筛选涨跌幅 >= 9.9%
查询财务数据
用户:腾讯的市盈率是多少 响应:使用 stock_financial_analysis_indicator() 查询
技术分析选股
用户:帮我找出 MA5 上穿 MA20 的股票 响应:计算均线指标,筛选金叉信号 用户:RSI 超卖的有哪些 响应:计算 RSI,筛选 RSI < 30 用户:MACD 金叉且放量的股票 响应:计算 MACD 和成交量,综合筛选 用户:多因子选股:趋势向上 + MACD 金叉 + RSI>50 响应:多条件综合筛选
错误处理
常见错误及处理:
| 错误类型 | 可能原因 | 解决方法 |
|---|---|---|
| KeyError | 股票代码不存在或输入错误 | 检查代码并重试 |
| TimeoutError | 网络超时 | 重试或检查连接 |
| EmptyDataError | 当天无数据(非交易日) | 确认是否交易日 |
注意事项
- 频率限制: 避免频繁请求,建议缓存结果
- 数据延迟: 实时数据可能有 1-5 分钟延迟
- 复权处理: 查询历史数据时注意复权方式选择
- 代码规范: 6 位数字代码,补齐前导 0(如 1 → 000001)
支持的数据范围
- ✅ A 股实时行情(沪深京、沪深北、沪深深)
- ✅ B 股实时行情
- ✅ 港股实时行情
- ✅ 美股实时行情
- ✅ 创业板、科创板、新股
- ✅ 历史 K线数据(日、周、月)
- ✅ 财务数据(资产负债表、利润表、现金流量表)
- ✅ 技术指标分析(MA、MACD、RSI、KDJ、BOLL)
- ✅ 龙虎榜、资金流向
- ✅ 板块数据、概念股
- ✅ 指数数据
- ✅ 市场总貌统计
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章