如何使用yahoo_fin库将Yahoo Finance的PE、PS、EV等基本面指标赋值给变量
赋值方法说明
yahoo_fin.stock_info.get_stats_valuation() 返回的是 Pandas DataFrame 结构,默认第一列为估值指标的官方名称,第二列为对应取值,你可以通过条件匹配提取指定指标赋值给变量,操作示例如下:
import yahoo_fin.stock_info as si # 获取指定股票的估值指标数据 valuation_df = si.get_stats_valuation("msft") # 重设列名方便后续取值 valuation_df.columns = ["指标名称", "指标数值"] # 提取对应指标并赋值给变量 # 提取滚动市盈率(TTM) pe_ratio = valuation_df.loc[valuation_df["指标名称"] == "Trailing P/E", "指标数值"].iloc[0] # 提取滚动市销率(TTM) ps_ratio = valuation_df.loc[valuation_df["指标名称"] == "Price/Sales (ttm)", "指标数值"].iloc[0] # 提取企业价值 ev = valuation_df.loc[valuation_df["指标名称"] == "Enterprise Value", "指标数值"].iloc[0]
- 如果你需要查看当前接口返回的所有可用估值指标名称,执行
print(valuation_df["指标名称"].tolist())即可,根据输出的指标名调整代码中的匹配字符串就能提取其他指标 - 部分返回结果会带有数量单位(如B代表十亿、M代表百万),如果需要纯数值计算,可以额外增加一步单位转换逻辑处理即可
内容的提问来源于stack exchange,提问作者Vidushi
相关产品推荐
相关产品推荐

