获取大A股股票和指数历史K线数据(默认前复权),支持自动切换数据源并获取当天涨跌幅。
stock-kline Skill是一项面向实际任务的技能,主要用于获取A股股票和指数历史K线数据;支持自动切换数据源,默认使用前复权数据;
首选,数据准确;新浪财经API;❌ 不支持;降级备用,仅未复权;自动切换逻辑;⚠️ 重要 : 新浪API不支持复权,除权日会有跳空;强烈建议安装AKShare;1. 获取股。
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
获取A股股票和指数历史K线数据。支持自动切换数据源,默认使用前复权数据。
from skills.stock_kline.kline import get_stock_history, get_today_change
# 获取股票K线 (前复权,自动切换数据源)
data = get_stock_history("600519.SH", days=100)
# 获取当天涨跌幅
result = get_today_change("600519.SH")
# 返回: {open, close, high, low, change, change_pct, volume}
| 优先级 | 数据源 | 复权支持 | 说明 |
|---|---|---|---|
| 1️⃣ | AKShare | ✅ 前复权/后复权 | 首选,数据准确 |
| 2️⃣ | 新浪财经API | ❌ 不支持 | 降级备用,仅未复权 |
get_stock_history(code, adjust="qfq")
│
├─→ AKShare (前复权) ✅
│ 成功 → 返回复权数据
│ 失败 → 继续
│
└─→ 新浪API (未复权) ⚠️
成功 → 返回未复权数据
失败 → 返回空列表
⚠️ 重要: 新浪API不支持复权,除权日会有跳空。强烈建议安装AKShare。
pip install akshare pandas
from skills.stock_kline.kline import get_stock_history
# 前复权数据 (默认,解决除权问题)
data = get_stock_history("600519.SH", days=100)
# 后复权
data = get_stock_history("600519.SH", days=100, adjust="hfq")
# 不复权 (原始价格)
data = get_stock_history("600519.SH", days=100, adjust="")
from skills.stock_kline.kline import get_today_change
result = get_today_change("600519.SH")
# 返回:
# {
# "open": 1440.0, # 开盘价
# "close": 1453.1, # 当前价格
# "high": 1460.0, # 最高
# "low": 1430.0, # 最低
# "change": 13.1, # 涨跌额
# "change_pct": 0.91, # 涨跌幅%
# "volume": 1000000 # 成交量
# }
from skills.stock_kline.kline import get_accurate_change
# 计算2026-03-13相比2026-03-12的涨幅
result = get_accurate_change("600519.SH", "2026-03-13", "2026-03-12")
# 返回: {target_price: 1413.64, prev_price: 1392.0, change_pct: 1.55}
from skills.stock_kline.kline import get_index_history
# 上证指数
data = get_index_history("000001.SH", 100)
# 深证成指
data = get_index_history("399001.SZ")
# 创业板指
data = get_index_history("399006.SZ")
# 沪深300
data = get_index_history("000300.SH")
| 类型 | 格式 | 示例 |
|---|---|---|
| 上证股票 | 600519.SH | 贵州茅台 |
| 深证股票 | 300750.SZ | 宁德时代 |
| 创业板 | 300001.SZ | 创业板股票 |
| 上证指数 | 000001.SH | 上证指数 |
| 深证指数 | 399001.SZ | 深证成指 |
股票除权除息后,股价会下跌。如果不复权 Historical 价格会出现跳空。
| 复权类型 | 说明 | 适用场景 |
|---|---|---|
| 前复权 (qfq) | 历史价格按最新价格调整 | ✅ 推荐用于计算涨幅 |
| 后复权 (hfq) | 最新价格按历史价格调整 | 长期持有收益计算 |
| 不复权 | 原始价格 | 不推荐,有跳空 |
⚠️ 使用前复权数据计算涨幅可以消除除权除息导致的跳空,得到真实收益率。
| 函数 | 说明 | 返回格式 |
|---|---|---|
get_stock_history(code, days, adjust) |
获取股票K线 | List[Dict] |
get_today_change(code) |
获取当天涨跌幅 | Dict |
get_accurate_change(code, date1, date2, adjust) |
计算两日间涨幅 | Dict |
get_index_history(code, days) |
获取指数K线 | List[Dict] |
calc_change_rate(old, new) |
计算涨跌幅% | Float |
build_price_map(kline_data) |
构建价格映射 | Dict |
from skills.stock_kline.kline import (
get_stock_history,
get_today_change,
get_accurate_change,
calc_change_rate
)
# 示例:贵州茅台
# 1. 获取实时行情
quote = get_today_change("600519.SH")
print(f"当前价格: {quote['close']}, 涨跌幅: {quote['change_pct']}%")
# 2. 获取历史K线 (前复权)
kline = get_stock_history("600519.SH", days=20)
print(f"最近20天数据: {len(kline)}条")
# 3. 计算指定日期涨幅
result = get_accurate_change("600519.SH", "2026-03-13", "2026-03-12")
print(f"涨幅: {result['change_pct']}%")
# 4. 手动计算涨幅
if len(kline) >= 2:
today = float(kline[0]['close'])
yesterday = float(kline[1]['close'])
change = calc_change_rate(yesterday, today)
print(f"今日涨幅: {change}%")
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章