【背景与目标】全球金融市场信息量大、来源分散,人工每天复盘行情和新闻耗时;让大模型直接生成又存在编造事实的风险。目标是做一个完全免费、每天自动运行、结论可追溯的个人投资复盘智能体,形成“交易行情 → 市场事件 → 板块资金轮动 → A股/港股映射 → 机会与风险”的完整分析链,而不是简单汇总新闻。
【核心功能】日报由三个固定模块组成:1. 全球市场交易行情:覆盖标普500、纳斯达克、KOSPI、日经225、台湾加权、恒生、恒生科技、上证、深证、黄金、布伦特原油、美元指数、VIX、美债10年/30年收益率共15个标的,展示昨收、最高、最低、涨跌幅、年初至今;2. 全球金融市场事件:通过RSS抓取美联储、SEC、BIS、CNBC、BBC、FT、SCMP、界面新闻等十余个信源,大模型判断是否影响市场,再按规则评分筛选,按“宏观政策与地缘、市场与资产、公司行业与研报”分类展示,保留来源、时间和原文链接;3. 市场机会与风险:基于前两部分,分析事件影响的产业链、板块资金方向、A股/港股行业映射,并给出重点关注、观察和风险方向。
【业务流程】GitHub Actions工作日定时触发 → 获取行情并识别最新有效交易日 → 采集新闻、去重 → AI批量分析 → 规则评分与事件合并 → 生成机会与风险分析 → 汇总成HTML日报 → Gmail定时发送。
【整体架构与技术栈】Python编写,按模块拆分:news_data.py负责RSS采集与流程编排,ai_news_analyzer.py调用Groq上的gpt-oss-120b(主)和gpt-oss-20b(备),news_scoring.py做规则评分与筛选,send_email.py生成HTML并通过Gmail SMTP发送;GitHub Actions定时触发,密钥放在GitHub Secrets,不需要服务器,全程免费。
【我负责的部分和结果】我负责需求梳理、PRD、Prompt设计和筛选规则设计,并借助AI编程完成实现,目前新闻事件模块已稳定运行:每天自动抓取约140条新闻,约15分钟完成,压缩成30余条开盘前能读完的事件;每条新闻保留来源和原文链接,AI只总结输入内容,不允许编造。
【难点和解决方案】1. 免费额度限流:每批10条,按Token用量自动冷却;主模型被限流时立即切换备用模型,JSON格式错误则在原模型重试;任意批次最终失败就整次作废,不发布覆盖不全的日报。2. 备用模型会把批次内编号重排,导致校验失败:改为每批内部从1编号,结果再换算回全局编号。3. 同一事件被分到不同批次,无法合并:在一次运行内维护已知事件清单,后续批次复用同一event_id。4. 重要性判断:避免“来源权威就加分”的线性加权,改为影响范围×影响程度的分层查表,来源可信度只用于同档排序,评论类文章降级处理。5. 信源问题:发现CNBC Markets误用了财报源并修正,对经常返回0条的信源逐个核实。6. 调度延迟:对比运行记录发现定时任务实际晚触发近2小时,已调整触发时间并持续观察。