教程

A 股财务排雷:用数据找风险信号

排雷比选股更重要:有利润没现金、股东户数暴增、大额解禁 —— 这些信号都在公开数据里,四个接口就能查。本教程只讲怎么识别风险,不做任何推荐。

为什么先排雷,再谈其他

研究一只股票,先确认它没有明显的地雷,再谈成长与估值 —— 顺序反了,后面的分析都是白做。

下面四步全部基于公开财报与公告数据,用 API 就能跑。本教程不提供买卖建议,只教怎么把风险信号查出来。

第一步:三表勾稽(有利润,有没有现金?)

Python(需要 Key)
import requests

KEY = "ct-你的Key"
H = {"Authorization": "Bearer " + KEY}

r = requests.get("https://api.ashareapi.com/v1/finance",
                 headers=H, params={"code": "sh600667"}, timeout=20)
tabs = r.json()["data"]            # 三张表:利润表 / 资产负债表 / 现金流量表
names = ["利润表", "资产负债表", "现金流量表"]
for name, tab in zip(names, tabs):
    latest = tab[0]                # 期次降序 → 首行是最新一期
    print(name, latest["EndDate"], latest.get("OperatingRevenue"))
  • 看什么:净利润 vs 经营活动现金流净额 —— 长期背离(净利高、现金流常年为负)是典型信号
  • 看多期:单期可能受季节性影响,至少看 4-8 期(`num` 参数控制期数)
  • 应收账款增速 > 营收增速:可能在放宽信用换收入

第二步:股东户数(筹码在集中还是分散)

Python
r = requests.get("https://api.ashareapi.com/v1/shareholder",
                 headers=H, params={"code": "sh600667"}, timeout=20)
print(r.json().get("structured") or r.json()["data"])
# 返回:十大股东 / 股东户数(含变化率)/ 机构持仓
  • 户数增加 = 筹码分散(散户变多,通常是高位换手或机构派发)
  • 户数减少 = 筹码集中(可能是机构吸筹,也可能是流动性变差)
  • 关键是与股价位置一起看:低位户数减少 vs 高位户数暴增,含义完全不同

第三步:事件面(解禁 / 减持 / 分红)

Python
# 个股事件总览(42 类:解禁 / 回购 / 定增 / 分红 / 业绩 …)
r = requests.get("https://api.ashareapi.com/v1/events",
                 headers=H, params={"code": "sh600667"}, timeout=20)
print(r.json().get("structured") or r.json()["data"])

# 分红送转历史(连续分红能力)
r = requests.get("https://api.ashareapi.com/v1/dividend",
                 headers=H, params={"code": "sh600667"}, timeout=20)
print(r.json().get("structured") or r.json()["data"])
  • 大额解禁:解禁市值占流通盘比例越高,潜在抛压越大
  • 分红连续性:多年稳定分红 ≠ 好公司,但突然中断是需要问原因的信号
  • 事件只是事实:解禁不等于一定减持,要看公告与实际动作

四步排雷清单

四项全红灯与只有一项红灯是完全不同的量级。排雷的意义是排除极端情况,不是给股票打分。

① 勾稽
净利润 vs 经营现金流
长期背离(有利润没现金)
② 筹码
股东户数变化
高位户数暴增(筹码分散)
③ 事件
解禁 / 减持 / 定增
大额解禁临近 + 股价高位
④ 分红
分红连续性
多年分红突然中断

常见错误与边界

  • 把"现金流为负"直接当造假 → 扩张期公司现金流为负是正常的,要看是否与营收/资本开支匹配
  • 用单季数据下结论 → 必须多期对比(季节性、一次性损益)
  • 忽略口径 → 财务数据按报告期披露,未到披露日就没有新数据(不是接口问题)
  • 金额单位 → `amount` 类字段一般是元;财务数据单位以返回字段为准
  • 本教程不构成投资建议 → 只做风险信号识别

常见问题

这些接口要 Key 吗?

都要。`/v1/finance`、`/v1/shareholder`、`/v1/events`、`/v1/dividend` 都是付费端点;免费的是行情 / K线 / 热搜 / 市场总览 / 涨跌分布。

为什么最新一期财报查不到?

财务数据按披露时间更新,不是实时。如果该公司还没到披露日,接口就不会有这一期 —— 这是披露节奏,不是接口问题。可以用 `/v1/calendar` 查财报披露排期。

股东户数多久更新一次?

股东户数通常在定期报告(季报 / 半年报 / 年报)中披露,因此更新频率是季度级。看到"最新数据"时先确认它的报告期。

经营现金流为负就一定是雷吗?

不是。 成长期公司大量投入(存货 / 应收 / 资本开支)时现金流可能为负。要结合营收增速、应收增速、资本开支一起看,判断是"扩张"还是"收不回钱"。

有这些数据就能避开所有雷吗?

不能。 公开数据只能识别公开信号(勾稽异常 / 解禁 / 户数变化)。造假、突发经营事故等无法靠数据完全预判。排雷的作用是排除明显异常,不是保证安全。

最后更新: 2026-09-23

代码与字段取自线上真实返回(2026-09-25 验证:finance 返回三张表、期次降序、最新一期为 2026-06-30;shareholder 返回 10 行含户数;events 返回 25 类事件;dividend 返回 3 行分红记录)。披露节奏与单位以端点文档为准。