以下给出A股常用估值指标“PE-TTM”的Python源码示例,可直接用于本地量化回测或选股脚本。核心思路:用tushare拉取行情与财务数据,计算滚动12个月净利润并剔除负值,最后输出PE-TTM。
```python
import tushare as ts, pandas as pd, datetime as dt
ts.set_token('你的token')
pro = ts.pro_api()
def pe_ttm(ts_code, trade_date):
# 1. 取最近4个季度财报
end = pd.to_datetime(trade_date)
q4 = [end - pd.offsets.QuarterEnd(i) for i in range(4)]
q_dates = [q.strftime('%Y%m%d') for q in q4]
profit = pro.income(ts_code=ts_code, period=q_dates[0], fields='n_income_attr_p')['n_income_attr_p'].iloc[0]
for qd in q_dates[1:]:
try:
profit += pro.income(ts_code=ts_code, period=qd, fields='n_income_attr_p')['n_income_attr_p'].iloc[0]
except:
profit += 0
if profit <= 0: return None
# 2. 取当日总市值
mv = pro.daily_basic(ts_code=ts_code, trade_date=trade_date, fields='total_mv')['total_mv'].iloc[0]
return round(mv*10000/profit, 2)
# 示例:2024-05-31贵州茅台PE-TTM
print(pe_ttm('600519.SH', '20240531'))
```
如需PB、PS、EV/EBITDA等指标,只需把`n_income_attr_p`替换为对应财务字段即可。
以上内容来自网络,仅供参考,如需专业人工服务请点击头像查看加V咨询。
发布于2025-9-1 02:10 盘锦
当前我在线
直接联系我