运行时依赖
安装命令
点击复制技能文档
A股金融数据整合技能(终极版) 融合自: astock-financial-data-guide / akshare-financial-data-traps / A股行情与财务数据读取经验手册 最后融合日期: 2026-05-18
目录 数据源总览与选择策略 推荐数据源组合 & 降级链 登录模式对照 Baostock 接口详解 Akshare 接口详解 废弃/不可用接口一览 研发费用查询专项指南 公司注册属地查询 股票代码格式处理 核心工具函数 单位转换速查 缓存策略 错误处理与重试 数据源降级策略 最佳实践模板 完整踩坑记录 附录:各接口列名速查
- 数据源总览与选择策略
1.2 数据源能力速查矩阵 功能场景 推荐数据源(优先级) 备注 K线行情 Baostock(主) → 东方财富(备) → 通达信(备) Baostock稳定免费 财务摘要 同花顺财务摘要(主) → 新浪财务指标(备) 同花顺带单位标注 利润表(含研发费) 同花顺利润表(主) → 新浪利润表(备) 同花顺带单位,新浪纯数字(元) 研发费用 同花顺利润表(主) → 新浪利润表(备) → 四级降级策略 ⚠️见第7章 分红数据 巨潮分红(主) → Baostock(备) 巨潮"每10股",Baostock"元/股" 行业分类 Baostock(主) → 东方财富(备,可能不可达) Baostock含industry和province 公司注册属地 巨潮公司概况(主) stock_profile_cninfo 实时行情 东方财富全市场实时行情(备) 新浪实时行情替代方案 技术指标计算 Baostock K线 + Numba加速 数据量大时用磁盘缓存
1.3 踩坑优先级通道 Level 1: 同花顺数据源(首选) → parse_amount/parse_percent Level 2: 新浪数据源(备用) → safe_float + ÷1亿调单位 Level 3: Baostock(兜底) → safe_float + convert_share Level 4: 东方财富(降级) → ⚠️当前服务器不可达
- 推荐数据源组合 & 降级链
2.2 降级链速查 目标数据 降级链 研发费用 同花顺利润表"研发费用" → 新浪利润表"研发费用" → 同花顺备用列名 → 新浪备用列名 净利润 同花顺利润表 → 新浪利润表 → Baostock profit 营收 同花顺利润表 → 新浪利润表 → Baostock profit 分红 巨潮分红 → Baostock dividend 行业 Baostock industry → 东方财富(可能不可达) 注册地 巨潮 profile_cninfo → (无备用)
- 登录模式对照
- Baostock 接口详解
4.2 K线数据 # 日线 rs = bs.query_history_k_data_plus( code="sh.600000", # baostock格式: sh.600000 / sz.000001 / bj.430047 fields="date,close,open,high,low,volume,amount,turn", start_date="2025-01-01", end_date="2025-12-31", frequency="d", # d=日线, w=周线, m=月线 adjustflag="3" # 1=后复权, 2=前复权, 3=不复权 ) # 60分钟线 rs = bs.query_history_k_data_plus( code="sh.600000", fields="date,time,close,open,high,low,volume,amount", start_date="2025-01-01", end_date="2025-12-31", frequency="60", # 5/15/30/60分钟 adjustflag="3" ) # 遍历结果 def bs_query_to_df(rs): """将baostock ResultData转为DataFrame""" rows = [] while (rs.error_code == '0') and rs.next(): rows.append(rs.get_row_data()) if not rows: return None import pandas as pd return pd.DataFrame(rows, columns=rs.fields) ⚠️ 踩坑: K线返回的 close/volume 等字段都是字符串类型, 需手动转float 60分钟线需 fields 含 time 字段 adjustflag="3" 不复权时, 价格为原始价格
4.3 财务数据(五大季报) # 盈利数据 rs = bs.query_profit_data(code="sh.600000", year=2024, quarter=4) # 关键字段: totalShare, liqaShare, epsTTM, gpMargin, netProfit, roeAvg, roeDiluted # 成长数据 rs = bs.query_growth_data(code="sh.600000", year=2024, quarter=4) # 关键字段: YOYEquity, YOYAsset, YOYNI, YOYEPSBasic, YOYPNI, YOYOR, YOYGR # 运营数据 rs = bs.query_operation_data(code="sh.600000", year=2024, quarter=4) # 关键字段: NetProfitGrowRate, OperatingProfitGrowRate, TotalRevenueGrowRate # 现金流数据 rs = bs.query_cash_flow_data(code="sh.600000", year=2024, quarter=4) # 关键字段: CAToAsset, NCAToAsset, CFOToOR # 资产负债数据 rs = bs.query_balance_data(code="sh.600000", year=2024, quarter=4) # 关键字段: totalAssets, totalLiab, totalEquity, currentAssets, currentLiab ⚠️ 踩坑: totalShare单位不确定: 实测