恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
A股量化数据工程:从 REST 接口到策略信号(第 10 篇):现金流量质量分析
首页
资讯中心
/
A股量化数据工程:从 REST 接口到策略信号(第 10 篇):现金流量质量分析
A股量化数据工程:从 REST 接口到策略信号(第 10 篇):现金流量质量分析
发布时间:2026/10/7 7:04:28
A股量化数据工程从 REST 接口到策略信号第 10 篇现金流量质量分析前言利润可以修饰现金流很难造假。经营现金流、现金净利比、现金负债比是判断公司「真造血」还是「纸面富贵」的试金石。接口hicw/xj给出这组现金质量指标本篇自研现金流质量因子并检测「利润有、现金无」的危险信号。一、接口原始字段梳理1现金流量接口接口地址https://api.biyingapi.com/hicw/xj/{LICENCE}字段说明dm股票代码mc股票名称xjlxxbl经营现金流比率xjlhbl现金回笼比xjljlrbl现金净利比xjlfzbl现金负债比xjllbl现金流比率y, q, yq年 / 季 / 年季标识二、自研衍生统计指标现金流质量分z(xjlxxbl) z(xjljlrbl) z(xjlfzbl)等权合成。造血不足检测xjlxxbl偏低 行业 25 分位但jlr净利润见第 7 篇偏高 → 标记「利润无现金支撑」。偿债现金覆盖xjlfzbl低说明经营现金流对债务覆盖弱与第 9 篇资产负债率交叉验证。字段为接口原始现金比率z-score 与合成规则为自研。三、数据表设计CREATETABLEIFNOTEXISTSfin_xj(dmTEXT,yqTEXT,xjlxxblREAL,xjlhblREAL,xjljlrblREAL,xjlfzblREAL,xjllblREAL,PRIMARYKEY(dm,yq));CREATETABLEIFNOTEXISTSfactor_cash(dmTEXT,yqTEXT,scoreREAL,weak_bloodINTEGER,PRIMARYKEY(dm,yq));四、完整代码importrequestsimportsqlite3importtime LICENCEYOUR_LICENCEBASEhttps://api.biyingapi.comDB_PATHquant.dbdefbiying_api_get_retry(url,timeout15,max_retry3):foriinrange(max_retry):try:rrequests.get(url,timeouttimeout)r.raise_for_status()returnr.json()exceptExceptionase:ifimax_retry-1:raisetime.sleep(1i)defzscore(vals):xs[vforvinvalsifvisnotNone]iflen(xs)2:return{}musum(xs)/len(xs)varsum((x-mu)**2forxinxs)/len(xs)sdvar**0.5or1return{v:round((v-mu)/sd,3)forvinxs}deffetch_xj():dbiying_api_get_retry(f{BASE}/hicw/xj/{LICENCE})returnd.get(data,[])ifisinstance(d,dict)else[]defbuild(rows):valid[rforrinrowsifNonenotin(r.get(xjlxxbl),r.get(xjljlrbl),r.get(xjlfzbl))]z1zscore([r[xjlxxbl]forrinvalid])z2zscore([r[xjljlrbl]forrinvalid])z3zscore([r[xjlfzbl]forrinvalid])out[]forrinvalid:scoreround(z1.get(r[xjlxxbl],0)z2.get(r[xjljlrbl],0)z3.get(r[xjlfzbl],0),3)# 经营现金流比率处于后25%分位且为正 - 造血偏弱标记weak1ifr[xjlxxbl]isnotNoneandr[xjlxxbl]0.05else0out.append((r[dm],r[yq],score,weak))returnoutif__name____main__:rowsfetch_xj()consqlite3.connect(DB_PATH)con.executemany(INSERT OR REPLACE INTO fin_xj(dm,yq,xjlxxbl,xjlhbl,xjljlrbl,xjlfzbl,xjllbl)VALUES(?,?,?,?,?,?,?),[[r.get(dm),r.get(yq),r.get(xjlxxbl),r.get(xjlhbl),r.get(xjljlrbl),r.get(xjlfzbl),r.get(xjllbl)]forrinrows])con.commit()facbuild(rows)con.executemany(INSERT OR REPLACE INTO factor_cash(dm,yq,score,weak_blood) VALUES(?,?,?,?),fac)con.commit();con.close()topsorted(fac,keylambdax:x[2],reverseTrue)[:5]print(现金流质量 Top5:)fordm,yq,s,weakintop:print(f{dm}质量分{s}{[造血偏弱]ifweakelse})五、关键业务说明现金比利润更难修饰xjljlrbl现金净利比长期 1 是警示信号需结合行业。比率口径统一所有xj*为接口原始比率跨公司比较用 z-score 而非绝对值。三表联动闭环盈利第 7 成长第 8 安全第 9 现金本篇四类因子构成完整财务画像。六、拓展练习把factor_cash与第 7 篇盈利因子 Join找「高盈利 低现金质量」的粉饰嫌疑池。用weak_blood1公司回看其后续hicw/yjkb快报是否下修仅统计演示。对xjlfzbl做行业分层识别各行业「现金覆盖安全线」。下篇预告A股量化数据工程从 REST 接口到策略信号第 11 篇业绩报表、预告与快报事件下一篇用hicw/yjbb/yjyg/yjkb/lr拉取业绩报表、预告、快报与利润细分自研「业绩超预期」与「预告向好」事件标记把财务静态因子升级成事件驱动。免责申明本篇全部代码、接口调用仅作为量化编程学习演示仅为数据演示不构成投资建议。市场有风险投资需谨慎。