使用yahoo_fin获取公司现金流数据时Free Cash Flow字段缺失问题咨询
问题成因
- 雅虎财经前端展示的Free Cash Flow属于平台基于原始财报数据自行计算的衍生指标,并非上市企业提交的原始财报自带字段。yahoo_fin、yfinance等第三方库默认仅抓取雅虎官方API返回的原始财报字段,因此不会直接返回该衍生行数据。
- 少部分曾支持自动返回Free Cash Flow的库版本,也会因为雅虎不定期调整API返回的字段名、字段映射规则,导致原有衍生指标计算逻辑失效,出现返回空值的情况。
可行修复方案
- 最稳妥的方式是自行基于已获取的原始现金流字段计算Free Cash Flow,通用计算逻辑为 Free Cash Flow = 经营活动产生的现金流量净额 - 资本支出,对应你拿到的现金流DataFrame中的行名通常为
Operating Cash Flow(经营活动现金流)和Capital Expenditure(资本支出),参考代码如下:
# 基于你已获取的cf变量完成计算 operating_cf = cf.loc["Operating Cash Flow"] # 资本支出在财报中一般记为负数(现金流出),此处取绝对值计算 capital_exp = cf.loc["Capital Expenditure"].abs() # 将计算结果作为新行插入DataFrame cf.loc["Free Cash Flow"] = operating_cf - capital_exp
计算完成后即可得到和雅虎官网展示数值基本一致的Free Cash Flow数据。
- 如果需要和雅虎官网数值完全对齐,可自行核对雅虎平台公开的该指标计算规则,在通用公式基础上调整扣减项即可,比如部分行业的计算会额外扣除非经常性现金收入、优先股股息等项。
内容的提问来源于stack exchange,提问作者Jorisdrees
相关产品推荐
相关产品推荐

