本期内容
学完你可以做到
- 建立自动获取行情、新闻、财报和宏观数据的工作流
- 让数字计算、来源评级和失败处理都可以验证
- 一次生成 Markdown、HTML 与 JSON 三种报告产物
Codex 项目
在准备存放晨报工具的项目目录中打开 Codex
Skill Creator
使用 $skill-creator 创建项目级 Skill
Python 环境
程序会在项目内创建独立 .venv
联网能力
首次运行需要读取 yfinance 与 FRED 公开数据
使用步骤
按顺序完成本期项目
01
打开目标项目
在准备存放晨报工具的项目中打开 Codex。已有 watchlist.txt 时不会覆盖现有股票代码。
02
复制完整提示词
将本页提示词原样发送给 Codex,等待它创建 Skill、Python 程序与运行脚本。
03
运行并检查结果
重点检查行情日期、FRED 观察日期、新闻来源和数据警告是否完整。
核心资料
完整提示词
建议完整复制,不要删减数据校验、失败处理和验收步骤。也可以只复制其中一个章节。
00开始指令与目标+
$skill-creator 请在当前项目中创建一个名为 market-morning-brief 的项目级 Skill。 Skill 必须创建在: .agents/skills/market-morning-brief/ 不要安装到全局目录。请按照 skill-creator 的标准流程初始化、创建资源、验证并实际测试。 目标是创建一个可以重复运行的美股晨报工具。每次执行时,从 watchlist.txt 读取股票代码,重新获取最新行情、新闻、财报日期和 FRED 宏观经济数据,然后生成中文晨报。
01输入与设置+
1. 使用项目根目录的 watchlist.txt,一行一个 Yahoo Finance 股票代码。 2. 如果文件不存在,创建以下内容: MU SNDK ARM 3. 如果文件已经存在,不要覆盖现有股票代码。 4. 时区使用 Asia/Tokyo。 5. 所有报告、警告和最终回复使用中文;HTML 使用 zh-Hans,配置语言使用 zh-CN。 6. 新闻标题保留原文,不要自行翻译或改写。 7. 使用项目自己的 .venv,不要影响其他 Python 项目。 8. 将依赖写入 requirements.txt,至少包含 yfinance、pandas 和 requests。
02数据来源+
股票数据使用 yfinance,获取: - 最新完成交易日的开盘价、收盘价和成交量 - SPY、QQQ 和 VIX 市场数据 - watchlist.txt 中每只股票的行情 - 最近 72 小时新闻 - 下一次财报日期 FRED 数据使用不需要 API Key 的公开 CSV 下载地址: https://fred.stlouisfed.org/graph/fredgraph.csv?id=SERIES_ID 获取以下指标: - DGS10:美国 10 年期国债收益率 - DGS2:美国 2 年期国债收益率 - CPIAUCSL:美国 CPI - UNRATE:美国失业率 必须保留每个 FRED 数值的实际观察日期,不能把报告日期当成数据日期。
03固定计算规则+
请把所有数字计算放在确定性的 Python 程序中,不要让 Codex 或语言模型自行心算。 为每只股票计算: - 单日涨跌幅:最新收盘价 ÷ 前一交易日收盘价 - 1 - 五日涨跌幅:最新收盘价 ÷ 五个交易日前收盘价 - 1 - 开盘跳空:最新开盘价 ÷ 前一交易日收盘价 - 1 - RVOL20:最新成交量 ÷ 前 20 个交易日平均成交量 - 相对 QQQ:个股单日涨跌幅 - QQQ 单日涨跌幅 所有价格计算只能使用最新完成的美股交易日,不能使用尚未收盘的盘中数据。 FRED 另外计算: - CPI 同比变化 - DGS10 与 DGS2 的最新变化 - 10Y-2Y 利差
04新闻与事件规则+
1. 获取每只股票最近 72 小时的新闻。 2. 使用标题和标准化网址去除重复新闻。 3. 每条新闻必须保留:发布时间、来源、原文标题、原文链接、相关股票、事件类别、来源评级。 4. 事件类别可以包括:财报或财测、产品或订单、监管或法律、并购、融资、管理层、分析师评级、传闻、其他。 5. 来源评级: - A:公司公告、投资者关系网站、SEC 文件或其他第一方来源 - B:主流财经媒体或可靠新闻机构 - C:评论、传闻、二手整理或来源不明确 6. 不可以为了补全报告而猜测新闻、财报日期或股价异动原因。 7. 新闻和价格在同一时间出现,只能写“同期出现”或“可能相关”,不能直接断言存在因果关系。 8. 找不到可靠事件时,明确写“没有找到可靠消息”。
05缓存与错误处理+
1. FRED 下载成功后,将最新数据保存到项目缓存。 2. 如果 FRED 在线下载失败,可以使用上一次成功缓存。 3. 使用缓存时,必须在报告的“数据警告”中说明,并显示缓存数据的观察日期。 4. 如果 Yahoo Finance、新闻、财报或任何股票数据获取失败,不得编造内容。 5. 失败项目必须显示在“数据警告”中。 6. 一只股票失败时,继续处理其他股票,不要让整份报告直接消失。
06Skill 与程序结构+
请创建: - .agents/skills/market-morning-brief/SKILL.md - .agents/skills/market-morning-brief/agents/openai.yaml - .agents/skills/market-morning-brief/scripts/generate_morning_brief.py - .agents/skills/market-morning-brief/references/report-methodology.md - config.json - requirements.txt - run_morning_brief.sh - reports/ SKILL.md 只保存工作流程、检查规则和使用方式,不要保存任何当天的股价或新闻。 report-methodology.md 保存详细计算公式、新闻分类和来源评级。 run_morning_brief.sh 负责调用 .venv 中的 Python,并运行 Skill 内的固定程序。
07报告输出+
每次执行时生成: - reports/YYYY-MM-DD-morning-brief.md - reports/YYYY-MM-DD-morning-brief.html - reports/latest.md - reports/latest.html - reports/YYYY-MM-DD-data.json Markdown 是完整数据记录,必须包含: 1. 三十秒摘要 2. SPY、QQQ、VIX 市场温度 3. 自选股异动表格 4. FRED 宏观经济数据与观察日期 5. 最新新闻、来源、时间和链接 6. 下一次财报日期 7. 数据警告 8. 数据来源与解读规则 HTML 是可以直接在浏览器打开的可视化版本,不需要后端服务。使用清晰的卡片、颜色和简单图表展示市场涨跌、个股表现、RVOL、FRED 数据、新闻和警告。不要依赖外部 JavaScript 服务。
08验收条件+
创建完成后: 1. 使用 skill-creator 的 quick_validate.py 验证 Skill。 2. 实际执行一次 ./run_morning_brief.sh。 3. 检查每只股票都有股票代码、最新价格和实际交易日期。 4. 检查所有 FRED 指标都有观察日期。 5. 检查每条新闻都有来源、发布时间和可点击链接。 6. 检查 Markdown 与 HTML 的报告日期都是 Asia/Tokyo 的今天。 7. 检查所有失败来源都出现在“数据警告”中。 8. 如果第一次运行失败,先诊断原因并重试一次。 9. 完成后用中文总结三只股票的主要异动、市场与 FRED 重点、数据警告,并提供 latest.html 和 latest.md 的绝对路径。 这份工具只用于个人研究和教育,不要提供买卖建议,也不要编造任何数据或市场事件。
报告产物
运行后会得到
latest.html直接打开阅读的最新可视化晨报latest.md保留来源、计算结果和警告的完整记录YYYY-MM-DD-data.json便于后续程序读取的结构化数据常见问题
遇到问题先看这里
可以替换默认的 MU、SNDK 和 ARM 吗?+
可以。修改项目根目录的 watchlist.txt,一行填写一个 Yahoo Finance 股票代码即可。
部分数据获取失败,报告还能生成吗?+
可以。流程会继续处理其余内容,并把失败项目明确放进“数据警告”,不会用猜测补全。
为什么必须保留数据观察日期?+
市场行情与宏观指标更新频率不同。保留真实日期可以避免误读,也方便之后核查结果。
XinGPT学AI