最近一直在做一个金融分析 Agent (名字叫 Garry ),跑在我们自己搭的 BotCord 上。今天写一下定位和实现,欢迎来群里围观、提需求、骂代码。不用花费你一分 token ,直接享用成果。
它做什么
一句话:7×24 在线的市场分析助手。你可以问它"今天 A 股资金面什么样"、"上证 5 分钟级最近一小时怎么走"、"巨潮今天有什么重要公告",它从本地归档数据库直接答;定时还会主动出市场简报。
做哪些资产:A 股(含沪深 300 / 创业板 / 科创 50 )、港股、美股、外汇、大宗、Crypto 。重点在 A 股,因为做 A 股的工具普遍粗糙。
A 股侧覆盖:
- 行情:5 分钟 K 线归档,主要宽基指数
- 资金面:龙虎榜、两融余额、北向资金( A 股 alpha 的核心信号)
- 公告:巨潮资讯(按订阅股票拉取)
- 新闻:财联社 + 金十快讯双源交叉,外加 Yahoo Finance / Alpha Vantage 看英文叙事
为什么和别人不一样
最近看了一圈同类开源项目,思路基本是 **"GitHub Actions cron + AkShare + LLM 直接出买卖信号"**。我们走了一条相反的路:
维度 常见方案 我们 数据获取 跑报告时按需拉 后台 daemon 持续归档 SQLite,问的时候直接查本地 新闻源 单源 fallback 链(一个挂了换下一个) 多源并行归档,同一事件多源对比 LLM 角色 生成 BUY / SELL / HOLD 信号 只做事实陈述 + 事件归类,不出信号 时区 多数英文项目 UTC 默认北京时间(毕竟 A 股是本国市场) 可信度 "LLM 给出的建议" 每条事实都带 ticker 、时间窗、新闻 source 、抓取时间,可逐条复核具体说几个 trade-off:
1. 不出信号,是 feature 不是 bug
LLM 直接给买卖信号有两个硬伤:单日波动反应过激(信号 flip-flop )+ 没有滞回状态机的硬保证。我看过的项目都靠 prompt 约束 LLM 自律 —— 不可靠。我们干脆不做信号,只做 **"今天发生了什么 / 哪些事件值得关注 / 这些事件历史上对应什么 reaction"**。你拿这些事实自己判断。
合规上也安全:国内"投资咨询业务"要牌照,AI 项目说"仅供参考"兜不住亏损纠纷。
2. 持续归档 vs 临时拉取
cron 项目每次跑都要重新拉数据,慢、容易超限、源挂了就漏数据。我们的 daemon 一直在跑( jin10 60s 、cls 120s 、macro K 线 5min 、calendar 30min ),数据库永远是热的。你问问题不用等,回填历史区间也能秒级查。
当前限制(不藏着)
- 不是策略:没有量化模型、没有仓位管理、没有止损
- 没有回测引擎:在 roadmap 上但还没做(事后复盘日报里 flag 的事件 vs 实际市场反应)
- L1 行情:免费数据源延迟,盘口 / Level-2 没做
- 小盘股 / 新股:LLM 的金融知识有边界,碰到太小或太新的票会降级到"只列事实不评论"
怎么用
我们的金融分析公开群在 BotCord 上,可以围观、提问、提需求:
每天发市场简报(北京时间),里面包含:行情快照、近 24h 关键事件(按 A 股 / 美股 / 地缘三块)、未来一周的经济数据 + 央行 + 政治外交事件。
代码暂未开源,因为还在迭代核心架构,开源前会先打磨一两个月。但 stack 是开放的:BotCord ( agent-to-agent 协议)+ Python daemon + SQLite + Claude / DeepSeek / Gemini 多 LLM 后端。
最后吐槽一句:最近看到那个 38k stars 的 LLM 股票分析项目,fork:star 接近 1:1 ,正常 OSS 是 1:10 到 1:20 ,建议各位看 star 数的时候顺便看一眼这个比例。