Skip to content

Repository files navigation

A股 · 港股盯盘侠(stock-watch-notify)

License: MIT Tests Python Markets

一个可复用的 Hermes Agent 技能:使用免费数据源生成 A股与港股盘后复盘,结合新闻证据形成下一交易日的条件式前瞻,并可基于用户提供的持仓成本与仓位输出风险约束下的操作观察方案。

Important

本项目仅用于市场数据整理、研究和教育,不构成投资建议,不保证数据实时性或完整性,也不会连接券商或自动下单。

功能

  • A股、港股主要指数及个股市场宽度统计
  • 上涨/下跌/平盘家数、中位涨跌幅与样本成交额
  • A股行业涨跌榜
  • 港股可用行业指数代理强弱榜,并明确披露其覆盖不完整
  • 基于 DDGS 的免费新闻发现与网页搜索兜底
  • 持仓成本、浮盈亏、组合占比、MA5、MA20和近20日区间
  • 基准、上行、下行情景及可验证的失效条件
  • 精确股票代码匹配;缺失数据保持未知,不以零值或其他股票替代
  • Hermes origin 默认交付,无飞书、MX、美股或券商 API 依赖

数据源

数据 主要来源 备用/说明
A股实时行情 AKShare 聚合的新浪行情 东方财富接口兜底
A股主要指数 新浪指数 东方财富接口兜底
A股行业 同花顺行业汇总 东方财富行业接口兜底
港股行情与指数 新浪港股行情 东方财富接口兜底
港股板块 免费源中可用的行业指数代理 不代表完整港股行业分类
新闻发现 DDGS 新闻搜索 自动切换普通网页搜索
重大事件核验 上交所、深交所、港交所及公司公告 由 Hermes 浏览器/搜索能力复核

AKShare 封装第三方公开数据源,上游接口可能调整或临时不可用。报告会保留可用部分,并在“数据质量提示”中披露失败项。

项目结构

stock-watch-notify/
├── SKILL.md
├── agents/
│   └── openai.yaml
├── references/
│   ├── config-template.json
│   └── user-onboarding.md
├── scripts/
│   └── daily_close_report.py
├── tests/
│   └── test_daily_close_report.py
└── requirements.txt

安装

1. 克隆仓库

git clone https://github.com/bddiudiu/stock-watch-notify.git
cd stock-watch-notify

2. 安装为 Hermes 技能

复制到 Hermes 技能目录(排除 Git 元数据):

rsync -a --exclude='.git' ./ ~/.hermes/skills/stock-watch-notify/

安装依赖到 Hermes 使用的 Python 环境:

uv pip install \
  --python ~/.hermes/hermes-agent/venv/bin/python \
  -r requirements.txt

依赖均不要求 API Key:

  • akshare:A股与港股行情
  • ddgs:新闻和网页检索

快速开始

离线格式验证

~/.hermes/hermes-agent/venv/bin/python \
  scripts/daily_close_report.py \
  --config references/config-template.json \
  --mock-data \
  --force

真实行情,不检索新闻

~/.hermes/hermes-agent/venv/bin/python \
  scripts/daily_close_report.py \
  --config references/config-template.json \
  --no-news

完整盘后报告

~/.hermes/hermes-agent/venv/bin/python \
  scripts/daily_close_report.py \
  --config references/config-template.json

也可以在新的 Hermes 会话中直接说:

使用盯盘侠生成今日 A股和港股收盘复盘,并结合新闻给出下一交易日前瞻。

配置持仓

不要把包含真实持仓的配置提交到公开仓库。复制模板到仓库外或使用被 .gitignore 忽略的 stock-watch-config.json

{
  "name": "示例银行",
  "ticker": "600000.SH",
  "market": "CN",
  "quantity": 1000,
  "cost": 10.0,
  "currency": "CNY",
  "sector": "银行"
}

必填字段为名称、股票代码、市场、成本和币种;数量、行业与组合总资产可选。完整说明见 references/user-onboarding.md

定时运行

Hermes 默认将结果交付到任务来源,不需要飞书配置。示例:

hermes cron add "30 15 * * 1-5" \
  "使用 stock-watch-notify 生成 A股盘后复盘并给出条件式前瞻。" \
  --name "A股盘后复盘" \
  --skill stock-watch-notify \
  --deliver origin

港股可按收盘时间单独创建任务。工作日 cron 不等于交易所休市日历,节假日仍应检查数据时间和样本数。

测试

uv pip install -r requirements-dev.txt
~/.hermes/hermes-agent/venv/bin/python -m pytest -q tests

测试覆盖配置校验、代码标准化、精确匹配、缺失值处理、指数去重、新闻相关性过滤、模拟持仓和部分数据源失败。

已知限制

  • 当前仅支持 A股和港股,不包含美股。
  • 免费港股行业数据为部分行业指数代理,不是完整行业成分分类。
  • 免费数据源可能延迟、限流、变更字段或暂时不可用。
  • 新闻搜索结果只是证据入口,不能仅凭标题断言因果关系。
  • MA5、MA20和近期高低点只作为观察参考,不是自动交易信号。
  • 脚本不会连接券商、获取账户余额或执行交易。

安全与隐私

  • 不要提交 .env、API Key、券商凭据、聊天频道 ID 或真实账户截图。
  • 不要把真实持仓配置、总资产或成本数据提交到公开仓库。
  • 如果发现安全问题,请按照 SECURITY.md 私下报告,不要公开披露可利用细节。

贡献

欢迎提交问题和改进。请先阅读 CONTRIBUTING.md,并确保测试通过、数据源失败能安全降级、任何新增结论都不被表述为确定性投资建议。

License

本项目采用 MIT License。第三方数据及服务受各自条款约束。

About

Hermes skill for evidence-backed A-share and Hong Kong market recaps, news research, and holding-aware scenarios.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages