A 股财务排雷:用数据找风险信号
排雷比选股更重要:有利润没现金、股东户数暴增、大额解禁 —— 这些信号都在公开数据里,四个接口就能查。本教程只讲怎么识别风险,不做任何推荐。
为什么先排雷,再谈其他
研究一只股票,先确认它没有明显的地雷,再谈成长与估值 —— 顺序反了,后面的分析都是白做。
下面四步全部基于公开财报与公告数据,用 API 就能跑。本教程不提供买卖建议,只教怎么把风险信号查出来。
第一步:三表勾稽(有利润,有没有现金?)
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` 参数控制期数)
- 应收账款增速 > 营收增速:可能在放宽信用换收入
第二步:股东户数(筹码在集中还是分散)
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 高位户数暴增,含义完全不同
第三步:事件面(解禁 / 减持 / 分红)
# 个股事件总览(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` 类字段一般是元;财务数据单位以返回字段为准
- 本教程不构成投资建议 → 只做风险信号识别
常见问题
都要。`/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 行分红记录)。披露节奏与单位以端点文档为准。