全球市场每日全景(Global Market Daily)
Overview
把"我想每天看清全球市场发生了什么、给我客观数据支撑判断"固化为一条可复用的流水线: 采集(NeoData 结构化行情)→ 抽取规范化数据 → 生成自包含 HTML 报告。
本技能是 market-daily-report(盘前 A 股研判)的「全景版」分支,侧重跨市场广度
(美股/欧股/港股/A股/商品/黄金/期货观察池)与客观信号(信号-阈值-动作表,不给主观买卖指令)。
两者共用同一数据源与口径纪律,可按需在 market-daily-report 的 deeper A 股研判段叠加。
合规与使用边界(上架版必读)
本技能作者无金融从业资格,技能产出定位为「客观数据整理与学习研究工具」,不是投资顾问服务。上架与使用时须遵守:
- 报告已强制内嵌三句声明:「本内容由AI生成」「投资有风险,理财需谨慎」「作者无金融从业资格,不构成投资建议」;并将「机会/风险线索」表述为「关注方向/风险提示」,全程无「推荐买入/卖出」「保本无风险」「预期收益」「赶紧跟进」等越界措辞。
- 「信号·阈值·动作」表仅为客观规则记录,动作描述属个人持仓管理参考,非对他人的交易指令;是否交易由使用者自行决策。
- 对外发布责任自负:使用者若将报告对外(自媒体/社群/朋友圈)发布,须自行确保符合所属平台资质要求与当地法规。技能不因「已生成」而免除使用者责任。
- 数据采集依赖 NeoData 访问凭证,他人安装本技能后需自备数据源(见下方部署说明)。
When to use
- 用户说"跑一下全球市场日报 / 全球行情日报 / 每日市场全景 / 今天全球市场怎么样(要报告)"。
- 用户想每天(如 9:00 盘前)拿到一份跨股票/基金/黄金/原油/期货的客观数据梳理。
- 不适用:只问单一数字("黄金现在多少钱")→ 直接一次
agentic_search或 NeoData 查询即可。
前置硬约束(必读)
- 红涨绿跌(A 股惯例):涨
#e23b3b红,跌#1a9a5a绿,平/中性#6b7280。 - 禁止编造数据:任一分支取数失败 → 该区块显式写「数据源未覆盖,需人工核实」,不得虚构数字。
- 每个关键数字可追溯:区块级标注「来源 + 数据时点」。
- 报告末尾附强制合规声明:本内容由AI生成;投资有风险,理财需谨慎;作者无金融从业资格,产出仅供客观信息梳理与学习研究,不构成投资建议、不推荐任何具体标的。
- 盘中脏数据规避:9:00–9:30 之间取国内期货/指数当日值会拿到未结算 bar,一律取最近已结算交易日(T-1)。
数据源策略
| 数据类别 | 用哪个 | 理由 |
|---|---|---|
| 指数行情、板块资金流、期货 K 线、贵金属现货 | NeoData(scripts/collect.py 调用) | 返回结构化表格,字段全、时点明确、速度快 |
| 政策文件、行业新闻、突发事件 | agentic_search | NeoData 文档召回弱,需多源检索 |
NeoData 硬约束(别白试):
- ❌ 期货全市场涨跌幅排行榜 → 返回空。只能按观察池逐品种查后本地排序。
- ❌ 9:00–9:30 已结算数据 → 会拿到未结算 bar。
执行流程
Step 0 — 确定运行参数
- 用
date命令取当前真实时间(禁止自己推算日期)。 - 判断今日是否交易日、各市场处于盘前/盘中/盘后/休市。
- 决定报告生成时点(默认 9:00 盘前版;详见下方时间口径)。
Step 1 — 采集原始数据
运行打包的采集脚本(自动算日期、输出到指定目录):
python <skill>/scripts/collect.py [输出目录]
# 输出:<输出目录>/report_<YYYY-MM-DD>.json(21 个查询的原始 markdown;空结果自动重试 3 次)
python用 managed 运行时:C:\Users\86185\.workbuddy\binaries\python\versions\3.13.12\python.exe- NeoData 查询脚本路径可用环境变量
NEODATA_QUERY覆盖(默认指向 neodata-financial-search 技能)。 - 失败的分支写入
"ERR ..."文本,不中断整体;随后需人工补查或标注缺口。
Step 2 — 机器抽取数值(auto)+ 智能体补定性(不可跳过)
NeoData 返回的 markdown 表格由 extract.py 自动解析(按表头列名匹配,不写死列号;
自动剔除当日未结算脏 bar,只取已结算 T-1 行),产出一份「数字字段已填、定性字段留 TODO」
的规范化 JSON:
python <skill>/scripts/extract.py <输出目录>/report_<date>.json <规范化.json>
- 自动填好的:indices / sectors / gold / oil / futures / week(近一周归一化序列取自期货主表近期已结算行)/ asof。
- 留待智能体填的(写
"// TODO"或空列表):tldr、kpis、events、opps、risks、rules、各期货的驱动、oil 的wti/brent、gold 的comex。
随后智能体必须:
- 用
agentic_search检索当日关键事件(地缘、宏观政策、板块驱动、美元/美债/加息预期); - 读取规范化 JSON + 原始 JSON,把上述 TODO 字段补全为真实判断(事件事实、机会/风险线索、信号-阈值-动作规则);
- 若某期货/指数原始查询为
apiRecall:[](API 偶发无数据,如沪铜/沪银/白糖/PTA),在tldr标注「数据源未覆盖」,不得虚构。
parse.py仍保留,用于人工逐条查看原始 markdown,调试用。
抽取纪律(2026-09-01 实测坑):
- 期货一律取已结算 T-1 收盘值,不取当日未结算 bar。
- 板块资金流先剔除「转融券标的」「融资融券」等非行业标签,再取前 3。
- 期货查询写「中文名+交易所」,
RB会被识别为 NYMEX 汽油。 - 三市场时点不重合:9:00 报告里只有 A50 与黄金现货是今天的,其余全是 T-1。
- 「近7个交易日行情」类查询返回的是陈旧窗口(实测曾返回 7 月),近一周序列必须取自期货主表自身的近期已结算行。
Step 3 — 生成 HTML 报告
python <skill>/scripts/build_report.py <规范化.json> [输出.html]
# 缺省输出:当前目录 全球市场每日全景_<date>.html
脚本产出单文件、资源全内联、可离线打开的 HTML:8 段结构(核心 KPI → 全球股指 → 板块资金流 → 黄金/原油/商品 → 期货观察池 → 近一周归一化 SVG → 事件/机会/风险 → 信号阈值动作表), 红涨绿跌、内联折线图、末尾附免责声明。
Step 4 — 交付
present_files打开 HTML。- 对话正文 200–300 字:定调 + 核心事实 + 主线 + 文件路径。
时间窗口口径
报告叫「过去 24 小时」,实际是三个市场各自的 T-1 拼盘,非同一时点快照。必须在报告首部写明:
| 市场 | 9:00 生成时实际取到 | 真实时点 | |---|---|---| | A股 / 港股 | 上一交易日收盘 | T-1 15:00 / 16:00 | | 欧股 | 上一交易日收盘 | T-1 约 24:00 | | 美股 | 昨夜收盘 | T-1 04:00(夏令时) | | A50 期货 | 今晨最后报价 | T 日 04:45 | | 黄金现货 | 实时 | T 日 09:xx |
结论:9:00 报告中只有 A50 和黄金是今天的。 写「今日 A 股资金流入 X 亿」是错的,应写「上一交易日(MM-DD)主力净流入 X 亿」。
8 段报告结构
- 核心 KPI 卡片 → 1. 全球主要股指 → 2. A股板块资金净流入前3 → 3. 黄金/原油/商品 →
- 期货观察池(按波动排序)→ 5. 近一周归一化走势(SVG)→ 6. 关键事件/机会/风险 →
- 信号·阈值·动作规则表(客观规则,不含主观买卖建议)。
第 7 段纪律:所有动作写成「若 X 则 Y」条件句,禁止出现「建议买入」「推荐加仓」。
常见错误
| 错误 | 正确做法 |
|---|---|
| 9:00 查期货/指数取当日值 | 取最近已结算交易日 T-1;当日是未结算 bar |
| 查「期货涨跌幅排行榜」 | 无此接口,返回空;按固定观察池逐品种查后本地排序 |
| 用代码查期货(如 RB) | 用中文名+交易所;RB→NYMEX 汽油 |
| 板块资金排行直接取前 3 | 先剔除「转融券标的」「融资融券」等非行业标签 |
| 把各市场 T-1 说成同步快照 | 报告首部写明各市场真实时点 |
| 涨绿跌红 | 涨红跌绿 |
| 把行情也全用 agentic_search | 结构化数据走 NeoData,事件/新闻才用 agentic_search |
定时自动化
已配置每日 9:00(Asia/Shanghai)automation:「全球市场数据(观水用global-market-daily)」。 触发后由智能体执行完整编排:
collect.py采集原始数据(21 路,空值自动重试);extract.py自动抽取数值 → 规范化 JSON(定性留 TODO);agentic_search检索当日关键事件;- 智能体补全
tldr/kpis/events/opps/risks/rules及期货驱动、WTI/布伦特/COMEX; build_report.py生成 HTML;present_files交付并给出 200–300 字摘要。
非交易日仍可运行,首部注明「非交易日,数据取最近交易日 YYYY-MM-DD」。
若 NeoData token 过期导致 collect.py 全空,自动化应立即停止并报告,不得产出含虚构数据的报告。
依赖
neodata-financial-search技能(含query.py与有效 token)。- managed python 运行时(脚本内已写死绝对路径,换机需同步更新
PY/QP)。
微信扫一扫