Stock Batting Zone

Other

每日击球区日报:五因子股息策略评分,覆盖多行业高股息标的,推送至华为负一屏

Install

openclaw skills install stock-batting-zone

击球区日报 (Stock Batting Zone)

每日 A 股收盘后,对高股息标的进行五因子综合评分,生成击球意愿排名,推送至华为负一屏。

五因子评分公式

击球意愿 = 股息率(30%) + PE低估(15%) + PB低估(15%) + ROE(20%) + 安全性(20%)

各因子 0-100 分:

因子权重计算规则
股息率30%甜蜜区 3-6% 线性映射;6-8% 递减;>8% 封顶 80
PE 低估15%100 - PE百分位(越低越便宜)
PB 低估15%100 - PB百分位(越低越便宜)
ROE20%线性映射,25% = 100分
安全性20%非银行:分红覆盖率(FCFF/总分红);银行:派息率(分红/EPS)

安全性评分细则

非银行(分红覆盖率 = FCFF / 总分红):

  • ≥2x → 100 分(安全)
  • 1.5x~2x → 80 分
  • 1x~1.5x → 60 分(基本安全)
  • 0.5x~1x → 30 分
  • <0.5x → 10 分(⚠️ 需关注)

银行(派息率 = 分红 / EPS):

  • <30% → 100 分(安全)
  • 30%~50% → 70 分(适中)
  • 50%~70% → 40 分
  • 70% → 20 分

数据源

数据来源接口
实时行情新浪财经hq.sinajs.cn
PE/PB 百分位小乐财报leetab.com/stock/{code}/pe|pb
ROE/EPS/FCFF东方财富RPT_F10_FINANCE_MAINFINADATA (年报)
除息日东方财富RPT_SHAREBONUS_DET
交易日判断chinese_calendaris_workday()

当前标的(5行业5股)

股票行业代码年度分红/股类型
长江电力电力sh6009001.00非银行
伊利股份食品饮料sh6008871.38非银行
格力电器家电sz0006513.00非银行
中国移动通信sh6009414.7037非银行
建设银行银行sh6019390.3887银行

定时任务

  • 频率: 每日 16:00(A股收盘后)
  • 跳过: 非交易日(chinese_calendar 判断)
  • 推送: 通过 today-task 技能推送至华为负一屏
  • 模式: agent mode(cron agentTurn

使用方式

手动运行

# 正常运行(推送至负一屏)
python scripts/daily_batting.py

# 仅测试(不推送)
python scripts/daily_batting.py --dry-run

添加新标的

编辑 scripts/daily_batting.py 中的 STOCKS 列表:

{
    "code": "sh601088",        # 新浪代码
    "name": "中国神华",         # 名称
    "api_code": "601088",      # 东方财富代码
    "annual_div": 5.20,        # 年度分红合计(中期+末期)
    "leetab_code": "sh601088", # 小乐财报代码
    "ex_div_date": None,       # 除息日(可选)
    "is_bank": False,          # 是否银行股
    "total_shares_billion": 198.7,  # 总股本(亿股),用于算分红覆盖率
}

同时在 DEFAULT_PE_PB 中添加默认 PE/PB 分位数据。

选股策略

优先选择:

  1. 股息率 3-6%(甜蜜区)
  2. PE/PB 百分位低(估值便宜)
  3. ROE > 10%(盈利能力强)
  4. 分红覆盖率 ≥ 1x(分红可持续)
  5. 不同行业分散(避免行业集中风险)

注意事项

  • 年度分红 = 中期分红 + 末期分红合计(不是仅年末)
  • 银行股无 FCFF,用派息率替代分红覆盖率
  • 数据源可能偶尔不可用,脚本有默认值兜底
  • 卡片内容 < 5000 字符(负一屏限制)
  • 仅供研究参考,不构成投资建议

相关文件

  • scripts/daily_batting.py — 主脚本
  • today-task 技能 — 负一屏推送
  • Cron ID: b5e8deb5-0c20-4998-9c70-d31a80f09aeb