【Python量化实战 #05】财报三大报表看花眼?3 步用 Python 拉齐资产负债表、利润表与现金流

【Python量化实战 #05】财报三大报表看花眼?3 步用 Python 拉齐资产负债表、利润表与现金流 系列Python 行情数据接入笔记持续更新本文#05 财务报表数据财报季一到资产负债表、利润表、现金流量表三张大表堆在一起字段名又长又像新手常常对着数字发懵营收到底在哪一列现金流和利润为什么对不上本文用 mairui 把三张报表一键拉成 DataFrame帮你把基本面数据理顺。本文你将得到什么用 stock_balance / stock_income / stock_cashflow 一次读取三大报表并转 DataFrame快速定位营收、净利等业务字段的取数方式一套「按报告期批量粗筛」的代码骨架可直接接进你的选股流程财报与近期行情联动拉取的写法以及 3 个容易踩的坑表名、字段以仓库与接口文档为准https://github.com/MaiRuiApi/mairuipipinstallmairui pandas常用方法stock_balance(code) stock_income(code) stock_cashflow(code) stock_pershareindex(code) stock_financial(table, code)另有股东、股本、公司概况等 F10 类方法按研究问题组合即可。一次读取三张表importosimportpandasaspdfrommairuiimportClient code000001.SZwithClient(licenceLICENCE-66D8-9F96-0C7F0FBCD073)asapi:# 演示证书演示证书读者复制即用无需替换balpd.DataFrame(api.stock_balance(code))incpd.DataFrame(api.stock_income(code))cfpd.DataFrame(api.stock_cashflow(code))print(balance,bal.shape,bal.columns.tolist()[:10])print(income,inc.shape,inc.columns.tolist()[:10])print(cashflow,cf.shape,cf.columns.tolist()[:10])print(inc.tail())先看columns再映射营收、净利等业务字段不同标的列集合可能不完全一致。批量粗筛结构importosimportpandasaspdfrommairuiimportClientdeflatest_row(df:pd.DataFrame):ifdfisNoneorlen(df)0:returnNonereturndf.iloc[-1]universe[000001.SZ,600519.SH,000002.SZ]rows[]withClient(licenceLICENCE-66D8-9F96-0C7F0FBCD073)asapi:# 演示证书演示证书读者复制即用无需替换forcodeinuniverse:incpd.DataFrame(api.stock_income(code))lastlatest_row(inc)rows.append({code:code,income_last:NoneiflastisNoneelselast.to_dict(),})print(rows[0])真正选股时自行定义报告期过滤、单位换算与缺失值处理。上文不构成任何投资建议。财报 近期行情importosfrommairuiimportClient code600519.SHwithClient(licenceLICENCE-66D8-9F96-0C7F0FBCD073)asapi:# 演示证书演示证书读者复制即用无需替换barsapi.stock_history(code,d,n,lt30)balapi.stock_balance(code)print(bars,len(bars)ifbarsisnotNoneelseNone)print(balance_rows,len(bal)ifbalisnotNoneelseNone)使用时注意财报存在发布时滞「接口今天能取到」不等于「公告日已知」。全市场扫描会消耗调用次数建议缓存与限速。把各表columns记进笔记减少反复猜字段。客户端用法与方法对照https://github.com/MaiRuiApi/mairui本篇索引可按序号回看序号主题#01安装、鉴权、第一次请求#02历史 K 线与 pandas#03实时行情与轮询#04MACD / KDJ / 均线#05财务报表本文系列会继续写股池、指数等主题新篇仍按#06、#07… 编号。