市盈率(P/E Ratio)是最常用的估值指标之一,反映投资者愿意为每单位盈利支付的价格。用 Python 的 yfinance 库可以很方便地获取这个数据。


第一步:安装和导入

先安装 yfinance

pip install yfinance

导入库:

import yfinance as yf

第二步:获取股票数据

通过 Ticker 对象获取股票数据,里面包含各种财务统计指标:

# 创建 Ticker 对象
stock = yf.Ticker("AAPL")  # 以 Apple 为例

Ticker 对象包含历史数据、公司信息和关键统计指标。


第三步:提取市盈率

市盈率在 info 属性中:

# 获取股票信息
info = stock.info

# 提取远期市盈率
pe_ratio = info.get("forwardPE")

print(f"AAPL 的远期市盈率: {pe_ratio}")

info 中的关键字段

  • forwardPE:远期市盈率,基于预测盈利计算。
  • trailingPE:滚动市盈率,基于过去 12 个月的实际盈利。

根据需要选择:

# 提取滚动市盈率
trailing_pe = info.get("trailingPE")
print(f"AAPL 的滚动市盈率: {trailing_pe}")

第四步:批量获取多只股票的市盈率

用循环批量处理:

# 股票代码列表
tickers = ["AAPL", "MSFT", "GOOGL"]

for ticker in tickers:
    stock = yf.Ticker(ticker)
    info = stock.info
    forward_pe = info.get("forwardPE")
    trailing_pe = info.get("trailingPE")
    print(f"{ticker}: 远期 P/E = {forward_pe}, 滚动 P/E = {trailing_pe}")

第五步:处理缺失数据

有些股票可能没有市盈率数据,返回 None,需要做好异常处理:

if forward_pe is None:
    print(f"{ticker}: 远期市盈率数据不可用")
else:
    print(f"{ticker}: 远期 P/E = {forward_pe}")

yfinance 获取市盈率和其他财务指标非常简单直接,无论是分析单只股票还是整个投资组合都能轻松应对。