User 2026-07-30 反馈: - 脚本名 lottery_te_ma.py → lottery_特码.py (中文, 更直观) - 同步 SKILL.md 引用 (description + scripts 段) - version 1.2.5 → 1.2.6
6.1 KiB
6.1 KiB
name, description, version, type
| name | description | version | type |
|---|---|---|---|
| cn-dividend-buy-timing-pool | Manual HIGH_DIVIDEND_POOL list (17 A-share blue chips) + 综合评分公式 `score = annual_yield + stability_bonus` where stability_bonus = (stability - 2) * 2.0. 用户 2026-07-29 反馈纯 yield 排序把 招商银行/伊利股份/长江电力 挤出去, 加 stability bonus 后这 3 票稳定进 top 15. 脚本: ~/.hermes/scripts/cn_dividend_buy_timing.py (cron 任务待接入). stability 字段: 3=连续5年+稳定, 2=连续3年, 1=波动. | 1.0.0 | reference |
A 股高息股买入时机 — 候选池 + 综合评分
用户原话 (2026-07-29):
- 招商银行 (5% 股息率) 和 伊利股份 (4%) 没被选出来 — 因为纯按 yield 排序进不去 top 8
- "全仓, 分红稳定" — 关注分红稳定性
设计 — 综合评分 (yield + stability bonus)
score = annual_yield + stability_bonus
stability_bonus = (stability - 2) * 2.0 # stab=3 → +2%, stab=2 → 0, stab=1 → -2%
| stability | 含义 | bonus |
|---|---|---|
| 3 | 连续 5 年+ 稳定 (银行/公用事业/必选消费龙头) | +2.0% |
| 2 | 连续 3 年 (通信/化工) | 0 |
| 1 | 波动 (矿/小盘) | -2.0% |
17 票手动池 (用户 review)
HIGH_DIVIDEND_POOL = [
# ---- 高息 ≥5.5% + 稳定(stability≥2) ----
{'sym': '600188.SH', 'name': '兖矿能源', 'annual_yield': 7.0, 'stability': 2},
{'sym': '601288.SH', 'name': '农业银行', 'annual_yield': 6.5, 'stability': 3},
{'sym': '601398.SH', 'name': '工商银行', 'annual_yield': 6.5, 'stability': 3},
{'sym': '601088.SH', 'name': '中国神华', 'annual_yield': 6.5, 'stability': 3},
{'sym': '600023.SH', 'name': '浙能电力', 'annual_yield': 6.5, 'stability': 3},
{'sym': '600585.SH', 'name': '海螺水泥', 'annual_yield': 6.5, 'stability': 3},
{'sym': '601006.SH', 'name': '大秦铁路', 'annual_yield': 6.5, 'stability': 3},
{'sym': '601225.SH', 'name': '陕西煤业', 'annual_yield': 6.5, 'stability': 2},
{'sym': '601939.SH', 'name': '建设银行', 'annual_yield': 6.0, 'stability': 3},
{'sym': '601658.SH', 'name': '邮储银行', 'annual_yield': 6.0, 'stability': 3},
{'sym': '600015.SH', 'name': '华夏银行', 'annual_yield': 5.5, 'stability': 3},
{'sym': '600028.SH', 'name': '中国石化', 'annual_yield': 5.5, 'stability': 3},
# ---- 稳定大盘 (stability=3 单独加权) ----
{'sym': '600036.SH', 'name': '招商银行', 'annual_yield': 5.0, 'stability': 3}, # 银行龙头 PB 低
{'sym': '600887.SH', 'name': '伊利股份', 'annual_yield': 4.0, 'stability': 3}, # 消费/必选龙头
{'sym': '600900.SH', 'name': '长江电力', 'annual_yield': 4.5, 'stability': 3},
{'sym': '601728.SH', 'name': '中国电信', 'annual_yield': 5.0, 'stability': 2},
{'sym': '600050.SH', 'name': '中国联通', 'annual_yield': 5.0, 'stability': 2},
]
时机判别 (3 类)
def recommend_entry(div_yield, current, ma50, support, atr_pct, trend):
if div_yield >= 6.0:
if current < ma50 and current <= support * 1.02 and "偏弱" not in trend and "📉空头" not in trend:
return ("🟢今天买", 3, current, support * 0.97, "高息 + 价 < 均线 + 贴近支撑")
elif current < ma50:
return ("🟡等回撤", 2, ma50 * 0.98, current * 0.97, "高息 + 价 < 均线—等跌稳")
elif current <= ma50 * 1.03:
return ("🟡等回撤", 2, ma50, current * 0.97, "高息 + 价贴近均线")
else:
return ("🔴不入场", 1, ma50, current * 0.93, "高息但价远高于均线")
elif div_yield >= 5.0:
if current < ma50 * 1.05:
return ("🟡等回撤", 2, ma50 * 0.98, current * 0.95, "中等股息率")
else:
return ("🔴不入场", 1, ma50, ma50 * 0.95, "中等股息率但价已偏贵")
else:
return ("🔴不入场", 0, current, current * 0.95, "股息率<5%不达预期")
仓位 (8000 元小资金)
# 单票建议 4000 元(一半仓, 留 4000 备用)
lots = int(4000 // current // 100) * 100 # A 股一手 100 股
lots = max(lots, 100) # 至少一手
实际效果 (2026-07-29 测试)
综合评分倒序 top 15:
| 名次 | 股票 | annual_yield | stability | score |
|---|---|---|---|---|
| 1 | 农业银行 | 6.5% | 3 | 8.5 |
| 2 | 工商银行 | 6.5% | 3 | 8.5 |
| 3 | 中国神华 | 6.5% | 3 | 8.5 |
| 4 | 浙能电力 | 6.5% | 3 | 8.5 |
| 5 | 海螺水泥 | 6.5% | 3 | 8.5 |
| 6 | 大秦铁路 | 6.5% | 3 | 8.5 |
| 7 | 建设银行 | 6.0% | 3 | 8.0 |
| 8 | 邮储银行 | 6.0% | 3 | 8.0 |
| 9 | 华夏银行 | 5.5% | 3 | 7.5 |
| 10 | 中国石化 | 5.5% | 3 | 7.5 |
| 11 | 兖矿能源 | 7.0% | 2 | 7.0 |
| 12 | 招商银行 | 5.0% | 3 | 7.0 (纯 yield 排序排第 13, 加上后进 #12) |
| 13 | 陕西煤业 | 6.5% | 2 | 6.5 |
| 14 | 长江电力 | 4.5% | 3 | 6.5 (纯 yield 排第 16, 加上后进 #14) |
| 15 | 伊利股份 | 4.0% | 3 | 6.0 (纯 yield 排第 17, 加上后进 #15) |
关键验证 (用户原话):"招商银行怎么没选出来。还有伊利股份" — 加 stability bonus 后 3 票全部稳定进 top 15。
为什么不直接用 akshare 拉高息池
试过 ak.stock_dividend_yield_em → 不存在。stock_history_dividend 只能拉单只, 不能批量筛。
手动维护池的 trade-off:
- ✅ 17 票全是用户 review 过的 (大盘蓝筹稳定)
- ✅ 包含 招商/伊利/长江电力 这类稳定但 yield 略低的票
- ❌ 没法自动更新 (季度 review 一次就够)
cron 接入 (待用户确认)
建议 0 11 * * 1-5 每天 11:00 北京 (开盘前 30 min), 与 789a7710b1cf (dividend_alert) 同步。
文件位置
- 脚本:
~/.hermes/scripts/cn_dividend_buy_timing.py(cron 脚本, 不在 skill repo) - wrapper:
~/.herclaw/.hermes/scripts/cn_dividend_buy_timing_cron.sh - git 仓库: Hermes-Scripts (commit
fdacf52) - 规则: skill 的脚本在
skills/.../scripts/, cron 的脚本在~/.hermes/scripts/(用户原话 2026-07-29 "如果是定时任务的就放在 Scripts 仓库下")