← Plugin catalog
Finance

DayTrading.Monster

tsetsugekka v0.1.11

Publisher description

From the marketplace listing

Research stocks and market developments across China, Japan, and the United States using available public information. Explore stock moves, macro context, market sentiment, and technical structure, and prepare pre-market briefs or market recaps. Organize findings with source references, distinguish confirmed facts from interpretation, and identify information gaps.

Language: English · Automatically detected from descriptions.

Files & skills

File archives

Plugin package49 files · 189 KBBrowse files →
Skill instructions
cn-market-tape15.9 KB

View saved version →

---
name: cn-market-tape
description: 分析A股盘中或盘后题材强弱、板块资金、涨停结构、市场宽度和机构调研,使用可核验公开资料。
---

# CN Market Tape

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

统一处理 A 股盘中和盘后盘面数据。默认只抓用户请求的模块,不读取或修改用户自选股之外的账户数据,不把一日榜单、资金流和机构调研混成一个结论。

## Routing

先判断用户要的是盘中快照、收盘数据还是历史数据,再选择模块:

1. `题材强弱`、`题材 TOP10/BOTTOM10`:使用本 skill 的加权题材流程。
2. `板块流入流出`、`主力净流入/净流出`:默认按题材/概念板块处理,并直接使用 `push2delay.eastmoney.com` 聚合公开接口;该接口失败后只切换一次到 `push2.eastmoney.com`。只有用户明确说“行业板块/行业”时才切换到行业板块口径。`mx-data` 仅用于用户明确要求 MX 或公开聚合接口缺少的补充字段,不再作为该模块的前置调用。
3. `涨停池`:先尝试 MX 或已有的聚合涨停池接口;不要逐只股票抓取涨停状态。
4. `机构调研`:当前/最近交易日优先运行已安装扩展的机构调研聚合能力或公开调研记录;历史请求优先使用公开历史调研热度数据,找不到对应日期或字段时明确声明不支持。

若用户只要求“盘中快照”,不要自动抓股吧、新闻或历史数据;若用户要求“为什么”或“复盘”,再按需要调用 `mx-search`、`cn-stock-move-reason` 和 `macro-news-check`。

### DTM 接口

DTM 数据优先使用 `https://daytrading.monster/api-docs/` 中的正式接口:

- `https://daytrading.monster/api/chinastock-anomaly`:最新涨跌题材 Top10、涨停概念 Top8、当日小时榜单、完整异动原因和涨停池。逐块核对交易日和时间;该榜单与下文 MX 成分加权榜是不同口径,不能混合排名或当作同口径历史快照。
- `https://daytrading.monster/api/themes?market=cn`:A 股题材成员、权重、中文名称与依据及阶段表现;阶段涨跌与 `price_dates` 不作为实时行情。此接口用于生成映射缓存;加权题材榜继续读取 MX 行情,资金榜与分时按 Module 2 的来源规则执行。

接口正文是 JSON,即使 Content-Type 为 `text/plain`。不读取 DTM 机构调研数据;机构调研继续使用既有流程。

## Module 1: Theme Strength

### Theme universe

题材映射从 `https://daytrading.monster/api/themes?market=cn` 的 `themes[].constituents[]` 提取成员和权重,中文标签取 `theme_name_zh`。如使用已保存映射,先检查日期与完整性;超过7天刷新,失败时明确旧映射状态。没有有效映射就停止此模块,不按行业名发明题材池。

只保留 `market == "CN"`、`theme != "未分類"` 的行。每行至少需要 `code`、`theme` 和 `weight`;重复的股票-题材关系按独立权重参与计算。中文标签取公开接口提供的中文标签。

### Quotes and aggregation

1. 提取去重后的 A 股代码,但保留所有股票-题材关系用于加权。
2. 用户明确要求使用自选且已授权时,可调用 `mx-zixuan` 一次作快速覆盖层;普通研究直接批量取得成分行情。读取 `SECURITY_CODE`、`SECURITY_SHORT_NAME`、`NEWEST_PRICE`、`CHG` 和 `dateMsg`。
3. 对缺失代码按最多 50 只一批调用 `mx-xuangu`,批次串行。遇限流或 HTTP 503 停止该来源,遵循当前工具的重试规则。
4. 合并行情时优先使用 `mx-zixuan`,用 `mx-xuangu` 补齐;若日期不一致,报告混合日期风险。
5. 按下式计算每个题材的加权涨跌幅:

```text
theme_return = sum(theme_weight * stock_chg_pct) / sum(theme_weight)
```

`CHG` 按百分数处理,例如 `10.03` 表示 `+10.03%`。TOP 榜列出 `weight * CHG` 最大的贡献股,BOTTOM 榜列出最小的拖累股。

### Theme interpretation

需要判断持续性、拥挤度、主线、反抽或退潮时,读取 [theme-mainline-lifecycle](references/theme-mainline-lifecycle.md)。生命周期只解释榜单质量,不替代加权排名。

默认只检查 TOP3 题材:每个题材选涨幅最高的代表股,结合股吧/讨论发现和 `mx-search` 资讯,区分确认消息、市场思惑、海外映射和个股独立逻辑,并给出“较高/中等/较低”确定度。

## Module 2: Theme/Board Money Flow

### Source priority

先确定板块命名空间:用户说“板块/题材/概念”时默认使用题材/概念板块;只有明确说“行业板块/行业”时才使用行业板块。随后直接请求 `push2delay.eastmoney.com` 聚合公开接口,并校验目标板块名称、板块级资金字段和目标交易日;默认接口失败后只切换一次到 `push2.eastmoney.com`。`mx-data` 仅用于用户明确要求 MX 或聚合接口缺少的补充字段。不要逐板块、逐股票循环抓取。

公开备用接口的命名空间固定为:概念/题材板块 `m:90+t:3`;行业板块 `m:90+t:2`。每次输出必须注明“概念板块”或“行业板块”,不得把两个宇宙混在同一张榜或同一组快照比较中。

备用源的字段、请求顺序、超时和错误处理见 [market-tape-source-routing](references/market-tape-source-routing.md)。排名榜必须分别获取净流入方向和净流出方向;不能只取按降序返回的第一页,再把末尾几行误称为净流出。若接口声明的总数超过本次返回条数,要记录分页/返回上限风险。金额原始值按元解析后再统一换算为亿元,并保留接口更新时间。同一 host 连续请求超过 3 次后必须加入 8-20 秒随机等待;已出现 HTTP 429/403/5xx、超时、DNS 失败或连接重置时,立即报告 host、endpoint family 和错误,停止继续增加该 host 的请求量。

### Required output

盘中/盘后资金流必须按以下口径输出:

```text
数据时间:YYYY-MM-DD HH:MM;资金口径:主力净流入/净流出;来源:MX 或备用聚合源。

主力净流入 Top10
排名 | 题材/概念板块 | 主力净流入

主力净流出 Top10
排名 | 题材/概念板块 | 主力净流出
```

金额必须带单位,优先统一为亿元;同时给出市场宽度或指数快照(如可得)。说明榜单是当前快照还是收盘值,且不要把两个榜单的金额相加:不同板块标签可能重叠,资金流也可能按不同板块口径重复统计。

如果只获得部分板块或只获得净流入方向,明确标注“不完整”,不要补造另一张榜。

### Intraday minute flow and theme/sector chart SOP

When the user asks for `分时流入流出`、`分钟级资金`、`资金折线图`、`资金曲线` or asks to see the intraday turning point of a named sector/theme, follow the full SOP in [intraday-flow-chart-sop](references/intraday-flow-chart-sop.md). The short version is:

1. Disambiguate the object first. `融资融券` can mean the `融资融券` concept board or the market-wide margin-financing/margin-trading account statistics. The former can use minute-level board fund-flow data; the latter is generally an exchange daily summary and must not be presented as a minute chart.
2. Resolve the exact board code from an aggregate board list. For an unqualified `板块/题材/概念` request, use the concept universe `m:90+t:3`; use the industry universe `m:90+t:2` only for an explicit `行业/行业板块` request. Do not guess a code, and do not mistake a constituent-stock response for a board row. In the same run, accept a minute series only when its `data.name` exactly confirms the requested board and namespace.
3. Query the current-day minute series from `push2delay.eastmoney.com` with `klt=1` and `lmt=240`. Preserve provider timestamps and trading-session gaps in the data; never interpolate the lunch break or missing points. For afternoon chart updates, compress the lunch interval on the display by default, draw morning and afternoon as separate paths, and add a clear 11:30/13:01 session divider. Record the series' latest point separately from the ranking snapshot's update time because the minute endpoint may lag. If the default host fails, switch once to `push2.eastmoney.com`; if both fail, report both host/endpoint results and stop increasing request volume.
4. Interpret `f51` as timestamp, `f52` as cumulative main net inflow, `f53`/`f54` as small/medium-order net flow, and `f55`/`f56` as large/super-large-order net flow. Parse yuan first, then convert to亿元. Check that `f52` approximately reconciles to `f55 + f56` before charting.
5. For one board, plot cumulative `f52` with a visible zero line, y-axis unit, date/time, source, cumulative label, low/high, zero crossings, and latest point. When comparing “现在和上午收盘”, use only the exact 11:30 minute point as the morning close and show current, 11:30, and the difference. Do not call an earlier saved snapshot “morning close”. For multiple themes/boards, use one shared time axis; use 分面图 when scales differ and do not normalize away the yuan/亿元 meaning. The chart is supplemental to the latest snapshot table.
6. Only when the user explicitly asks for “每分钟变化/增量” calculate adjacent-point differences of `f52`; render and label that series separately from the cumulative curve.

The default chart read should state whether the tape is persistent outflow, early outflow then recovery, early inflow then distribution, or two-way high-level divergence. A positive latest point after a deep intraday drawdown is a recovery path, not automatically a full-day inflow trend. If the endpoint is empty, stale, non-JSON, rate-limited, timed out, or otherwise unstable, report the host/endpoint family and stop increasing request volume; return the validated snapshot table or state that the chart is unavailable.

### Intraday snapshot comparison

同一交易日内再次查询资金流时,自动读取本次会话中的上一次结果;若会话中没有,则读取运行时快照缓存。缓存只保存聚合榜单、交易日、数据时间、来源、资金口径和单位,不保存原始响应或账户数据。有可用会话存储时才保存聚合快照,不假定宿主有持久本地缓存;不写入插件或源码。

只有当交易日、资金口径、来源、单位、板块命名空间(概念/行业)、板块宇宙和数据时间范围一致时才做数值比较。MX 切换到备用源、榜单口径变化或日期不一致时,仍输出当前表,但在表头写明“上次快照不可比”,不能把不同口径的数字相减。分时图比较优先使用相同时间点;只能取得各自最新点时,明确写出时间不一致和接口滞后。

首次查询时保存当前快照,并在表头写 `上次快照:无`。再次查询时,仍然只输出两张表,但列改为:

```text
主力净流入 Top10(当前 vs 上次)
当前排名 | 板块 | 当前净流入 | 上次排名 | 上次净流入 | 变动额

主力净流出 Top10(当前 vs 上次)
当前排名 | 板块 | 当前净流出 | 上次排名 | 上次净流出 | 变动额
```

当前或上次未进入对方 Top10 的板块使用 `—`,并标注 `新入榜` 或 `出榜`;`—` 不等于零,不据此计算虚假的变动额。表格之后只补一行数据状态,例如 `上次快照:10:32;当前:11:18;可比;来源:MX。` 查询成功后再写入当前快照,失败时不得覆盖上一次快照。

## Module 3: Limit-up Pool

优先查询当天聚合涨停池,校验交易日期 `qdate` 与当前请求日期。输出至少包括:

- 涨停总数、有效普通涨停数、跌停数(接口提供时)。
- 最高连板数,以及 2 板及以上的数量(接口提供时)。
- 炸板数、封板率、封单金额或成交额(接口提供时)。
- 连板梯队和行业/题材分布。
- 用户点名或与当前主线有关的重点股票,可列名称、代码、连板数、首次/最后封板时间和炸板次数。

区分“涨停池统计”和“涨停个股原因”。只有用户要求原因时,才对重点股票调用 `cn-stock-move-reason`;不要把聚合池扩展成逐只新闻抓取。

若盘中接口返回的是动态池,写明统计时间;盘后以收盘快照为准。日期字段缺失或不是目标交易日时,标记数据日期风险。

## Module 4: Institutional Survey

当前或最近交易日:使用可用的聚合工具或 MX 查询调研记录,按既有机构调研口径输出股票、行业和周度热度。

历史请求:

1. 优先使用公开历史调研热度数据或对应的历史 JSON 快照。
2. 校验目标日期/日期区间、`RECEIVE_START_DATE` 和数据生成时间。
3. 若历史源没有对应日期、字段或完整窗口,直接写“尚不支持该时间/数据”,不得用当前快照冒充历史数据。

## Combined workflow

1. 先列出本次需要的模块和数据时间,避免无关抓取。
2. 题材模块先刷新/读取映射,再按实际可用能力批量取同口径行情;非MX来源明确标注,不与MX快照混比。
3. 资金流按 Module 2 优先公开聚合接口;涨停池和调研按各自路由选择可用聚合来源,串行访问并随机等待。
4. 每个模块返回后先校验日期、字段完整性和数据来源,再合并结论。
5. 盘中报告标记 `盘中快照`,盘后报告标记 `收盘快照`;历史报告标记数据窗口。
6. 若某一来源失败,报告失败的 host/endpoint family、错误类型和切换后的来源;不要重复轰击已不稳定的接口。

## Default output order

用户未指定顺序时,按以下顺序输出:

1. 数据状态和时间。
2. 市场宽度/指数简表(可得时)。
3. `题材强弱 TOP10/BOTTOM10`。
4. `主力净流入 Top10` 和 `主力净流出 Top10`。
5. `涨停池`。
6. `机构调研`。
7. 只在用户要求时补充 TOP3 题材驱动、消息、技术或操作风险。

题材表默认列:`排名 | 题材 | 加权涨跌幅 | 主要贡献/拖累`。

资金表默认列:`排名 | 题材/概念板块 | 主力净流入/净流出`;用户明确要求行业时改为 `行业板块`。

始终用中文回答。说明每个数字是实时、延迟、盘后还是历史数据。默认不写输出文件,不提交 API key、cookie、账户标识、完整自选股列表、原始响应或运行缓存。

## Safety

- `mx-zixuan` 只查询,不添加、删除或修改自选股。
- 不把用户的个人持仓、自选股、私有调研资料或账户数据写入本仓库。
- 不把不同源、不同时间、不同统计窗口的数字直接拼接成一个精确结论。
- 输出仅用于市场研究,不构成投资建议。

Referenced files: 3

cn-stock-move-reason16.7 KB

View saved version →

---
name: cn-stock-move-reason
description: 分析A股个股大涨、大跌、涨跌停、炸板及异常波动的原因,结合具体量价、公告、题材和预期差。
---

# CN Stock Move Reason

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill to explain current single-stock moves from source evidence.

The skill accepts one stock at a time. It may also collect broad market context (indexes, sector/concept boards, and advance/decline counts) to judge whether the move is market-wide, sector-led, or stock-specific.

## Workflow

1. Read [experience](references/experience.md) before analysis, but only the `Active Playbook` sections unless the user explicitly asks for historical lessons. Apply those lessons when judging catalysts, sector共振, 股吧 emotion, A-share emotion-cycle position, and the stock's place in the market structure: 主线、助攻、补涨、防御、老龙反抽, or noise. When the request needs a deeper or reusable sentiment framework, also use `stock-sentiment-analysis` and its `references/sentiment-framework.md`.

   Cross-skill calls are operational. When this workflow says to use another market skill, actually load that skill's `SKILL.md` and required references when available in this package or environment. Do not merely mention the other skill by name in the answer.

   Required coordination: for A-share analysis, use this skill as the evidence-gathering entry point, and add supporting skills based on clues found during analysis, not only on the user's wording. 股吧 itself is an evidence source, not an automatic trigger for sentiment analysis. If 股吧/资讯/news reveals a concrete clue about main-line status, crowding, attack/defense rotation, leader/follower position, or emotion-cycle phase, load `stock-sentiment-analysis` to test that clue. If 股吧/资讯/news discusses the broad market, index pressure, policy/liquidity, FX/rates, commodities, overseas markets, or geopolitical drivers, load `macro-news-check` to verify the tape instead of accepting forum claims. If 股吧/资讯/news or the price move points to support/resistance, failed breakout, trend damage, or catalyst acceptance/rejection, load `stock-technical-analysis` to verify the chart. When the original question is directly about an index/broad tape such as 上证、深成指、创业板、科创50、A50、恒生科技/港股 spillover, load `macro-news-check` by default.

   Mandatory execution gate:
   - If the answer uses **宏观** or **快讯** to explain the stock, sector, index, liquidity, policy, FX/rates, commodities, overseas spillover, or geopolitics, load `macro-news-check`. Do not replace this layer with ad hoc web search.
   - If the answer uses **技术面** such as support/resistance, trend confirmation, failed breakout, volume-price behavior, intraday timing, or "能不能上/下", load `stock-technical-analysis`.
   - If the answer uses **情绪面** such as main-line status, crowding, emotion cycle, leader/follower, risk-on/risk-off, expectation gap, or forum psychology, load `stock-sentiment-analysis`.
   - If the user asks about **个股-板块-大盘共振**, a collective sector surge, or whether a sector/stock move can continue, load `stock-sentiment-analysis` and apply its `Market-Sector-Stock Resonance And Continuation` framework. Separate logic durability, tape continuity, and entry quality; do not infer a good entry from a good industry thesis.
   - Final answers should include a compact `融合口径` line when any supporting skill is used, e.g. `东财/公告/股吧证据 + macro-news-check tape + stock-technical-analysis 结构 + stock-sentiment-analysis 情绪周期`.

   Optional 东方财富妙想 enhancement: if the user has installed the `mx-*` A-share/financial skills in the current session or under the local skills directory, use them as a non-blocking data layer for A-share move reasons, sector mapping, valuation, financials, and current news checks. MX data supplements the existing know-how; it must not replace the normal Eastmoney/Guba/announcement collector, source hierarchy, A-share emotion-cycle framework, expectation-gap analysis, or technical/macro confirmation. If an `mx-*` skill is missing, unauthorized, over quota, or returns empty data, continue with the normal source/web workflow and do not claim that 妙想 data was used. You may briefly suggest installing or configuring 东方财富妙想 skills only when the missing layer would materially improve the user's exact request, such as A-share sector constituents, self-selected-stock filtering, timely financial data, or official finance-data search.

   Use the 妙想 skills this way:
   - `mx-data`: current/historical quotes, market cap, PE/PB, EPS/ROE/margins, share count, main-fund flow, index/sector/board quote data, and A-share financial statement metrics for valuation.
   - `mx-search`: latest news, announcements, research reports, policies, event explainers, and time-sensitive market/sector context.
   - `mx-xuangu`: sector constituents, concept-board candidates, peer lists, condition screens, and "same theme but stronger/weaker" comparisons. For A-share questions such as `这个板块有哪些股票`, `相关股`, `概念股`, `龙头股`, `板块成分`, or `同题材还有谁`, try `mx-xuangu` first when available, then use `mx-data`/`mx-search` to rank purity, heat, and catalysts.
   - `mx-zixuan`: only when the user explicitly asks to query/add/delete/filter their 东方财富 self-selected stocks. For `自选股里哪些符合条件`, first try a direct `mx-xuangu` query constrained to self-selected stocks; if unsupported, use `mx-zixuan` to get the self-selected list and intersect it with `mx-xuangu` results. Do not use it automatically for ordinary analysis because it touches user account data.
   - `mx-moni`: only when the user explicitly asks about simulated portfolio holdings, funds, orders, simulated buy/sell, cancel orders, or posting a simulated-trading note. Do not use it for real trading or ordinary analysis.

   Eastmoney Guba topic enhancement: when the stock's sector/theme reason is unclear, or when a move may be part of a broader A-share topic rotation, check `https://gubatopic.eastmoney.com/` as an optional topic-discovery layer. Use it to identify current market hotspots, possible next-day continuations, and what topics, concepts, or boards the market is discussing, then verify with actual stock/sector moves, announcements, formal news, and the collected evidence. Treat Guba topic heat as sentiment/topic evidence, not confirmed fact.

2. 先取得当前行情、公告、最近24小时新闻及最多100条股吧/资讯候选、最多10份相关公告;按需要补充指数、行业/概念、涨跌家数。只读单股材料的请求可跳过市场背景。通过当前可用网页/工具读取东财行情、公告与股吧;采集失败不等于没有消息。

3. Analyze the collected source material directly. Treat sources with this priority:

- Announcements, earnings, regulatory filings, and confirmed company materials: primary evidence.
- 妙想 `mx-data` / `mx-search` outputs, when available, can supplement or cross-check quote, financial, announcement, research, and event evidence. Use them as evidence with source attribution, but still distinguish official filings from media/research interpretation.
- Eastmoney 股吧资讯/high-read posts: secondary evidence; useful for discovering what the market is discussing.
- Eastmoney Guba topics (`https://gubatopic.eastmoney.com/`): secondary topic-discovery evidence; useful for mining possible themes and board-level reasons behind A-share moves, but must be verified against stock/sector price action and formal news.
- Sohu index and sector/concept board context plus Eastmoney intraday advance-decline counts and Sohu historical advance-decline / limit-up / limit-down data: market/sector backdrop only; use it to judge 共振 versus 独立催化.
- Ordinary 股吧 posts: emotion and speculation only. Never treat them as confirmed fact unless the same item appears in announcements/news.
- Macro tape: call `macro-news-check` only when the move may be affected by broad A-share risk appetite, policy/liquidity headlines, PBOC/CNY, commodities, US rates, Hong Kong/US China ADR moves, geopolitical risk, or sudden index/sector-wide news. Use it to judge market-wide pressure or support, not to replace announcements or stock-specific evidence.

4. Prefer this skill as the first pass for A-shares. When using `stock-sentiment-analysis`, `macro-news-check`, or `stock-technical-analysis`, first finish the stock-specific evidence read, then use the supporting skill to verify sentiment structure, broad-market pressure/support, or price confirmation. Do not replace confirmed announcements or filings with macro, sentiment, or chart evidence.

5. In multi-turn discussions about the same stock, treat user follow-ups as possible new evidence or feedback. If the user adds information, challenges the reasoning, asks for reconsideration, or the conversation reveals that the prior answer missed/misweighted something, re-evaluate the stock with the new context before defending the earlier answer.

## DTM API Context

Use the canonical JSON interfaces in `https://daytrading.monster/api-docs/` for DTM reads. `https://daytrading.monster/api/chinastock-anomaly` supplies current rising/falling themes, limit-up concepts, hourly ranking snapshots, individual move reasons, and limit-up rows; match the target code and snapshot time. Read `https://daytrading.monster/api/themes` without a market filter to trace cross-market industry-chain and theme transmission across China, Japan, and the US. Use `themes[]` and `constituents[]` for members, `weight`, `reason_zh`, coverage, and completed-session returns; check dates instead of treating them as live moves. Parse the `text/plain` response bodies as JSON. Do not use DTM institution-survey data.

## A-share Emotion Cycle

Classify the short-term emotion backdrop qualitatively into one of seven stages from the single-stock materials, price action, 股吧 discussion, market indexes, sector/concept boards, today's breadth, and recent Sohu zdt history:

1. `冰点期`: many limit-downs or large losers, high failed-board/亏钱效应, shrinking participation. Observe who resists the selloff.
2. `修复/潜伏期`: panic eases, limit-downs decrease, front-row names begin to rebound, but most traders are still skeptical. Small trial positions only.
3. `启动期`: new theme appears, first/second boards increase, capital starts focusing. Prefer front-row names in the core theme.
4. `加速期`: leaders continue limit-up, followers spread, sector赚钱效应 is strong. Hold strength, avoid random laggards.
5. `高潮期`: everyone discusses the theme, limit-up wave or one-word boards, retail emotion is hot. Take profits progressively; do not chase heavily.
6. `高位分歧/分化期`: after高潮, leaders may炸板/断板/long upper shadow while back-row names weaken, but the whole market has not fully collapsed yet. Treat it as the transition from emotion top to退潮.
7. `退潮期`: leaders break down, 天地板/核按钮 rise,亏钱效应 spreads. Reduce exposure or wait.

Useful loop: `冰点 -> 修复/潜伏 -> 启动 -> 加速 -> 高潮 -> 高位分歧/分化 -> 退潮 -> 再冰点`.

`分歧` is not always bearish. A healthy divergence during 启动/加速 can be a换手 test or main-line pullback before renewed agreement; a high-level divergence after高潮 is usually a risk signal. The favorable windows are usually late 修复 to early 启动, and healthy main-line divergence before 加速. The most dangerous windows are late 高潮, 高位分歧/分化, and early 退潮.

## Reading News And Emotion

- Separate `confirmed catalyst` from `market imagination`. A confirmed order, policy, earnings beat, regulatory approval, or buyback is stronger than a forum narrative.
- For each meaningful catalyst, do an expectation-gap check: `市场原来预期什么` -> `实际消息落地什么` -> `超预期 / 符合预期或只是落地 / 不及预期`. This applies to numeric news such as orders, earnings, guidance, policy size, and buybacks, and to qualitative news such as wording strength, timing, certainty, regulatory tone, management confidence, and whether the news solves the market's real concern.
- Use the emotion-structure checklist from [experience](references/experience.md): classify market phase, main-line versus defensive bucket, capital return frequency, breadth/赚钱效应, first healthy divergence versus high-level divergence, institution-style trend versus 游资PK, and whether a rebound is new leadership or old-leader exit liquidity.
- Decide whether the stock is an `情绪票` or a `趋势票`:
  - 情绪票: topic-driven, high volatility, limit-up relay, fast climax/retreat.
  - 趋势票: supported by industry cycle, earnings, policy, or institutional logic; slower but more durable.
- Watch for emotional-top clues: high attention, continuous large candles, high turnover, failed breakout, long upper shadow, break-board/炸板, or broad follower exhaustion.
- Watch for trend-risk clues: good news priced in, valuation stretch, volume-price divergence, loss of key moving averages, or gradual weakening after a crowded story.

## Output Style

Reply in Chinese unless the user asks otherwise. The answer can be detailed because this is a single-stock local script workflow. Use this order:

1. `最有力理由`: most likely catalyst, with source names and timing.
2. `补助理由`: secondary drivers such as theme, sector rotation, liquidity, valuation, or positioning.
3. `共振判断`: whether the stock is moving with the market, its sector/concept, or mostly on stock-specific news. When continuation matters, structure this as `market -> sector/theme -> stock` and apply the shared six-factor resonance framework from `stock-sentiment-analysis`.
4. `情绪面/周期位置`: qualitative 股吧 emotion plus the seven-stage A-share emotion cycle.
5. `确定度`: high / medium / low, with one sentence explaining why.
6. `注意点`: what remains unconfirmed or what could invalidate the read.

If evidence is weak, say so plainly and use wording like `思惑`, `低信息量`, `未确认`, or `确认待ち`. Do not invent catalysts absent from the collected evidence.

## Valuation Requests

When the user asks for `合理估值`, `目标价`, `估值`, `贵不贵`, `空间`, `fair value`, or similar:

- Still collect current quote/news/公告/股吧/market-context materials first, then add financial guidance, EPS/share-count, capital policy, and peer/sector context when available.
- Use the `Reasonable Valuation Framework` from [experience](references/experience.md).
- Provide scenario ranges rather than one exact target: conservative / base / bull.
- State the anchors used, such as forward EPS/PE, operating profit, ROE/PB, EV/EBITDA, orders/backlog, buyback/convertible bond dilution, and peer multiples.
- When using EPS/PE, explicitly decompose price into `EPS x PE`: judge whether the setup is a Davis double play (`EPS upgrades + PE expansion` from better growth/certainty/theme premium) or Davis double kill (`EPS downgrades + PE contraction` from weaker guidance/cycle reversal/expectation miss). Do not call a stock cheap from PE alone if EPS or the deserved multiple is falling.
- Explicitly separate fundamental fair value from A-share emotion-cycle premium/discount.
- Explicitly say what the current price already prices in, what must happen to justify upside, and what would invalidate the valuation.

Referenced files: 1

jp-stock-move-reason20.3 KB

View saved version →

---
name: jp-stock-move-reason
description: 分析日本股票上涨下跌、财报反应和PTS异动,核验公司披露、预期差、量价及市场背景。
---

# JP Stock Move Reason

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill to explain current single-stock moves from source evidence.

## Workflow

1. Read [experience](references/experience.md) before analysis, but only the `Active Playbook` sections unless the user explicitly asks for historical lessons. Apply those lessons when setting expectations, especially around earnings, guidance, valuation, 掲示板 sentiment, theme leadership, peer follow-through, and whether the stock is a leader, follower, defensive alternative, old-leader rebound, or noise. When the request needs a deeper or reusable sentiment framework, also use `stock-sentiment-analysis` and its `references/sentiment-framework.md`.

   Cross-skill calls are operational. When this workflow says to use another market skill, actually load that skill's `SKILL.md` and required references when available in this package or environment. Do not merely mention the other skill by name in the answer.

   Required coordination: for Japanese stock analysis, use this skill as the evidence-gathering entry point, and add supporting skills based on clues found during analysis, not only on the user's wording. Yahoo 掲示板 itself is an evidence source, not an automatic trigger for sentiment analysis. If 掲示板/news reveals a concrete clue about theme leadership, peer follow-through, crowding, leader/follower position, defensive alternative, old-leader rebound, or risk-on/risk-off acceptance, load `stock-sentiment-analysis` to test that clue. If 掲示板/news discusses Nikkei/TOPIX, JPX sectors, Nikkei futures, JGB yields, USD/JPY, BOJ/MOF policy, US/China spillover, commodities, or geopolitics, load `macro-news-check` to verify the tape instead of accepting forum claims. If 掲示板/news or the price move points to support/resistance, failed breakout, trend damage, or catalyst acceptance/rejection, load `stock-technical-analysis` to verify the chart. When the original question is directly about an index/broad tape such as Nikkei 225, TOPIX, JPX sectors, Nikkei futures, or 日经大盘, load `macro-news-check` by default.

   Mandatory execution gate:
   - If the answer uses **宏观** or **快讯** to explain the stock, sector, Nikkei/TOPIX, JGB yields, USD/JPY, BOJ/MOF policy, US/China spillover, commodities, or geopolitics, load `macro-news-check`. Do not replace this layer with ad hoc web search.
   - If the answer uses **技术面** such as support/resistance, trend confirmation, failed breakout, volume-price behavior, intraday timing, or "能不能上/下", load `stock-technical-analysis`.
   - If the answer uses **情绪面** such as theme leadership, crowding, leader/follower, defensive alternative, old-leader rebound, risk-on/risk-off, expectation gap, or 掲示板 psychology, load `stock-sentiment-analysis`.
   - Final answers should include a compact `融合口径` line when any supporting skill is used, e.g. `Yahoo/Kabutan/Traders 证据 + macro-news-check tape + stock-technical-analysis 结构 + stock-sentiment-analysis 情绪/期待差`.

2. Collect current quote, news/disclosures and forum evidence with the tools available in this session. For Python collection or offline forum filtering, read [Python execution](references/python-execution.md). For a single stock, verify concrete catalysts against disclosures before treating forum discussion as evidence.

### Mover Estimated Trading Value Ranking Sub-skill

When the user asks for current Japanese-stock increase/decrease Top10 lists,
PTS mover lists ranked by `推定成交额`, `売買代金推定`, `turnover estimate`, or
says `不是成交量,是成交额`, use the mover-turnover sub-skill before running
per-stock reason collection. Read
[pts-turnover-ranking](references/pts-turnover-ranking.md) and [Python execution](references/python-execution.md), then collect the matching session.

Default to `--session auto` and evaluate routing in JST on trading days:

- `09:00-11:30` and `12:30-15:30`: use Yahoo Finance Japan's current regular
  market rankings:
  `https://finance.yahoo.co.jp/stocks/ranking/up?market=all` and
  `https://finance.yahoo.co.jp/stocks/ranking/down?market=all`.
- `08:00-09:00`, `11:30-12:30`, and `15:30-17:00`: use the PTS day-section
  increase/decrease pages.
- All other times, weekends, and known non-trading days: use the PTS night
  section. The script handles weekends; force `--session night` on Japanese
  exchange holidays that fall on weekdays.

Always request 50 rows per page. First filter each side to `abs(涨跌幅) >= 3%`
and `出来高 > 2000`, then rank by estimated trading value. If one side has
fewer than five qualifying rows, re-fetch only that side to `abs(涨跌幅) >= 1%`
and keep ranking by estimated trading value. Regular-session `推定成交额`
(`売買代金推定`) is `当前价 * 出来高`; PTS `推定成交额` is
`PTS株价 * PTS出来高`. It is not exchange-reported trading value calculated
from each execution. Yahoo states that Tokyo Stock Exchange transaction prices
are real time while all-market volume is delayed by at least 15 minutes, so
regular-session output must disclose that mixed-timestamp limitation. Volume is
only the eligibility filter. For a generic Top10 request, or when the user
loosely says `成交量` within this workflow, still rank by `推定成交额`. Rank by
raw volume only when the user explicitly requests a volume-ranked list.

After ranking, final mover answers must include a `原因` column unless the
user explicitly says they only want the raw list, only want numbers, or do not
need reasons. For ranking requests, Yahoo 掲示板 is the first source for discovering explanation candidates, not the authority for confirming facts:
deduplicate selected Top codes and request one forum page per code, caching at
most the latest 100 comments each, using forum-only collection. For every
individual stock and every selected Top10 name, use the same comment pipeline:
count how many of those raw cached posts are within 24 hours; if fewer than 100,
expand the candidate window to 72 hours using only the same cached posts. Never
fetch post 101 or later. Apply the five-like minimum only after deciding the time
window, then score by recency, likes, body length, and company-material keywords,
deduplicate exact normalized-prefix signatures to a maximum 20-comment full-text
shortlist, reorder it by time and likes, and pass only `recent_comments[:5]` to
the assistant.
Process codes sequentially;
do not use Kabutan/Traders as the first-pass substitute for board discussion.

Use this exact comment-quality contract. Hard-filter posts outside the selected
window, unparseable timestamps, fewer than five likes, bodies shorter than ten
characters, and pure calls such as `買い`, `売り`, `上がれ`, `S高確定`,
`ストップ高`, `爆上げ`, `爆益`, `草`, or standalone `www`. Score surviving
posts out of 18: recency `<=6h:5`, `<=24h:4`, `<=48h:2`, `>48h:1`; body length
`30-300:3`, `>300:2`, `10-29:1`; likes `100+:4`, `50-99:3`, `20-49:2`,
`5-19:1`; company-material keywords add one point each, capped at six. Relevant
keywords include earnings, guidance revisions, dividends, buybacks, splits,
alliances, orders, approvals, patents, IR, profitability, M&A, subsidies,
adoption, launches, joint development, contracts, products/services, shareholder
benefits, revenue, and profit metrics. Generic sector words such as AI,
semiconductors, defense, or drones add no points. Sort by total score, timestamp,
then likes; normalize lowercase text by removing spaces and common punctuation,
deduplicate on the first 60 normalized characters, and keep at most 20. Finally,
sort those 20 by timestamp and likes and pass `recent_comments[:5]` to the assistant.
This is exact-signature deduplication, not semantic similarity: remove all
whitespace and `、。!? ! ? , . ・ … 「」 『』 () () [] 【】`, then compare the
first 60 normalized characters. The earlier comment in the score/timestamp/likes
order wins. Matching prefixes collapse even when later text differs; any
difference within the prefix survives. Do not apply Unicode width normalization
or explicitly strip emoji, URLs, or usernames. Deduplicate only within the
current stock's current collection.

Use news or disclosures only to validate a concrete event claimed in the board,
and distinguish verified facts from market discussion. Never fetch more than one
forum page per code or repeat a forum fetch for the same code in the same turn.
On HTTP 403/429, access-denied content, connection reset, or an empty/abnormal
response, stop all Yahoo collection for the rest of the turn and report the
block. ETF or ETN rows should be explained from their underlying index/strategy,
and tiny-estimate jumps should be labeled low-confidence if no hard catalyst exists.

Return the synthesized `原因` in the ranking table. Do not quote or enumerate the
raw five-comment input set unless the user explicitly asks to see it.

Space sequential Yahoo requests by 1–3 seconds; after 403/429 or access-control content, stop Yahoo requests for the turn. Preserve any cooldown enforced by the actual tool.

- DTM cross-market themes: read `https://daytrading.monster/api/themes` without a market filter. Compare Japanese, US, and Chinese theme members and completed-session performance to trace industry-chain and cross-market transmission; use `themes[]` with `theme_key`, `theme_name_zh`, `market`, and `constituents[]`, including `weight`, `reason_zh`, and `quote_available`. Check quote dates; these are not live intraday returns.
- PTS context: prefer the canonical `https://daytrading.monster/api/pts/model1` (day session), `https://daytrading.monster/api/pts/model2` (after close), and `https://daytrading.monster/api/pts/model3` (night session) for a comprehensive overview of PTS risers, themes, and upward reasons. Use the session(s) relevant to the question and their update times; read all three when comparing sessions. They do not provide a complete falling-stock ranking. For diverse Japanese rankings, including PTS decliners and other screens, use `https://kabutan.jp/warning/` and `https://finance.yahoo.co.jp/stocks/ranking/up`, selecting the relevant ranking and its stated session. Keep the existing estimated-turnover Top10 procedure for that specific request.

### Evidence priority for individual stocks

Analyze the collected source material directly. Company disclosures and confirmed event reporting establish facts; quotes establish the move. Forum-first ranking discovery above does not override this factual priority:

- Current quote and basic metrics: establish whether there is a real price move and the stock's size/liquidity context.
- Institution rating check: after reading current source evidence, read only the canonical `https://daytrading.monster/api/ratings-jp` JSON from `https://daytrading.monster/api-docs/`. Parse the `text/plain` body as JSON. Its `reports` cover Japan-local today and the preceding three calendar days; use the report date, not retrieval time. No additional rating-page files are needed.
  Filter by exact normalized `stockCode` and use only reports present in the current snapshot. Mention the rating layer only when the stock has a current matching rating/target-price update that may explain or support the move. If there is no matching current update, omit the rating layer instead of writing negative filler. When the rating layer is mentioned, include broker, date, rating direction, target-price direction, and whether the update is likely a primary catalyst or secondary support. In final answer prose, do not name DayTrading.monster, the rating page, feed/page labels, or aggregator/source names by default; Cite material claims with the actual source URL and time.
- PTS handling: during the regular Tokyo trading session, especially the opening and active intraday period, do not use PTS as an analysis layer; prioritize the live exchange quote, intraday price action, volume, news, and 掲示板 instead. For questions asked after the Tokyo close, check the Kabutan individual stock page (`https://kabutan.jp/stock/?code=CODE`) when available. Use the page's `PTS` block sourced from JapanNext via Kabutan for PTS current price, timestamp, open/high/low, volume, trading value, and VWAP, but remember Kabutan's PTS figures are delayed by about 15 minutes. Treat PTS as delayed early after-hours sentiment and liquidity evidence, not as a confirmed next-session price or real-time tape. If using DTM PTS to discover candidates, read the canonical model APIs above; do not use the HTML `noscript` SEO fallback because it can lag the live app. Do not use MONEY BOX PTS as a source because its PTS figures have proven unreliable; non-PTS MONEY BOX pages such as disclosure summaries may be used only as supplementary references and should be verified against primary disclosures/news.
- Company disclosure and explanation materials: for earnings, guidance revisions, medium-term plans, business updates, buybacks, major orders, capital policy, or new businesses, look beyond headline numbers and 掲示板. Search TDnet/Kabutan PDFs, the company's IR site, 決算説明資料, 補足説明資料, 事業計画及び成長可能性に関する事項, 中期経営計画, 決算説明会資料/Q&A, press releases, product/project pages, and business-update materials. Use these to explain what changed in the business story, pipeline, certainty, timing, customer/project progress, capital needs, and dilution risk.
- News: primary evidence for concrete catalysts.
- Yahoo 掲示板: use only as a low-weight retail emotion/overheating check. Its buy/sell sentiment is delayed, reflects only past retail verbal mood, and should not be used as evidence for a price move, catalyst, conviction, or directional thesis. Never cite 掲示板 buy/sell ratios as support for an analysis. Use comments only to detect what retail is talking about, whether attention is crowded, or whether rumor risk needs verification against news/disclosures.
- Peer and theme reactions: use them to judge whether the move is theme-wide leadership, same-theme follow-through, or only stock-specific sentiment.
- Macro tape and Japan market breadth: call `macro-news-check` only when the move may be affected by Nikkei/TOPIX futures, JGB yields, USD/JPY, BOJ/MOF policy, global rates, China/US macro, commodities, geopolitical risk, or broad risk-on/risk-off headlines. For Japanese broad-market weakness/strength or a single-stock move under strong market pressure, use the JPX real-time index page/data (`https://www.jpx.co.jp/markets/indices/realvalues/index.html`, `indices_stock_price3.txt`, and `indices_stock_price3.time.txt`) as an auxiliary confirmation layer for TOPIX 33 sectors, TOPIX-17, size indexes, and market-type indexes. Use it as market context, not as a substitute for stock-specific evidence.

For earnings-related questions, do a disclosure-material pass even when the user did not explicitly ask for it. The core question is not only `数字好不好`, but `为什么这些数字或指引可信`, `哪些说明资料证明业务进入兑现阶段`, `哪些项目仍只是 pipeline`, and `现金流/融资/稀释/客户集中是否会削弱估值`. If no explanation material exists, say so and rely on the filing, company releases, and news.

Prefer this skill as the first pass for Japanese stocks. When using `stock-sentiment-analysis`, `macro-news-check`, or `stock-technical-analysis`, first finish the news/disclosure/theme/rating read and use 掲示板 only as a retail heat check, then use the supporting skill to verify sentiment structure, broad-market pressure/support, or price confirmation. Do not replace company disclosures, concrete news, or fresh rating updates with macro, sentiment, chart evidence, or 掲示板 chatter.

In multi-turn discussions about the same stock, treat user follow-ups as possible new evidence or feedback. If the user adds information, challenges the reasoning, asks for reconsideration, or the conversation reveals that the prior answer missed/misweighted something, re-evaluate the stock with the new context before defending the earlier answer.

## Output Style

Reply in Chinese unless the user asks otherwise. The answer can be detailed when the evidence supports it: start from at least 3-4 lines, and when evidence is rich, write up to the length of a short market news note. Stay evidence-based.

For an individual-stock explanation, use these five sections unless the user or Task supplies a different format. For a ranking, use the table format above:

1. `最有力理由`: the most likely catalyst, with source names and timing.
2. `补助理由`: secondary drivers such as theme buying, short-term speculation, or market-cap/liquidity context.
3. `掲示板温度`: summarize heat level, recent post volume, high-like comments, expectation gap, and crowding risk.
4. `确定度`: high / medium / low, with one sentence explaining why.
5. `注意点`: what remains unconfirmed or what could invalidate the read.

When the user gives multiple stocks, write the five numbered sections separately for each stock first. After all individual stock sections, add a final comparison section such as `两只对比` or `多只对比`, covering common drivers, differences in catalyst quality, sentiment heat, and relative risk. You may add extra sections when useful, while preserving the same evidence, uncertainty and comparison content.

If the evidence is weak, say so plainly and use wording like `思惑`, `期待`, `传闻`, or `确认待ち`. Do not invent catalysts absent from the collected news/comments.

When explaining a catalyst, always check the expectation gap: `市场原来预期什么` -> `实际消息落地什么` -> `超预期 / 符合预期或只是落地 / 不及预期`. This applies to numeric news such as guidance, earnings, orders, dividends, and buybacks, and to qualitative news such as wording strength, timing, certainty, management confidence, regulatory tone, and whether the news solves the market's real concern.

## Valuation Requests

When the user asks for `合理估值`, `目标价`, `估值`, `贵不贵`, `空间`, `fair value`, or similar:

- Still collect current quote/news materials first, then add financial guidance, EPS/share-count, capital policy, and peer/sector context when available.
- Use the `Reasonable Valuation Framework` from [experience](references/experience.md).
- Provide scenario ranges rather than one exact target: conservative / base / bull.
- State the anchors used, such as forward EPS/PER, operating or recurring profit, ROE/PBR, EV/EBITDA, orders/backlog, buyback/CB dilution, and peer multiples.
- When using EPS/PER, explicitly decompose price into `EPS x PER`: judge whether the setup is a Davis double play (`EPS upgrades + PER expansion` from better growth/certainty/theme premium) or Davis double kill (`EPS downgrades + PER contraction` from weaker guidance/cycle reversal/expectation miss). Do not call a stock cheap from PER alone if EPS or the deserved multiple is falling.
- Explicitly say what the current price already prices in, what must happen to justify upside, and what would invalidate the valuation.

Referenced files: 6

macro-news-check23.4 KB

View saved version →

---
name: macro-news-check
description: 核验宏观新闻与跨资产市场反应,适用于央行、数据、汇率、利率、商品和市场级风险判断。
---

# Macro News Check

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill only when the analysis genuinely needs current macro, broad-market, or cross-asset context. Do not run it for every single-stock question by default.

This skill is public-safe: it uses public pages or feeds and must not store credentials, cookies, account data, private research paths, or raw copyrighted news dumps. Summarize only the headlines and implications needed for the user's market question.

## Trigger Conditions

Call this skill when one or more of these are true:

- The user asks about 大盘, 宏观, 利率, 汇率, 美债, 日债, 央行, CPI/PCE/FOMC/BOJ/ECB, commodities, oil, gold, geopolitics, or market-wide risk sentiment.
- A stock/index/ETF is moving with no clear stock-specific catalyst, or the move may be driven by rates, FX, futures, sector-wide risk, policy, or global headlines.
- Technical analysis needs a broad-market confirmation, especially for index breaks, high-beta stocks, export-sensitive Japanese names, A-share market emotion, US premarket moves, or same-day trading judgments.
- Gamma analysis would be unreliable without checking macro headlines, event risk, vol shock, index futures, yields, USD, or geopolitical tape risk.
- U.S. stock-move or gamma workflows such as `us-stock-move-reason` and `us-stock-gamma-moomoo` involve Fed expectations, rates, USD, oil/gold, index futures, market-wide risk appetite, or geopolitical shocks.
- A prior single-stock read may be missing a market-wide reason for a selloff or squeeze.

Do not call this skill when the request is clearly only about static fundamentals, historical valuation, company filings, or a chart level that does not depend on current market tone.

## Source Order

Prefer sources in this order, adjusting for language and market:

1. `Jin10` (`https://www.jin10.com/`): preferred Chinese macro tape when accessible. Its data quality is generally strong for real-time Chinese-language macro, central-bank, commodity, FX, and geopolitical headlines. The homepage can expose server-rendered flash items; the underlying flash API or WebSocket may require frontend headers/cookies and can be more fragile.
2. `Wallstreetcn` (`https://wallstreetcn.com/live/global`): useful Chinese backup and Asia/China market tape. If the page is a frontend shell, try its live JSON endpoint pattern:
   `https://api-one-wscn.awtmt.com/apiv1/content/lives?channel=global-channel&client=pc&limit=10`
3. `FinancialJuice` (`https://www.financialjuice.com/`): useful English global tape, especially US/EU macro, rates, FX, commodities, geopolitics, and market-moving headlines. Public RSS pattern:
   `https://www.financialjuice.com/feed.ashx?xy=rss`
   If a shell is actually available, an example request is:
   `curl -L 'https://www.financialjuice.com/feed.ashx?xy=rss'`
   Quote the URL in zsh or other shells where `?` can be treated as a glob pattern. The feed returns broad global headlines; fetch the full feed first, then filter by macro relevance.
4. `DayTrading.monster 24H Feed` (`https://daytrading.monster/api-docs/`): usable as a public current-page social-media layer for global macro, AI, rates/bonds, US index/gamma, Japan, China, commodities, non-AI sectors, and crypto. For broad U.S. or Japan market context it is especially useful for theme discovery; for macro checks, use it as an auxiliary source to generate candidates that still need live tape and price confirmation. Use the canonical JSON interfaces documented there:
   - `Market news index`: `https://daytrading.monster/api/24hfeed/details` exposes up to 100 entries from the latest 120 hours with title, URL, time, and category. It is sufficient for this workflow; read linked articles when their details matter, and do not expect narrative direction/status fields.
   - `X account monitor`: `https://daytrading.monster/api/24hfeed/x-monitor` exposes grouped account posts within the eight-hour snapshot window; check the returned window bounds. Do not read `accounts.json`, per-account `days/*.json`, `narrative_history`, or legacy `market_recent.json` / `market_tweets.json` for market analysis.
   Treat the frontend HTML and any `noscript`/static SEO blocks as page-shell context only, not current macro evidence. Parse these responses as JSON even though their Content-Type is `text/plain`; use these official interfaces for current 24H Feed checks; do not fetch archives, historical windows, or old feed backfills for normal macro work. Treat both monitors as social-media-derived screening, not final macro proof; verify important current items with live macro tape, original/source reporting when available, and market prices.

Use more than one source when the headline is important, surprising, or likely to change the market read. Prefer original official sources when a live headline points to a specific data release, central-bank statement, government notice, or company disclosure.

Do not use ticker or ETF keywords such as `SPY`, `QQQ`, `ES`, or a single stock symbol as the first-pass macro-news filter. Important macro drivers often appear under geopolitics, oil, rates, FX, central banks, fiscal policy, sanctions, shipping, elections, or official comments without mentioning the target instrument. First ingest the general live tape from the preferred sources; only then map relevant headlines to the user's instrument and confirm with market prices.

If a market report passes in pre-screened `/api/24hfeed/details` entries, or if you fetch the current DayTrading.monster 24H Feed snapshots directly, use them only as social-media-derived macro or theme candidates. Use only entries whose source/update time fits the active market window. Do not mine backfilled rows in the snapshot as historical evidence. Fresh entries may guide what to verify in live macro tape and market prices; stale entries must be ignored.

Macro analysis must combine two live streams rather than treating either one as automatically superior:

- `News / event stream`: identify whether the market narrative or event state is changing. Focus on state changes, not isolated headlines: escalation vs de-escalation, tightening vs easing, supply shock vs supply relief, inflation impulse vs disinflation impulse, growth scare vs resilience, liquidity stress vs liquidity repair, and official confirmation vs rumor/trial balloon.
- `Market data stream`: check whether assets confirm, fade, or contradict the news. Use live or near-live prices for yields, FX, commodities, volatility, index futures, and local breadth where relevant.

Classify the relationship between the two streams before concluding:

- News confirms the price trend.
- Prices confirm a new headline shock.
- News is bad but prices refuse to fall.
- News is good but prices refuse to rise.
- Prices moved first and headlines are explaining the move late.
- Headlines changed but prices have not yet repriced.

Potential inflection points often appear when bad news no longer pushes risk assets lower, good news no longer lifts risk assets, yields stop rising despite inflationary headlines, oil stops rising despite supply-risk headlines, VIX stops expanding despite negative news, USD/JPY or DXY diverges from rates, high beta/Nasdaq leads while macro headlines remain scary, or defensive assets rise together with equities. This is only a candidate signal unless chart structure, recent price sequence, or intraday levels confirm it. Without enough chart/sequence context, describe it as news-price agreement or disagreement rather than a confirmed divergence or trend turn.

For intraday macro judgments, do not rely on headlines alone and do not rely on prices alone. Use headlines to detect narrative/state changes, use market prices to confirm or challenge them, and explicitly mention meaningful conflicts:

- Data-source priority for intraday macro prices:
  1. Official non-delayed / streaming price.
  2. Reputable non-official non-delayed price.
  3. Crypto/tokenized/perpetual-swap non-delayed proxy, clearly labeled as `链上` / `on-chain` / `proxy`.
  4. Official delayed price, with the delay stated.
- `DayTrading.monster` (`https://daytrading.monster/`) is a useful dashboard wrapper around TradingView widgets. Its default macro symbols include US index CFDs/futures, VIX, USD/JPY, DXY, US 10Y/30Y yields, gold, oil, copper, Nikkei CFD, TOPIX, Hang Seng, HK Tech, Taiwan, and Europe. If a futures, index, macro indicator, CFD, FX, commodity, or bond-yield code is unknown, check DayTrading.monster first and reuse its TradingView symbol. Symbols without the `D` badge can be used; `D` marks delayed exchange-limited data and should be avoided when a non-`D` alternative exists. A `24h` badge means the symbol is valid for 24-hour macro monitoring. A `365d` badge means the symbol is valid year-round. Blockchain/tokenized/perpetual-swap symbols can be used when they are the best non-delayed source under the priority order above, but every output must label them clearly as `链上`, `on-chain`, or `proxy`, rather than official underlying prices. Prior source observation (not a current-session availability guarantee): a plain HTML fetch exposes the dashboard shell, static/noscript news summary, default TradingView symbols, and badge metadata, but not live widget prices; live prices require rendered widgets/browser use or a programmatic TradingView/scanner equivalent. Do not claim a dashboard price or current news read from static/noscript HTML alone.
- TradingView scanner is the preferred programmatic fallback for live/near-live rates and cross-asset checks when accessible. Useful symbols include:
  - US yields: `TVC:US02Y`, `TVC:US10Y`, `TVC:US30Y`
  - Japan yields: `TVC:JP02Y`, `TVC:JP05Y`, `TVC:JP10Y`, `TVC:JP20Y`, `TVC:JP30Y`
  - US index futures: `CME_MINI:ES1!`, `CME_MINI:NQ1!`, `CBOT_MINI:YM1!`, `CME_MINI:RTY1!`
  - Vol, FX, commodities: `CBOE:VIX`, `TVC:DXY`, `OANDA:USDJPY`, `NYMEX:CL1!`, `ICEEUR:BRN1!`, `OANDA:XAUUSD`, `OANDA:XCUUSD`
  - Always inspect the returned `update_mode`. Some symbols are delayed even when they are easy to fetch. For example, `CBOE:VIX` is often `delayed_streaming_900`, while `ICEEUR:BRN1!` and `NYMEX:CL1!` are often `delayed_streaming_600`.
  - Prefer non-delayed official or conventional market symbols for intraday judgment. Tested examples: `TVC:VIX` is a streaming VIX indicator; `TVC:US10Y`, `TVC:US30Y`, and `TVC:JP30Y` are streaming yield indicators. For WTI/Brent, if no official or reputable non-official non-delayed source is available programmatically, use crypto/tokenized/perpetual-swap non-delayed proxies before official delayed reference prices, and label them clearly as `链上` / `on-chain` / `proxy`.
  - Crypto/tokenized/perpetual-swap proxies: `MEXC:USOILUSDT.P`, `HTX:USOILUSDT.P`, `BTCC:USOILUSDT.P`, `MEXC:UKOILUSDT.P`, `KCEX:BZUSDT.P`, `BINANCE:SPYUSDT.P`, and `BINANCE:QQQUSDT.P` can provide 365-day proxy signals. Use them before official delayed symbols only when no official/reputable non-official non-delayed source is available, and label them as proxies.
  - Not every DayTrading.monster TradingView widget symbol is available through scanner. If a preferred no-`D` dashboard symbol such as `CAPITALCOM:VIX` does not return through scanner, either read it visually from the dashboard or fall back to a scanner symbol and state its delay/proxy status.
- Eastmoney public endpoints or Eastmoney-related skills can often replace AkShare for China macro, China-US daily yield tables, global index tables, and commodity/futures confirmation. Use Eastmoney when it is not delayed and the timestamp/fields confirm freshness. Prefer direct Eastmoney requests when the endpoint is known, because this avoids Python dependency drift and makes failures easier to debug. Eastmoney does not normally require an API key for these public endpoints, but URLs/tokens can change and requests can be blocked or disconnected.
  - China-US Treasury daily yield table endpoint pattern used by AkShare:
    `https://datacenter.eastmoney.com/api/data/get?type=RPTA_WEB_TREASURYYIELD&sty=ALL&st=SOLAR_DATE&sr=-1&token=894050c76af8597a853f5b408b759f5d&p=1&ps=500&pageNo=1&pageNum=1`
  - Useful field mapping for that endpoint:
    - `SOLAR_DATE`: date
    - `EMM00588704`, `EMM00166462`, `EMM00166466`, `EMM00166469`: China 2Y, 5Y, 10Y, 30Y yields
    - `EMM01276014`: China 10Y-2Y spread
    - `EMG00001306`, `EMG00001308`, `EMG00001310`, `EMG00001312`: US 2Y, 5Y, 10Y, 30Y yields
    - `EMG01339436`: US 10Y-2Y spread
  - Treat Eastmoney daily yield tables as daily context, not intraday truth. Same-day US yield fields can lag or be blank before the source updates.
- AkShare is optional when already available or explicitly installed in an isolated execution environment. Its `bond_zh_us_rate()`, `futures_global_spot_em()` and `index_global_spot_em()` can supplement daily context; do not install into the base environment or treat daily yields as intraday evidence.

For A-share broad-market tape questions, use live headlines first, then use Sohu market data as an auxiliary confirmation layer:

- `https://q.stock.sohu.com/cn/zs.shtml` and `https://q.stock.sohu.com/zs/zs-2.html`: index map and broad market level.
- `https://q.stock.sohu.com/cn/bk.shtml`, plus board pages such as `https://q.stock.sohu.com/pl/pl-1631.html` for industries and `https://q.stock.sohu.com/pl/pl-1630.html` for concepts: sector/concept涨跌幅 and where funds are landing.
- `https://q.stock.sohu.com/cn/zdt.shtml`: historical涨跌停/breadth reference when judging market emotion.

Do not let Sohu board ranks replace the headline tape. Use快讯 to identify whether there is a policy, macro, liquidity, overseas, or sudden risk event; use搜狐板块涨跌幅 to validate whether the tape is actually being traded and whether the move is broad, narrow, or only a theme squeeze.

For Japan broad-market tape questions, use live headlines first, then use JPX real-time index data as an auxiliary confirmation layer:

- `https://www.jpx.co.jp/markets/indices/realvalues/index.html`: official JPX real-time index page; it updates listed index data about every minute during regular trading hours.
- `https://www.jpx.co.jp/market/indices/indices_stock_price3.txt`: JSON data used by the JPX page, including major indexes, TOPIX New Index Series, size indexes, TOPIX 33 sectors, TOPIX-17, style indexes, and market-type indexes.
- `https://www.jpx.co.jp/market/indices/indices_stock_price3.time.txt`: data timestamp in `YYYYMMDDHHMM`.

Do not treat Nikkei/TOPIX weakness as a single cause without checking JPX sector/index composition. Use快讯 to identify JGB yield, USD/JPY, BOJ/MOF, overseas tech, China/Korea/Taiwan spillover, commodity, or geopolitical drivers; use JPX sector/index strength to confirm whether pressure is concentrated in autos, banks, machinery, electronics, real estate/REIT, exporters, growth, small caps, or broad beta.

## Workflow

1. Define the macro question before fetching:
   - Is the issue rates, FX, index futures, commodities, geopolitics, policy, or broad risk appetite?
   - Which market matters most: China/A-shares, Japan, US, Europe, global commodities, or cross-asset?
2. Fetch the minimum needed recent items from both streams:
   - Start with Jin10 for Chinese macro tape if accessible.
   - Use Wallstreetcn's live endpoint for Chinese/Asia backup and market breadth context.
   - Use FinancialJuice RSS for English global confirmation and US/EU tape. In shell, use `curl -L 'https://www.financialjuice.com/feed.ashx?xy=rss'`; do not omit the quotes around the `?xy=rss` URL in zsh.
   - Use the current DayTrading.monster 24H Feed snapshots as an extra narrative pre-screen when the question is broad macro, cross-asset, pre-market, after-hours, or market-regime related. Prefer `/api/24hfeed/details` for the current news index and `/api/24hfeed/x-monitor` only when raw account context materially matters. Do not use `accounts.json`, daily shards, narrative history, legacy account files, HTML `noscript`, or static SEO text as current evidence. Do not use 24H Feed alone as final evidence. In final prose, describe this layer generically as `当前叙事预筛` or `当前主题线索`, not by site/feed/page name.
   - Check actual market prices before concluding that macro is better or worse intraday: US index futures, VIX, US yields, JGB yields, USD/JPY, DXY, oil, gold, and any directly relevant local index/sector breadth.
   - For rates-sensitive US or Japan market reads, prioritize live/near-live yield quotes (`TVC:US10Y`, `TVC:US30Y`, `TVC:JP05Y`, `TVC:JP10Y`, `TVC:JP20Y`, `TVC:JP30Y`) over stale article text. A headline that says yields are surging can be outdated if live yields have already pulled back.
   - Use AkShare only as an auxiliary source for daily yield history, China macro, China/overseas index tables, and commodity/futures confirmation. Do not use AkShare alone to decide whether US/Japan yields are improving or worsening intraday.
   - For A-share broad-market, sector rotation, "买什么方向", or "要不要入场" questions, also check Sohu indexes and industry/concept board涨跌幅 after the快讯 check.
   - For Japan broad-market, Nikkei/TOPIX weakness, sector drag, or Japanese single-stock move with strong market pressure, also check JPX real-time indexes and TOPIX sector/TOPIX-17 strength after the快讯 check.
3. Identify whether the active narrative has changed:
   - Separate routine headlines from true state changes.
   - Ask what the market was previously pricing, what changed, and which asset chain should transmit the change.
   - Common transmission chains include: event risk -> oil/commodities -> inflation expectations -> long yields -> equity duration; central-bank repricing -> front-end yields -> FX -> equity multiples; growth data -> cyclicals/commodities -> index breadth; fiscal/debt concern -> long yields -> currency/volatility.
4. Compare news and prices:
   - If headlines and prices agree, classify it as trend confirmation.
   - If headlines are stale and prices already moved, avoid double-counting the same information.
   - If headlines changed but prices have not repriced, say whether the market may be ignoring the risk or waiting for confirmation.
   - If prices reject the headline direction, treat that rejection as evidence to investigate, not as a standalone reversal signal. Only discuss divergence, exhaustion, or a turn when recent chart structure, intraday sequence, or key levels support it.
5. Filter aggressively:
   - Keep only headlines that can plausibly affect the instrument being analyzed.
   - Prioritize timestamps, source type, affected asset class, and whether the item is data, policy, rumor, geopolitical, or routine noise.
6. Classify the macro effect:
   - `risk-on`: supports equities/high beta/cyclical trades.
   - `risk-off`: pressures equities/high beta; supports bonds, USD, defensive assets, or safe havens depending on context.
   - `rates-up pressure`: bad for long-duration growth, high valuation, weak balance sheets, bond proxies.
   - `rates-down support`: can help duration/growth, but check whether rates are falling from recession fear.
   - `FX-driven`: important for exporters, import-cost names, commodities, and ADR/local-market conversions.
   - `commodity shock`: sector-specific tailwind/headwind.
   - `policy/liquidity`: judge size, timing, credibility, and whether it is already expected.
7. Connect the macro tape to the specific analysis:
   - State whether macro is the main driver, a secondary amplifier, or only background noise.
   - Separate stock-specific catalysts from market-wide pressure.
   - Explain expectation gap: what the market likely expected, what the headline/data changed, and whether it was above, in line with, or below expectations.
   - For A-share盘面, state whether搜狐板块涨跌幅 confirms the快讯 narrative, contradicts it, or shows only a narrow局部行情.
   - For Japan盘面, state whether JPX sector/index strength confirms the快讯 narrative, contradicts it, or shows that the weakness is concentrated in a few heavyweight sectors.

## Output Style

Keep the macro section concise unless the user asks for a full macro brief. Use this structure when helpful:

1. `宏观结论`: one sentence on whether the tape is risk-on, risk-off, rates/FX-driven, or neutral.
2. `关键消息`: 2-5 relevant headlines with source and time when available.
3. `对标的影响`: how those headlines affect the stock/index/option map being analyzed.
4. `权重`: main driver / secondary amplifier / background only.
5. `需要确认`: what would require a fresh check, original source, or later market reaction.

When answering macro or broad-market tape questions, absorb the source material into analysis instead of mechanically narrating the data-gathering process. Do not mention aggregator, dashboard, widget, feed, page, or retransmission-site names such as DayTrading.monster, 24H Feed, Jin10, Wallstreetcn, FinancialJuice, Sohu, JPX, or TradingView in the final answer prose by default. Use neutral wording such as `当前叙事预筛`, `当前主题线索`, `快讯`, `实时指数`, `行业指数`, or `行情确认`. If a live item cites an original outlet, official source, company disclosure, or named primary reporter/source, it is acceptable to mention that original attribution when it improves credibility or explains confidence, e.g. Bloomberg, Reuters, The Information, Nikkei, Axios, WSJ, CNBC, an official ministry/central bank/company statement, or a company filing. Mention aggregator names, timestamps, or URLs only when the user asks for sources, a fact is disputed, freshness needs auditing, or attribution materially changes confidence. DayTrading.monster URLs may appear in a dedicated source list or audit trail when needed, but the analysis prose should not use site-specific "source shows" phrasing. Avoid repetitive phrasing such as "`快讯显示`", "`消息面显示`", "`数据确认`", or timestamp-led source narration as sentence starters. Lead with the inferred market structure: what is driving, what is dragging, what funds are buying/selling, whether the move is broad or narrow, and what that means for the user's decision.

Do not paste long article text or bulk live-feed items. Paraphrase and cite only the short headline-level evidence needed for the analysis.
market-calendar-google26.2 KB

View saved version →

---
name: market-calendar-google
description: 整理一周美日财报及中美日宏观事件日历,核验时区和时间;连接可用且获授权时写入Google Calendar。
---

# Market Calendar Google

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

## Overview

Use this skill to turn weekly market calendars into concise Google Calendar events for the user. Support three workflows:

1. US earnings calendar for a week, usually from the Earnings Whispers "Most Anticipated Earnings Releases" image.
2. China/US/Japan macro, central-bank, auction, and market-event calendar for a week.
3. Japan stock earnings calendar for a week, usually from SBI Securities settlement announcement data.

Default to the user's local timezone from the runtime environment. Use the current date and timezone from the environment to resolve "this week" and "next week". If the user's timezone is unavailable, ask for the target timezone before writing Calendar events.

## Shared Rules

- Calendar writing requires an actually available, connected and authorized Google Calendar capability; its Skill/tool name may vary by environment.
- When Calendar writing is requested, first ensure Google Calendar tools are available. If they are not already loaded, use the available capability-discovery tool, such as `tool_search`, with a query such as `Google Calendar search create event` to surface the Google Calendar tools before doing calendar work.
- If Google Calendar tools still are not available, tell the user the exact next action: connect or install the Google Calendar connector/skill, then stop before claiming events were written.
- If a Calendar write fails with an authorization/authentication error such as `401`, `UNAUTHORIZED`, `PERMISSION_DENIED`, expired token, missing scope, or write access failure, do not just repeat the raw error. Handle it as an actionable connector state:
  - First, try the least disruptive recovery path available in the current environment, such as loading the `google-calendar:google-calendar` skill/tools with `tool_search`, re-reading a bounded calendar window, and retrying the same write once if the connector becomes available.
  - If the environment exposes a connector install/authorization flow, ask the user to approve that concrete flow or invoke the relevant install/authorization request instead of asking them to diagnose OAuth/scopes.
  - If automatic recovery is not possible, tell the user exactly what to do in one sentence, for example: "请在当前环境的 Google Calendar 连接里重新授权写入权限,然后我会继续创建这些日程。"
  - Preserve the prepared event payloads and duplicate-check results in the response so the user can retry without reconstructing the calendar work.
  - Never claim events were written unless a follow-up bounded search verifies the created or updated events.
- Use Google Calendar tools. Search the target week first to avoid duplicates before creating or updating events.
- Preserve existing user-created calendar details unless the user asks to overwrite them.
- Put a country flag at the start of titles when the event has a clear country:
  - US: `🇺🇸`
  - China: `🇨🇳`
  - Japan: `🇯🇵`
- If several events fall in the same 30-minute bucket, combine them into one event. Buckets are `:00-:29` and `:30-:59`.
- If combined events are all from the same country, use the flag only once. If countries differ, include each relevant flag before its event name.
- Do not combine earnings events (`ER` or `決算`) with macro, auction, holiday, political, central-bank, conference, index-change, or other market-event items. Even if they fall in the same 30-minute bucket, create separate Calendar events. The 30-minute combining rule applies only within the same workflow/category.
- Use the user's local-time event times in Calendar. Convert source-market event times into the user's local timezone before writing events. In descriptions, write in Chinese unless the user asks otherwise.
- For 5-star events, set Google Calendar event color to red when supported and authorized (Google Calendar `color_id: "11"`, after confirming the tool's color map).
- Prefer transparent events for informational market calendar items unless the existing event uses a different setting or the user asks to block the calendar.
- Do not include process/source boilerplate such as "parsed from image", local file paths, or explanations of why something was included. Include actionable market notes instead.
- Do not repeat information that is already obvious from the calendar title or time slot. For example, avoid writing "title focus", redundant timezone labels, session labels, or the same event list twice unless that detail adds new useful context.
- In Google Calendar descriptions, use `・` for bullet-like lines instead of leading hyphen bullets. The connector may persist leading `-` as escaped `\-`.
- For US earnings, use a personal moomoo watchlist only when the user requests and authorizes that source. If it is unavailable or incomplete, `https://daytrading.monster/api/themes?market=us` may be used as the backup candidate theme list.
- For Japan earnings, the default candidate list source is `https://daytrading.monster/api/themes?market=jp`, because local moomoo OpenD may not expose individual Japan stock watchlist codes. If the user provides a Japan CSV or another usable personal list, that personal list takes priority.
- Treat `daytrading.monster` as a market-relevance candidate pool, not as a personal watchlist. Use the canonical JSON interfaces in `https://daytrading.monster/api-docs/` only; do not scrape the `/themes/` frontend HTML, `noscript`, or static SEO text as candidate data. Read `themes[]` (`market`, `theme_key`, `theme_name_zh`) and their `constituents[]` (`code`, `name`, `weight`, `reason_zh`); prefer higher `weight`, currently relevant themes, and names that match the earnings calendar. Parse the `text/plain` response body as JSON; it supplies candidates, not earnings dates.
- Do not mention DayTrading.monster, theme-data, candidate-source names, local paths, or other source boilerplate in Calendar titles/descriptions or final prose by default. Include source URLs in the research output or event details where they support verification.

## Earnings Workflow

### 1. Find Earnings Whispers And Verify The Calendar

- If the user provides an image, read it directly.
- If the user asks Codex to find the weekly earnings image, search the web instead of asking the user for the image.
- Prefer sources in this order:
  1. Reddit `r/EarningsWhisper` posts by `epswhispers`, because they are easy to search, usually have the image attached, and the post title often includes the exact week.
  2. Earnings Whispers website/calendar pages, useful for cross-checking dates/tickers but not always enough to recover the summary image.
  3. Reposts/image search only as fallback, and only if the image itself clearly shows the correct week.
- Do not use X by default. It often requires login or browser permissions and is not worth the friction for this workflow. Try `https://x.com/eWhispers` only if the user explicitly asks for X as the source.
- Useful search patterns:
  - `site:reddit.com/r/EarningsWhisper "The Most Anticipated Earnings Releases" "<Month D, YYYY>"`
  - `site:reddit.com/r/EarningsWhisper "week of <Month D, YYYY>" "epswhispers"`
  - `Earnings Whispers Most Anticipated Earnings Releases week beginning <Month D, YYYY>`
  - `Earnings Whispers earnings calendar <week Monday date>`
- Confirm the image or post title explicitly says the correct week, such as "Week of <Monday date>" or "week beginning <Monday date>". Do not use an image for the wrong week.
- If the date is unclear, keep searching or ask the user before writing events.

### 2. Extract And Normalize

- Extract tickers by weekday and release timing:
  - US before open
  - US after close
- Watch for OCR mistakes on small labels. Verify suspicious ticker labels against the user's watchlist CSV or a reliable ticker source. Example: Circle is `CRCL`, not `CRCI`.
- Prefer a confirmed company release time. If only BMO/AMC is known, the following are organizing placeholders, not official release minutes; use them for writes only under an accepted user preference. Map US session timing from `America/New_York` to the user's local timezone and account for US daylight saving time:
  - US before open -> `08:30 America/New_York`, duration 30 minutes, converted to the user's local timezone.
  - US after close -> `16:00 America/New_York`, duration 30 minutes, converted to the user's local timezone.
  - Do not hard-code JST examples unless the user's local timezone is Japan; show the converted local time only when useful.
- If Friday after-close is absent, do not invent it.

### 3. Prioritize Title Tickers

- For US stocks, prefer the list supplied for this task; read a personal moomoo watchlist only when requested and authorized.
- If the user provides a watchlist CSV, use it as an ordered priority list. Detect common ticker columns such as `代码`, `Ticker`, `Symbol`, or similar. The earlier a ticker appears, the more important it is.
- If moomoo or CSV is unavailable, prioritize by market relevance: liquidity, market cap, options/retail attention, sector read-through, and user-stated preferences in the conversation.
- For US stocks, when no personal watchlist is available or the user asks for a broader candidate pool, use `daytrading.monster` theme data as the backup relevance source. Do not create events solely because a ticker appears there; require overlap with the earnings calendar and meaningful market relevance.
- Put only the tickers the user likely needs to see in the title, primarily watchlist matches.
- If a slot has no watchlist matches, do not create a Calendar event for that slot unless the user explicitly asks for every slot to be represented.
- When skipping a no-match slot, mention it in the final report with the session and the main tickers that were skipped, so the user can audit what was intentionally left out.
- Use a short fallback title with the most liquid/market-relevant names only when the user has no usable watchlist or explicitly wants a title for every slot.
- Keep all extracted tickers in the description.
- If an earnings slot overlaps with a macro or market-event calendar item, keep the earnings event separate instead of merging titles or descriptions.

### 4. Calendar Format

Title:

```text
🇺🇸 ER | TICKER TICKER TICKER
```

Description structure:

```text
重点看点:
・AAA:一句话写业务/交易看点和财报重点。
・BBB:一句话写业务/交易看点和财报重点。

其他留意:只写少量非标题但值得关注的名字和原因。
```

Do not include redundant blocks such as "美股时段", repeated timezone labels, or "标题重点" when the title and calendar slot already make them clear.

## Japan Earnings Workflow

### 1. Source And Scope

- Prefer SBI Securities settlement announcement data when available. The public ETGate page embeds the real Iris JSONP endpoints and volatile request parameters in inline JavaScript:
  - `ANNOUNCE_INFO_DATE`
  - `ANNOUNCE_INFO_PARAM`
  - `ANNOUNCE_CALENDAR_URL`
  - `ANNOUNCE_CALENDAR_PARAM`
- Do not call `vc.iris.sbisec.co.jp/calendar/settlement/stock/announcement_info_date.do` with only `selectedDate`; SBI returns `<!-- ERROR Calendar -->`. First fetch the current ETGate entry page, extract `ANNOUNCE_INFO_DATE` and `ANNOUNCE_INFO_PARAM`, then call `ANNOUNCE_INFO_DATE + ANNOUNCE_INFO_PARAM + "&selectedDate=YYYYMMDD"`.
- Query one selected date at a time; the JSONP response contains the full day's body and the website pagination is only front-end display. Do not scrape page-by-page if the JSONP endpoint is available.
- Use `selectedDate=YYYYMMDD` for each trading day in the requested week.
- With Python and network access, use the bundled [SBI script](scripts/fetch_sbi_jp_earnings.py), for example `python3 scripts/fetch_sbi_jp_earnings.py --date YYYYMMDD --format json` from this Skill directory. Otherwise use an available connector or browser for the same dynamic discovery. No execution means the script cannot run; no network means this fetcher cannot obtain current events.
- If the ETGate URL changes or the helper cannot extract the JavaScript variables, recover the current entry page by searching the web for `sbi 決算発表スケジュール` or `site:sbisec.co.jp 決算発表スケジュール 国内株式`, then use the discovered URL for the current retrieval.
- If SBI is unavailable after dynamic discovery, use Traders Web `https://www.traders.co.jp/market_jp/earnings_calendar` as fallback. It is easy to parse but may require pagination.

### 2. Watchlist And Filtering

- For Japan stocks, default to the canonical `https://daytrading.monster/api/themes?market=jp` JSON as the candidate list, unless the user provides a Japan CSV or another usable personal list. Do not use rendered/static `/themes/` page text or `noscript` content for the candidate list.
- If the user provides a Japan stock CSV, add only matching stock codes from that CSV. Detect columns such as `代码`, `コード`, `Ticker`, or `Symbol`.
- Use the CSV order as priority. Earlier rows are more important and should appear first in titles and details.
- If the user says to use moomoo watchlists, read the relevant moomoo group(s) when available. If moomoo only returns Japan index futures or otherwise cannot provide individual Japan stock codes, say so and continue with `daytrading.monster` as the default candidate source.
- Never add every Japan earnings item by default. When a Japan CSV, moomoo-derived list, or `daytrading.monster` candidate list is being used, create Calendar events only for earnings names that overlap that list, unless the user explicitly asks to broaden beyond the list.
- After finding list overlaps, prioritize within those overlaps by CSV/list order, market cap, liquidity, index relevance, sector read-through, user preferences, and the `theme_key`/`weight`/`reason_zh` fields from `daytrading.monster`.

### 3. Calendar Grouping

- Use the published Japan event time as the source time, then convert it to the user's local timezone before writing Calendar events.
- Group events by 30-minute bucket: `:00-:29` and `:30-:59`.
- Create one 0-minute event per bucket.
- If a stock has no concrete time, retain “time unannounced”; an explicitly labeled 08:00 local-time marker is allowed only under an established user preference.
- Preserve the user's reminder preference; disable reminders only when requested or established for this calendar.
- Prefer transparent events.

### 4. Title And Details

Title:

```text
🇯🇵決算|会社名、会社名、会社名
```

- Use company short names after `決算|`, not numeric stock codes.
- Keep only the highest-priority names in the title, usually up to 5. If more names are in the bucket, append `等N只`.
- Put stock codes in the description, not as the title's primary signal.

Description:

```text
具体时刻:
・会社名(コード,HH:MM)
・会社名(コード,HH:MM)

重点看点:
・会社名:一句话写业务/交易看点和财报重点。
・会社名:一句话写业务/交易看点和财报重点。
```

- Do not write redundant blocks like "时间分区", "标题重点", "本分区全部财报", or generic source disclaimers.
- Do not mechanically list `本決算`, forecast, or consensus for every stock. Mention estimates/consensus only when they are directly useful to the market note.
- The note should explain why the stock matters: business line, sector read-through, orders, margins, guidance, shareholder returns, FX sensitivity, AI/semiconductor exposure, bank net interest margin, defense orders, commodity price exposure, or similar.

## Macro/Event Workflow

### 1. Build The Weekly List

- Cover China, US, and Japan events that can move equity, rates, FX, commodities, crypto, or the user's watched stocks.
- Treat the candidate list as research input, not a calendar to copy. A market calendar should answer: "What could change a trading decision before the next session?" rather than attempt exhaustive news coverage.
- Prioritize the markets specified by the user; do not infer a personal Japan preference. Include Japan events that can realistically move JGB yields, USDJPY/JPY crosses, Japanese banks, exporters, growth stocks, real estate, semiconductors, or broad TOPIX/Nikkei risk appetite.
- Do not turn this into a generic economic calendar. If there are too many candidates, keep only the events that are tied to the current market theme and have a plausible trading impact.
- Always identify the current market theme before ranking events. Examples:
  - Japan inflation acceleration, BOJ hiking risk, and super-long JGB yield pressure.
  - US inflation/Fed repricing driving USDJPY and global growth stocks.
  - China policy or demand affecting Japan exporters, commodities, and Hong Kong/China equities.
- Raise the priority of events that match the current theme; lower or exclude events that are normally important but not relevant to the current trading narrative.
- Exclude categories the user already says they are handling separately, such as earnings or Treasury auctions.
- Include only events with enough confidence in date/time. Treat unconfirmed diplomacy or political headlines as an observation item unless there is recent official confirmation.
- When a user provides an article, image, or screenshot, inspect the complete article and every embedded image, table, caption, and calendar panel before deciding what is incremental. Do not infer that the visible headline or first image contains the whole weekly list.
- For current or future event calendars, browse current sources. Build candidates from a mix of comprehensive economic calendars, Chinese market-weekly calendars, and official calendars:
  - Use comprehensive calendars such as ActionForex, Investing.com, Trading Economics, Myfxbook, ForexFactory, and similar sources to collect cross-country data releases, forecast/consensus, and prior values.
  - Use Chinese market-calendar and market-weekly sources such as Jin10 (`https://www.jin10.com/` / `https://xnews.jin10.com/`) and Wallstreetcn Calendar (`https://wallstreetcn.com/calendar`) to catch China/HK-market framing, geopolitics, oil/gold/inflation narratives, and events that may not surface clearly in official data calendars.
  - Prefer official release calendars for final confirmation of high-importance US/Japan/China event dates and times: Fed, US Treasury, BLS/BEA/Census, BOJ, Japan MOF, Japan Statistics Bureau, Cabinet Office, China NBS, PBOC/LPR, customs, and finance ministry sources when available.
  - Treat Jin10 and Wallstreetcn as candidate discovery and market-narrative inputs, not as the sole authority for critical times. Cross-check `★★★★` and `★★★★★` events against official or another high-quality calendar before writing to Google Calendar whenever possible.

### 2. Classify Before Ranking

Classify each candidate so that its evaluation and Calendar treatment are consistent:

1. **Systemic macro**: employment, inflation, growth, central-bank decisions, central-bank communication, and sovereign-auction supply/demand.
2. **Market structure**: index rebalances, expiry/settlement, inclusion changes, lock-up expiries, and scheduled trading-rule changes.
3. **Theme/company catalyst**: confirmed AI, semiconductor, energy, automotive, battery, or other industry conferences; product launches; and investor days. Earnings remain a separate workflow.
4. **Policy/geopolitical catalyst**: confirmed policy implementation, tariff deadlines, official meetings, or diplomacy with a clear asset-price transmission path.

Exclude vague commentary, routine sector events, one-off company items without a user-relevant read-through, and unconfirmed political headlines. Keep skipped candidates in the final audit only when that helps the user understand an intentional omission.

### 3. Rank And Filter

- Assign importance stars from `★` to `★★★★★`.
- For Calendar writing, if the user asks for "四星以上", include only `★★★★` and `★★★★★`.
- Even when the user says "四星以上", do not add every `★★★★` event automatically. Add `★★★★` only when it is connected to the current market theme and has a clear impact path. Add all `★★★★★` unless there is no concrete time or the event is unconfirmed.
- Default to a smaller, higher-signal calendar. The goal is not coverage; the goal is to prevent noise while preserving events that can change trading decisions.
- Score each candidate across five practical checks before assigning stars: (1) likely intraday price impact, (2) ability to change the next days/weeks market narrative, (3) direct connection to the user's markets, watchlist, or active themes, (4) scope for a meaningful surprise versus consensus, and (5) confidence in the date, time, and event itself.
- A `★★★★` entry needs both a clear transmission path and a current-theme connection. `★★★★★` is reserved for systemic catalysts or unusually sensitive Japan rates/JPY events. A headline's own star label is a discovery hint, not the final rating.
- Treat Japan inflation, BOJ communication, and JGB supply/demand events as high priority only when Japan rates/JPY are an active market driver. Examples include national CPI, Tokyo CPI, CGPI, BOJ decision/outlook/report, Summary of Opinions, BOJ minutes, Governor/deputy governor speeches, and 10y/20y/30y/40y JGB auctions.
- Require a concrete time for normal Calendar insertion. For a confirmed, high-signal conference, product launch, or policy meeting with no public time, use a transparent 0-minute `08:00` local-time marker only when the user's established preference permits it; state that the precise time is unannounced. For multi-day events, create one marker on the first day and include the date span in the title.
- Convert the source-market date and time into the user's local timezone. For a cross-timezone event with only a local date, try to confirm the actual start time before choosing the local Calendar date; do not silently present an uncertain conversion as an exact appointment.
- Data releases use duration 0 minutes. Speeches or press conferences use duration 30 minutes unless the user specifies otherwise.

### 4. Required Details

For each event, collect or estimate:

- Importance stars.
- Forecast/consensus and prior value where available. If no reliable numeric consensus exists, say so.
- "If higher than expected" impact.
- "If lower than expected" impact.
- Make impacts concrete where possible: USD, JPY, CNH, yields, Nasdaq/growth stocks, value/cyclicals, gold, crypto, commodities, China/HK equities, Japanese banks/exporters.
- For Japan-relevant events, explicitly state the likely direction for JGB yields, JPY, and affected Japanese equity groups when applicable: banks, exporters, growth stocks, real estate, semiconductors, domestic demand, or commodities.
- For confirmed non-numeric events, replace forced forecast fields with the decision variables that matter: for example production guidance and commercialisation for a product launch, policy language and export controls for a government meeting, or supply guidance for OPEC+.
- When a fresher credible source revises a consensus or prior value, update the existing Calendar description rather than create a duplicate event. Do not retain stale estimates merely because they appeared in an earlier weekly source.

### 5. Calendar Format

Single event title:

```text
🇺🇸 美国4月CPI
🇨🇳 中国4月CPI/PPI
🇯🇵 BOJ Summary of Opinions
```

Combined title examples:

```text
🇺🇸 美国4月零售销售 / 进口价格
🇯🇵 日本PPI / BOJ发言
🇨🇳 中国CPI/PPI / 🇺🇸 美国CPI
```

Description structure:

```text
重要度:★★★★

预期/前值:
・预期:...
・前值:...

如果高于预期:
・利多/利空...

如果低于预期:
・利多/利空...
```

For combined events, repeat the same block per event separated by:

```text
---
```

Do not repeat the event name, country, type, or calendar time in the description when the title and calendar slot already show them. Keep the description focused on importance, forecasts, and directional market impact.

If a macro or market-event item overlaps with an earnings event, keep the macro/event item separate instead of merging titles or descriptions.

## Updating Existing Events

- For existing US Treasury auction events in the target week, title-prefix with `🇺🇸`.
- For existing `ER |` events, title-prefix with `🇺🇸` unless already present.
- For 5-star events, update `color_id` to `11` red.
- Do not add duplicate flags. If a title already begins with the correct flag, leave it.

## Verification

After writing:

- Search the target week for the created/updated title prefix or keyword.
- Confirm count, titles, dates/times, and color for 5-star items.
- Confirm the date conversion for events sourced outside the user's timezone and the `08:00` placeholder convention for confirmed undated events.
- Summarize only what changed and mention anything intentionally excluded, such as unconfirmed events, weak read-through, or no concrete time.

Referenced files: 1

market-daily-strategist13.5 KB

View saved version →

---
name: market-daily-strategist
description: 综合中国、日本和美国市场的盘前、盘中、收盘及长线研究,形成基于证据的条件策略。
---

# Market Daily Strategist

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill for the user's market reports. This is not a scheduler; ignore any clock-trigger wording from the original prompts. Route by user intent:

- 美股盘前、开盘前、pre-market、盘前策略、美股今晚怎么做、美股明天如何做、今天美股怎么看、纳指今晚怎么看、标普明天怎么看、美国市场怎么做、美股大盘策略: read [us-pre-market](references/us-pre-market.md).
- 美股收盘、昨晚美股、复盘、close recap: read [us-close-briefing](references/us-close-briefing.md).
- 日股盘前、日经盘前、日本开盘前、明天日股如何做、今天日股怎么做、日经明天怎么看、日本市场怎么做、日股大盘策略: read [jp-pre-market](references/jp-pre-market.md).
- 日股收盘、今天日股复盘、日本市场复盘: read [jp-close-briefing](references/jp-close-briefing.md).
- A股盘前、A股早盘、开盘前策略、明天A股如何做、今天A股怎么做、A股明天怎么操作、大盘今天怎么办、沪指明天怎么看、创业板明天怎么看、科创板今天怎么做、A股大盘策略: read [cn-pre-market](references/cn-pre-market.md).
- A股收盘、A股复盘、今天A股市场回顾: read [cn-close-briefing](references/cn-close-briefing.md).
- 美股长线推荐、每日美股荐股、推荐一只美股: read [us-long-term](references/us-long-term.md).
- 日股长线推荐、每日日股荐股、推荐一只日股: read [jp-long-term](references/jp-long-term.md).
- A股长线推荐、每日A股荐股、推荐一只A股/ETF/LOF: read [cn-long-term](references/cn-long-term.md).

If the user asks a broad current-session or next-session question such as `明天/今天/今晚 + 市场/大盘/美股/纳指/标普/日股/日经/TOPIX/A股/沪指/创业板/科创板 + 如何做/怎么做/怎么看/怎么操作/怎么办`, treat it as a pre-market, current-session, or next-session strategy request for the named market, not as a generic macro question. If the market is named by an index, map it to the corresponding market reference above. If the user says only `盘前信息`, `收盘复盘`, `大盘怎么做`, or `推荐一只股票`, infer the market from the conversation. If unclear, ask one concise question for the market: 美股、日股、还是A股.

Always read [shared](references/shared.md) first, then only the one task-specific reference that matches the user request.

For any daily or one-name recommendation, also read [strategy-archetypes](references/strategy-archetypes.md). Assign one primary strategy archetype before choosing entry, invalidation/stop, holding period, and exit. Do not combine an event-trade entry with a value-investing stop, or a swing entry with an indefinite long-term exit.

Reference reading rule: when this skill selects a reference file, first scan the file structure, then read the sections and nearby guardrails relevant to the current task. Read the complete file when it is short, when the task is broad or strategic, or when partial reading could miss constraints. Do not rely on stale memory or heading-only scans.

During question decomposition, actively expand broad market, sector, theme, and long-term stock questions into `mainline x funds x game x cycle` when that lens can change the conclusion, even if the user did not explicitly ask for it. In those cases, read the relevant sections of [global-mainline-funds-game-cycle](references/global-mainline-funds-game-cycle.md). When the conclusion depends on whether a collective sector/theme surge can continue, load `stock-sentiment-analysis` and apply its market-sector-stock resonance framework across A-shares, U.S. stocks, or Japanese stocks.

## Core Workflow

1. Identify the report type and market.
2. Confirm current date/time in Japan time and whether the relevant next or current session is open. If the market is closed, follow the task-specific closed-market rule instead of forcing a normal report.
3. Gather latest data from reliable live sources. Use market-specific primary sources listed in the task reference.
4. For U.S. and Japan market reports, treat the current DayTrading.monster news-details index as the most important public theme-discovery source before synthesis. Use its linked news details and the X account monitor when they materially fit the question. These layers guide what to verify; they do not replace live market news, price/sector confirmation, filings, or official disclosures. Follow the DTM API routing in [shared](references/shared.md), including unfiltered Themes for cross-market transmission; this skill does not request the two DTM ratings APIs.
5. 通过当前可用网页/连接读取新闻索引,按市场与类别预筛;Python 与联网可用时,也可使用随包的 [narrative_status.py](scripts/narrative_status.py),从本 Skill 目录运行 `python3 scripts/narrative_status.py --market us --format json`(按需更换市场)。The source is `https://daytrading.monster/api/24hfeed/details`, grouping news titles, URLs and times by category. Account quality is assumed acceptable for screening; check API `generated_at`/`reviewed_at` and each entry's `time` against the report window. If it returns `stale_feed`, errors, or stale entries, skip or downgrade that layer rather than forcing it into the report. Open relevant detail URLs for the news content; the index has no direction or full narrative fields. Verify decisive items with live news, original/source reporting when available, and prices. Do not fetch historical/archive feeds or use static SEO text as current evidence.
   Use `https://daytrading.monster/api/24hfeed/x-monitor` for raw X context, checking its explicit eight-hour snapshot window. Treat this as social-media-derived source context, not verified news.
   For overall Japan PTS rising-mover discovery, prefer the three documented model APIs routed in [shared](references/shared.md); inspect the relevant session's `source_updated_at` before citing movers.
   For broad macro price context, DayTrading.monster home (`https://daytrading.monster/`) is useful for discovering TradingView symbols and whether a symbol is `D`, `24h`, or `365d`, but the latest widget prices and runtime news state are not visible in plain HTML/noscript fetches. Use a rendered browser/widget view or a programmatic TradingView/scanner equivalent before citing live prices from that dashboard.
   In the final report prose, do not name DayTrading.monster, 24H Feed, dashboard/widget names, page names, or other aggregator/source names by default. Describe the evidence generically as `当前叙事预筛`, `当前价格代理`, `PTS异动`, `评级线索`, or `行情确认`. Cite material claims with the actual source URL and time; source names need not dominate the prose.
6. Never invent prices, index levels, futures, percentage moves, gamma/options levels, flows, valuation, financials, or news. If unavailable, say `暂无具体数值` or `初步`.
7. Apply `shared.md` market-news and local-data discipline: scan enough current news before finalizing, avoid broad local-data sweeps, and prioritize items confirmed by price action, volume, flows, earnings, ratings, policy catalysts, or direct trading relevance.
8. Use simplified Chinese unless requested otherwise; use the task reference report structure, honoring the current user or Task format.

## Supporting Skills

This skill is a report router and synthesis layer. Use other market skills when they materially improve the report, but keep calls selective.

- Use `macro-news-check` when the report depends on current macro tape: rates, FX, oil, gold, commodities, central banks, economic data, geopolitics, broad risk sentiment, or live futures confirmation.
- For U.S. reports, use official moomoo skills as selective evidence helpers when installed: `moomoo-news-search` and `moomoo-stock-digest` for timely company/news context, `moomoo-comment-sentiment` for community heat, `moomoo-capital-anomaly` for capital-flow anomalies, `moomoo-derivatives-anomaly` for U.S.-applicable option anomaly dimensions, and `moomoo-technical-anomaly` for a first-pass technical anomaly scan. These are data and anomaly layers; keep this skill responsible for strategy synthesis.
- Use `us-stock-move-reason` for 1-3 important U.S. movers when the catalyst, earnings/guidance acceptance, news interpretation, option/flow anomaly, or community reaction needs a dedicated move-reason pass.
- Use `us-stock-gamma-moomoo` for US index/ETF option structure when SPX/SPY/QQQ/NQ gamma, GEX, 0DTE, dealer positioning, option walls, or intraday conversion levels could change the strategy.
- Use `stock-technical-analysis` for selected index/ETF/stock levels when the answer needs support/resistance, trend confirmation, intraday execution timing, breakout/pullback validation, or stop levels.
- Use `jp-stock-move-reason` or `cn-stock-move-reason` for 1-3 genuinely important Japanese/A-share movers when the catalyst is unclear or the stock drives the day's theme. Do not run move-reason analysis on every mover.
- Use `stock-sentiment-analysis` when crowding, leader/follower status, emotion cycle, old-leader rebound, theme acceptance/rejection, market-sector-stock resonance, or post-surge continuation affects the trading conclusion. Apply the six-factor matrix—broad-market support, turnover/liquidity, participation breadth, industry-chain diffusion, continuing fundamental validation, and non-terminal lifecycle—then separate logic durability, tape continuity, and entry quality.
- Use the narrative-status helper only as a theme-discovery and sentiment pre-screen. It can suggest which narratives to test, but it must not replace macro-news confirmation, market prices, filings/news, PTS/pre-market movers, sector breadth, gamma/options checks, or technical confirmation.
- Use 东方财富妙想 skills for A-share reports and sector questions when available, as supplemental data/search/screening only. They do not replace the report's existing market-news discipline, price-confirmed catalyst checks, emotion-cycle and leader/follower judgment, macro/technical confirmation, or source hierarchy. Use `mx-data` for quote, valuation, fund-flow, financials, index/sector data; `mx-search` for timely news, announcements, research, policy, and event explanations; `mx-xuangu` for sector/concept constituents, related-stock lists, condition screens, and peer comparisons. For questions like `A股某板块有哪些股票`, `相关股`, `概念股`, `龙头股`, or `板块成分`, try `mx-xuangu` first when available. Use `mx-zixuan` only when the user explicitly asks about 东方财富 self-selected stocks, and `mx-moni` only for explicit simulated-trading tasks.

Cross-skill calls are operational: actually load the supporting skill's `SKILL.md` and required references when using it. Keep supporting-skill output compressed into the final report instead of pasting separate mini-reports.

## Style

- Professional, concise, strategy-first.
- Start with a concise conclusion; task-reference titles are examples, not a universal length requirement.
- Prioritize actionable conclusions: 追高、等回踩、低吸、减仓、观察、避开财报风险、仓位与止损.
- Attribute important live figures and news to sources.
- When internal/current-page helper data is used, do not name DayTrading.monster, 24H Feed, dashboard/widget names, page names, or other aggregator/source names in the report prose by default; source URLs may appear in a separate source list when needed.
- For recommendation reports, clearly state that the output is not financial advice.

## Guardrails

- Read the public `/api/themes` for cross-market research; inspecting or modifying the DTM Themes project itself requires an explicit project task.
- For long-term recommendation reports, follow the requested count; for a one-name request select one target and avoid recently recommended names when that history is available in the conversation, logs, or user-provided context.
- For executable entry plans compare with the latest price, slippage and trading window; distinguish a current entry from a conditional pullback order. Apply a fixed distance cap only when requested.

Referenced files: 14

stock-sentiment-analysis8.23 KB

View saved version →

---
name: stock-sentiment-analysis
description: 从催化、预期差、市场宽度、领导股和价格反应分析市场情绪、拥挤度及主线周期。
---

# Stock Sentiment Analysis

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill as the shared sentiment layer for market skills. It does not fetch data by itself; it tells Codex how to interpret evidence gathered by `cn-stock-move-reason`, `jp-stock-move-reason`, `stock-technical-analysis`, `us-stock-gamma-moomoo`, public news, forums, breadth, and user-provided screenshots or notes.

This public-safe skill must not contain personal information, API keys, account data, private paths, raw screenshots, full copied notes, ticker-specific personal trade logs, or proprietary labels from a private RAG corpus. It must remain usable without any private RAG folder.

## Reference Reading Rule

When this skill selects a reference file, first scan the file structure, then read the sections and nearby guardrails relevant to the current task. Read the complete file when it is short, when the task is broad or strategic, or when partial reading could miss constraints. Do not rely on stale memory or heading-only scans.

## Workflow

1. Read the relevant areas of [experience](references/experience.md) before deep analysis; read the full file when the task is broad or the active playbook may affect the answer.
2. During decomposition, actively expand stock, index, and theme questions into emotion-cycle, main-line/follower, expectation-gap, crowding, cross-market sentiment, or mainline/funds/game/cycle checks when these lenses can change the conclusion, even if the user did not explicitly request them. For collective sector surges, continuation questions, and market-sector-stock resonance, apply `Market-Sector-Stock Resonance And Continuation` from [sentiment-framework](references/sentiment-framework.md); separate logic durability, tape continuity, and entry quality instead of treating a strong narrative as an automatic buy point. Read the relevant areas of [sentiment-framework](references/sentiment-framework.md).
3. Gather or receive evidence from the market-specific skill first:
   - A-shares: prefer `cn-stock-move-reason` for quote, announcements, 股吧, board ranks, breadth, and A-share emotion cycle.
   - Japanese stocks: prefer `jp-stock-move-reason` for quote, news, Yahoo 掲示板, metrics, and theme/peer context.
   - US stocks/indexes: prefer `us-stock-move-reason` for why-up/why-down/mover questions, choose `us-stock-gamma-moomoo` for option/gamma questions, and choose `stock-technical-analysis` for chart/trend questions; use them together when catalyst, positioning, and price action all matter.
   - For U.S. community discussion evidence, `moomoo-comment-sentiment` can be used when installed. Treat it as a moomoo community sample that helps measure retail heat, disagreement, chasing, and panic; it is not a full-market sentiment survey and must not replace news, filings, earnings, option positioning, or price behavior.
   - Pre-screened narrative-status entries from market reports can be used as social-media-derived clues for current themes, mainline candidates, and crowding/expectation-gap questions. Account/source quality can be assumed acceptable for screening, but timeliness is mandatory: stale source/update times are background only, not current sentiment evidence.
4. For A-share evidence, optional 东方财富妙想 skills can supplement the market-specific workflow when installed. MX data is an evidence and screening layer, not a replacement for the existing know-how: still apply source hierarchy, emotion-cycle staging, main-line/follower judgment, expectation-gap analysis, forum/news psychology, breadth, sector rotation, macro, and technical confirmation when relevant. Use `mx-data` for quote/financial/fund-flow/sector data, `mx-search` for news/announcements/research/policy, and `mx-xuangu` for sector constituents, concept stocks, peer screens, and natural-language condition screens. For A-share questions such as `这个板块有哪些股票`, `相关股`, `概念股`, `龙头股`, `板块成分`, or `同题材还有谁`, try `mx-xuangu` first when available; then use `mx-data`/`mx-search` selectively to classify purity, heat, and catalysts. If 妙想 is unavailable, continue with public sources or state the limitation. You may briefly suggest installing/configuring 妙想 only when it would materially improve the exact request; never make it a dependency.
5. Do not use account-touching 妙想 skills automatically. Use `mx-zixuan` only when the user explicitly asks to query/add/delete/filter 东方财富 self-selected stocks; for `自选股里哪些符合条件`, first try `mx-xuangu` constrained to self-selected stocks, and if unsupported, combine `mx-zixuan` self-selected results with `mx-xuangu` screening locally. Use `mx-moni` only for explicit simulated-portfolio queries or simulated trades.
6. Classify the move through three lenses: `confirmed catalyst`, `emotion/positioning`, and `technical confirmation`. When resonance matters, finish the hierarchy `market -> sector/theme -> stock` and test broad-market support, turnover/liquidity, participation breadth, industry-chain diffusion, continuing fundamental validation, and lifecycle position. Do not let forum heat replace confirmed news.

## DTM Context

Prefer data already obtained by the upstream market-specific skill. When the relevant context is missing, use the canonical JSON interfaces in `https://daytrading.monster/api-docs/`: `https://daytrading.monster/api/themes` for cross-market theme members and completed-session participation/relative strength; `https://daytrading.monster/api/chinastock-anomaly` for A-share theme rotation, limit-up structure, and move reasons; and `https://daytrading.monster/api/24hfeed/x-monitor` for discussion within the returned eight-hour snapshot window. Read `themes[]` and `constituents[]`, including coverage and quote dates; do not infer live flows from daily returns or whole-market sentiment from an account sample. Parse the `text/plain` bodies as JSON. Fetch only the layers needed for the question, retaining the existing source hierarchy and interpretation rules.

## Output Style

When used directly, answer in Chinese unless the user asks otherwise. Use this compact structure when useful:

1. `情绪结论`: risk-on/risk-off, early-cycle/late-cycle, panic, rotation, or crowded long.
2. `证据`: confirmed news, forum/post heat, breadth, sector peers, option/gamma positioning, and chart behavior.
3. `周期位置`: A-share seven-stage cycle when relevant; otherwise describe low-vol accumulation, early breakout, acceleration, distribution, or de-risking.
4. `主线判断`: leader/follower/defensive alternative/old-leader rebound/noise.
5. `验证条件`: what confirms continuation.
6. `失效条件`: what shows emotion has turned.

Do not give direct trading instructions. Give conditional conclusions and clearly label uncertain forum narratives as `思惑` or `未确认`.

Referenced files: 2

stock-technical-analysis13.5 KB

View saved version →

---
name: stock-technical-analysis
description: 分析股票与指数的趋势、支撑压力、量价动能、突破回踩和有条件的入场止损退出计划。
---

# Stock Technical Analysis

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill when the user asks about price action, technical setup, intraday odds, support/resistance, trend continuation, pullback risk, or chart-based timing for US stocks, Japanese stocks, or A-shares.

This public-safe skill is self-contained and contains only generalized technical-analysis methods. Do not commit personal information, API keys, account data, private RAG files, or private research materials to GitHub. It must not store personal positions, private research paths, proprietary indicator names, private person names/handles, or private strategy labels. It may use a user-specified private RAG folder during a session, but the skill must remain usable without it.

## Core Rule

Before deep analysis, read [experience](references/experience.md) if it exists, but only the `Active Playbook` sections unless the user explicitly asks for historical lessons. Apply those lessons to intraday execution realism, pressure/support confirmation, and post-discussion learning.

Cross-skill calls are operational. When this workflow says to use another market skill, actually load that skill's `SKILL.md` and required references when available in this package or environment. Do not merely mention the other skill by name in the answer.

When a live chart is visible in moomoo or another trading/chart app, use the chart directly if the user asks for `现在`, `再看看`, `moomoo`, `分时`, `图表`, `资金流`, `盘口`, or asks whether a level is being confirmed. Confirm the ticker and chart timeframe before reading signals.

For U.S. stocks and ETFs, prefer direct moomoo OpenD 1-minute K-line data over screenshot-only reads when OpenD is available. Subscribe to `SubType.K_1M` first, then call `get_cur_kline`; if the subscription fails because of missing permissions, unsupported symbols, or index restrictions, fall back to the moomoo app chart or a user-provided screenshot. OpenD may not support U.S. index K-lines such as `.SPX`, and some local setups may not have Japanese-stock or A-share permissions, so use SPY or the relevant ETF as a proxy only when appropriate and state the proxy clearly. When using SPY to judge SPX intraday structure, convert SPY levels into SPX levels before answering, using the freshest SPX or ES/SPX anchor available; report SPX levels first and note the SPY proxy only as source context.

For U.S. single-stock technical anomaly checks, use `moomoo-technical-anomaly` as an optional first-pass scanner when it is installed and OpenD is available. Treat its K-line, MA, MACD, RSI, KDJ, BOLL, and other abnormal-event output as a prompt for where to look, not as a buy/sell conclusion. The final technical judgment must still follow this skill's own framework: trend location, VWAP / moving-average relationship, volume-price confirmation, momentum divergence, support/resistance, failed breakout, and whether price holds after the signal.

Never answer only by following the latest tick. Use the sequence:

1. Identify the return thesis and holding horizon: crisis-beta, core-quality swing, dividend/income, event repricing, quality value, growth/optionality, or another clearly stated thesis. If the user only provides a chart, state that technical analysis can define execution invalidation but cannot prove a fundamental thesis.
2. Determine the timeframe: intraday trade, 1h+ swing, trend holding, or post-event reaction. For 1h+ and swing judgments, combine technicals with sentiment/news context instead of reading the chart alone.
3. Read price location: current price versus prior high/low, opening price, yesterday close, VWAP if available, 5/20-day lines, and obvious pressure/support.
4. Check volume-price confirmation: breakout must show volume and stand above the level; volume without price progress is possible distribution; shrinking pullback can be healthy only if support holds.
5. Check momentum: KDJ, MACD, RSI, and whether price makes a new high while momentum does not.
6. Check structure: trend continuation, high-level divergence, 空中加油, 回踩确认, 破位反抽, or 冲高回落.
7. For U.S.-listed stocks/ETFs only, optionally use ChartExchange dark-pool/off-exchange levels as hidden-liquidity reference zones when the stock has unusual volume, unexplained movement, repeated support/resistance, or a news reaction that price is accepting/rejecting. Do not apply this to A-shares or Japanese stocks. Dark-pool data has no buy/sell side; a level matters technically only after price confirms it with acceptance, rejection, repeated defense, or failure to reclaim.
8. Check market context: sector/peer confirmation, broad market tone, rates/FX/volatility when relevant, and for A-shares the emotion cycle. Call `macro-news-check` only when current macro or broad-market tape can plausibly change the read, such as index-wide selloffs/squeezes, rates/FX shocks, central-bank or data releases, commodities, geopolitics, or sudden futures moves. Use `stock-sentiment-analysis` for a deeper shared sentiment framework.
9. Give conditional conclusions and make entry, execution stop, thesis invalidation, time stop, and exit test the same return thesis.

For A-share technical reads, optionally use 东方财富妙想 skills when they are already installed, but keep them as a supplemental data layer rather than a replacement for the existing price-action workflow. Continue to judge trend, support/resistance, volume-price confirmation, sector/broad-market context, sentiment, and macro when relevant. `mx-data` can supplement current quote,涨跌幅,成交额/量,主力资金, historical prices, index/sector context, and valuation fields; `mx-search` can supplement current event/news context when a technical break may be news-driven; `mx-xuangu` can help build peer or board constituent comparisons and can run natural-language technical screens such as consecutive moving-average alignment plus price-above/below-MA conditions. If the user asks which A-shares belong to a sector/theme or asks for `相关股`, `概念股`, `龙头股`, or `板块成分`, use `mx-xuangu` first when available. Do not block the analysis if these skills are unavailable or fail; you may briefly suggest installing/configuring 妙想 only when that layer would materially improve the exact A-share request. Use `mx-zixuan` and `mx-moni` only when the user explicitly asks for self-selected-stock management/filtering or simulated portfolio/trade operations.

Do not read local research folders or indicator files by default. If the user explicitly provides a file or asks to learn from a specific document, extract only reusable public-safe rules. Do not store local file paths, proprietary indicator names, personal slogans, private strategy names, private person names/handles, or original document labels in this skill. Generic public concepts such as Vegas channels, KDJ, MACD, RSI, VWAP, and support/resistance may be retained.

## DTM Index And Theme Context

For DTM data, use the canonical JSON interfaces in `https://daytrading.monster/api-docs/`. When relevant to the target index, read `https://daytrading.monster/api/gamma/` for SPX/SPXW structure and SPX Camarilla, `https://daytrading.monster/api/range/nikkei` for Nikkei, or `https://daytrading.monster/api/range/sse` for Shanghai Composite. For the two index-trajectory endpoints, check `market_date`, `market_status` and `stale`; read fixed `camarilla` levels, `chart_range`, `daily_gaps`, `trajectory_5m`, and actually returned `moving_averages`/`vwap`. `price_trajectory.points` (`timestamp`, `index_value`) preserves all available session price points without interpolation or guaranteed tick completeness. Empty premarket trajectories must not be replaced with a prior session. These two endpoints contain no Gamma, GEX, DEX, expiry or options fields and do not replace individual-stock K-lines. HTML contracts: `https://daytrading.monster/api-docs/range-nikkei` and `https://daytrading.monster/api-docs/range-sse`. For theme context, select `https://daytrading.monster/api/themes?market=us`, `https://daytrading.monster/api/themes?market=jp`, or `https://daytrading.monster/api/themes?market=cn`; use members and completed-session performance, not assumed live intraday strength. Parse these `text/plain` bodies as JSON and reuse relevant data already obtained upstream.

## When To Load The Reference

For quick answers, apply the core rule directly.

For any of the following, read [technical-analysis-playbook](references/technical-analysis-playbook.md) first:

- The user asks "能不能到某个价格", "现在怎么看", "日内", "分时", "压力位", "支撑位", "技术分析", "买点", "卖点", "突破", "回踩", "空中加油", "KDJ", "MACD", "RSI", or "Vegas".
- The user asks for an entry plan, stop-loss, invalidation, holding period, take-profit, or exit plan.
- The stock has already moved sharply today.
- The answer may affect a same-day trading decision.
- You are using moomoo, Yahoo chart, or screenshots to read the chart.
- The user asks to use moomoo or another charting/trading app, or the chart is already visible and current.

For chart-app workflows, read the `Chart App Visual Workflow` section in [technical-analysis-playbook](references/technical-analysis-playbook.md).

For Japanese stocks and A-shares, prefer `jp-stock-move-reason` or `cn-stock-move-reason` as the first pass for news/emotion/catalyst context. Use this skill after that first pass when the user asks for chart timing, when the discussion becomes repeated/deeper, or when a 1h+ chart must confirm whether the narrative is accepted.

## Output Style

Reply in Chinese unless the user asks otherwise. Be decisive but conditional.

Use this compact structure when useful:

1. `结论`: state whether the setup is strong, weak, or only a candidate, and name the key confirmation level.
2. `技术结构`: trend, support/resistance, moving averages, and K-line pattern.
3. `量价/动能`: volume, KDJ/MACD/RSI, divergence, and funding/order-flow clues if available.
4. `触发条件`: what must happen for the bullish or bearish scenario to confirm.
5. `失效条件`: the level or signal that invalidates the read.
6. `计划一致性`: when a trade plan is requested, distinguish execution invalidation from thesis invalidation and state the exit/time-stop condition derived from the same thesis.

Avoid giving direct trading instructions. Use probability bands only when the evidence supports them, and explain what would change the probability.

## Coordination With Market Skills

This skill handles chart and technical structure. For catalysts, valuation, news, 掲示板/股吧, and move reasons, combine it with the relevant market skill:

- Japanese stocks: `jp-stock-move-reason`
- A-shares: `cn-stock-move-reason`
- Shared emotion framework: `stock-sentiment-analysis`
- Macro and broad-market tape when needed: `macro-news-check`
- US option gamma: `us-stock-gamma-moomoo`

For US stocks, choose based on the question: use `us-stock-gamma-moomoo` when option positioning, gamma walls, 0DTE, IV, or dealer hedging matter; use this skill when chart structure and timing matter; use both when an options map needs price-action confirmation.

When `moomoo-technical-anomaly` is available for a U.S. stock, it can be used before or alongside this skill to surface recent official technical anomaly events. Do not paste the anomaly output mechanically; translate it into this skill's structure and explicitly say whether price, volume, and levels confirm or reject the signal.

For U.S. dark-pool technical confirmation, use ChartExchange or FINRA-derived pages only as a secondary layer. Construct ChartExchange URLs from the actual listing venue and ticker, such as `nyse-anet`, `nasdaq-nvda`, or `nyse-spy`; SPY commonly resolves to `nyse-spy` on ChartExchange. If the listing venue is unknown, search the ticker first instead of reusing a prior URL. Treat high-volume dark-pool levels like unconfirmed support/resistance until price/VWAP/volume confirms them.

When both fundamentals/catalysts and technicals matter, gather source evidence first, then use this skill to judge whether the chart confirms, overextends, or contradicts the story.

Referenced files: 2

us-stock-gamma-moomoo45.1 KB

View saved version →

---
name: us-stock-gamma-moomoo
description: 分析SPX/SPXW、股票与ETF期权Gamma结构,按可用公开资料、用户数据或本机行情能力核验关键位与数据限制。
---

# US Stock Gamma With moomoo

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill to turn moomoo OpenD option data into an actionable gamma map and a plain-language trading note.

This public-safe skill is self-contained. Do not commit personal information, API keys, account data, private RAG files, or any `Stocks` folder contents to GitHub. It may use a user-specified private RAG folder during a session, but it must not store private source paths, personal positions, original strategy names, private person names/handles, proprietary labels, or private document titles. Generic market concepts such as gamma, GEX, dealer hedging, FVG, KDJ, MACD, RSI, VWAP, and Vegas may be retained.

## Experience

Cross-skill calls are operational. When this workflow says to use another market skill, actually load that skill's `SKILL.md` and required references when available in this package or environment. Do not merely mention the other skill by name in the answer.

Required coordination: for US option/gamma analysis, use this skill as the positioning and option-structure entry point, and add supporting skills based on the analysis workflow, not only on the user's wording. If the analysis is about SPX, SPXW, SPY, QQQ, Nasdaq, Dow, Russell, VIX, Nikkei proxy gamma, or any broad index/ETF gamma map, load `macro-news-check` because index gamma cannot be read well without current macro and broad-market tape. If the analysis discusses news acceptance, theme crowding, risk-on/risk-off tone, forum/social sentiment, or leader/follower context, load `stock-sentiment-analysis`. If the final view depends on support/resistance, intraday timing, trend confirmation, failed breakout, or price-action validation, load `stock-technical-analysis`. Gamma is the positioning map; macro, sentiment, and chart structure decide whether the map is being accepted or rejected.

When official moomoo anomaly skills are installed, use them as an auxiliary scan layer, not as a replacement for the self-calculated gamma map. For user requests involving `异动`, `大单`, `IV`, `PCR`, `聪明钱`, unusual options activity, option sentiment, or volatility anomaly, call `moomoo-derivatives-anomaly` alongside this skill by default. For U.S. stocks, do not request Hong Kong-only warrant / CBBC dimensions; use only U.S.-applicable option dimensions such as `option_unusual`, `option_volatility`, `option_volume_price`, `option_sentiment`, and `option_comprehensive`. A full scan can fail if it includes Hong Kong-only dimensions, so narrow the dimensions explicitly when needed.

If the analysis uses 1-minute K-line confirmation from moomoo OpenD, coordinate with `stock-technical-analysis`: let this skill fetch or compute the option/gamma map, then use the technical skill's framework to judge whether price action accepts, rejects, or only probes a wall, pit, or flip. If the user asks why a U.S. stock moved, whether earnings/guidance/news were accepted, or what explains a price move, route the evidence-gathering entry point to `us-stock-move-reason` first, then use this skill only for the option-positioning layer.

For ordinary U.S. stock move analysis, ChartExchange-style off-exchange/dark-pool data can be a secondary confirmation layer when price action or option positioning leaves an open question. Use it after confirmed news, macro/sector tape, price/volume, and option/gamma evidence. It is most useful for hidden-liquidity context around unusual volume, unexplained moves, failed news reactions, squeeze candidates, or repeated support/resistance at specific prices.

## Mandatory Execution Gate

Before running scripts or writing the final answer, classify the request and load required sibling skills:

- **Broad index / ETF gamma** (`SPX`, `SPXW`, `SPY`, `QQQ`, `Nasdaq`, `Dow`, `Russell`, `VIX`, `Nikkei`): load `macro-news-check` first or in parallel, then explicitly merge the macro tape with the gamma map. Do not answer index gamma from gamma data alone.
- **宏观 / 快讯 / rates / FX / commodities / geopolitics / Fed / yields**: load `macro-news-check`. Do not substitute ad hoc web search for this layer.
- **技术面 / intraday execution / "now" / support-resistance / "can it get through" / price action**: load `stock-technical-analysis` unless the user asks for a pure option-positioning dump. Use price action to decide whether a wall/pit is accepted, rejected, or only a battlefield.
- **官方 moomoo 期权异动 / 大单 / IV / PCR / 聪明钱**: when `moomoo-derivatives-anomaly` is available, run it as a parallel anomaly scan using U.S.-applicable option dimensions only; do not include Hong Kong warrant / CBBC dimensions for U.S. stocks.
- **情绪面 / news acceptance / crowding / risk-on or risk-off psychology / expectation gap**: load `stock-sentiment-analysis` when sentiment or expectation gap changes the interpretation.
- **新闻接受度 / 财报 / 指引 / 股价为何涨跌**: use `us-stock-move-reason` as the upstream catalyst workflow, then merge its evidence with this skill's gamma map.
- **Dark pool / off-exchange / borrow / FTD / short-volume checks for U.S. stocks**: use ChartExchange or the original FINRA/borrow-data source only as a secondary positioning layer. Do not use dark-pool prints or off-exchange share alone as a bullish/bearish signal.
- If a required sibling skill is unavailable, say so and provide a limited gamma-only read. If it is available but not needed, state the reason briefly.

Final answers for index gamma should include a compact `融合口径` line naming the layers used, for example: `自算 SPXW gamma + macro-news-check tape + stock-technical-analysis price action + stock-sentiment-analysis emotion/expectation gap`. This makes skipped or missing skill fusion visible.

## DTM SPX Reference

For SPX/SPXW context, first reference the canonical `https://daytrading.monster/api/gamma/` interface documented in `https://daytrading.monster/api-docs/gamma`. Parse its `text/plain` body as JSON and check its session/update time. It provides current SPX structure, expiry summaries, selected strike levels, Camarilla, and 0DTE five-minute samples. Use `price_trajectory.points` (`timestamp`, `index_value`) to read all available SPX source prices in the returned session; these are price-only points, not interpolated or guaranteed tick-complete. It is a fixed SPX/SPXW reference, not a full strike grid or an arbitrary-ticker endpoint. Keep the existing moomoo collection and computation workflow for full-chain calculations, requested scenario/heatmap detail, and other stocks or ETFs; do not present a DTM snapshot as a local calculation. Reuse an applicable upstream snapshot instead of requesting it twice.

## 数据与计算能力

完整链需要真实的报价、OI、IV、Greeks、到期与乘数,以及实际计算环境。按环境能力路由使用可用供应商或用户数据;读取 [计算合同](references/gamma-research.md)。若使用已安装独立版采集器,按该工具现行入口运行;以下研究要求同样适用于其他计算环境。SPX快照失败不等于链不可用;研究不需要解锁交易。

## Default Output

Route the request before choosing a script:

- **Ordinary US stocks/ETFs**: use the installed standalone `gamma_report.py` collector, if available, or a complete chain from another authorized tool, then interpret the output with the `Single-Stock Directional Framework` below before giving a bullish/bearish view.
- **SPX / SPXW / SP500 / 标普500 / S&P 500 index gamma**: do not use `gamma_report.py` as the final workflow. Use a current SPX/SPXW chain (the external `spx_intraday_latest.py` collector is one optional route) and [spx-intraday](references/spx-intraday.md): query `US..SPX`, keep SPX/SPXW strikes directly, infer the spot anchor from SPXW 0DTE put-call parity when the SPX index snapshot is unavailable, and treat SPY only as a sanity check or fallback.

After the U.S. options session closes, never retain an expired same-day SPXW chain in a forward chart or memo. Start from the next listed unexpired expiry; the script uses that front expiry in the existing `0DTE` calculation bucket so its Flip, walls, range, and comparison logic remain front-expiry based. Label it as a `next-expiry proxy after close`, not as live 0DTE.
- **Nikkei / 日经 / 日経 / NKY / Nikkei 225 index gamma**: do not present raw EWJ ETF strikes as index levels, and do not use a current Nikkei anchor against a stale EWJ close. Use EWJ only as a proxy option book, then convert with a time-aligned bridge: EWJ quote-time value -> `NKDmain`/Nikkei futures at that same time -> current `NIYmain`/Nikkei CFD or the user's current index anchor. The external `proxy_index_gamma.py` collector is optional; reproduce the bridge only from actual time-aligned inputs. The report must state every anchor, ratio, timestamp, and limitation.

Default to a concise chat/terminal text summary. Do not create files as part of this skill unless the user explicitly requests raw JSON export.

For SPX answers, default to the detailed index-gamma format. The answer should be detailed enough to explain claims such as “still negative gamma, 7450 starts neutralizing, 7500 becomes stronger positive gamma” from data. Include:

- SPX anchor and anchor method.
- 0DTE, Next2, Fri2w, and All-window net GEX, net VEX, flip, top walls, and top pits.
- A key-strike cross-section showing 0DTE / Next2 / Fri2w / All GEX and All VEX at nearby decision levels, especially current rounded strikes, major walls, major pits, and user-mentioned levels.
- A distinction between aggregate regime and local strike regime: `All still negative` can coexist with `7450/7500 locally positive`.
- A conclusion that says whether each level is downside acceleration, neutralization/repair threshold, or stronger positive-gamma pinning wall.

多日期、同日比较与热力图请求须实际计算逐到期日结构,并读取对应参考;比较只使用实际取得的旧快照。

Use only real listed expiries from the JSON. Each chart column, Flip, Call Wall, and Put Wall must use only contracts expiring on that column's date. The solid foreground/black line is each expiry's gamma flip, not a price forecast; the dashed line is the current SPX anchor. The left `All GEX` profile must mirror all selected-expiry Call-side GEX right of zero and absolute Put-side GEX left of zero on one shared scale; overlay the raw Net GEX as a thin line. The right heatmap remains Net GEX only. Call Wall is the strike with the largest call-side GEX for that expiry; Put Wall is the strike with the most negative put-side GEX. Do not substitute maximum all-strike OI, which can select far-OTM legacy positions with little current gamma. The heatmap may smooth the visual layer along strikes, but must preserve the raw GEX calculations, Flip, and Call/Put Wall values. Read [gamma-heatmap-visualization](references/gamma-heatmap-visualization.md) before changing the range, smoothing, or chart semantics.

When no axis range is explicitly requested, render SPX from `floor(spot / 100) * 100 - 300` through `ceil(spot / 100) * 100 + 300`. For example, an anchor of 7480 renders `7100–7800`. Explicit `--min-strike` and `--max-strike` remain available for a user-requested audit range.

For Codex inline display, generate the fragment inside the thread-scoped visualization directory and emit `::codex-inline-vis{file="basename.html"}` using only the file name. The fragment must use its generated unique root ID with `document.getElementById`, never `document.currentScript`. Show desktop CW and PW values on separate rows so adjacent expiry columns remain readable. Do not create or publish a website unless the user explicitly asks for one.

完整计算流程:
- reads stock snapshot, option expirations, option chain, option snapshots, and daily K lines from moomoo OpenD;
- throttles `get_option_chain` calls and retries once after OpenD frequency-limit errors, because moomoo can reject more than about 10 option-chain requests in 30 seconds;
- chooses the pricing anchor by U.S. session: regular `last_price`, after-hours `after_price`, overnight `overnight_price`, pre-market `pre_price`, then bid/ask midpoint or regular last as fallback; label it as a pricing anchor, not guaranteed live tradable price;
- gathers option `OI`, `IV`, `delta`, `gamma`, `theta`, `vega`, bid/ask, volume;
- calculates Black-Scholes vanna from live/anchor spot, strike, IV, and DTE because moomoo snapshots may not provide `option_vanna`;
- selects option expiries by default as: all weeklies within the next 2 calendar weeks when available, plus monthly expiries for the current month and next 2 months; for high-frequency option names also include the next 2 trading-day/daily expiries when listed;
- calculates signed GEX with the common assumption `Call = +`, `Put = -`;
- calculates signed VEX with the same directional convention, expressed as spot-equivalent delta-dollar change per 1 vol point IV move;
- calculates option delta exposure (`DEX`) and approximate charm exposure by strike, plus call/put OI shelves and front-expiry IV smile/skew;
- prints a complete OpenD gamma data group by default: pricing anchor, VT/flip, gamma wall, call wall, put wall, distance to VT/CW/PW, net GEX, net VEX, net DEX, charm/day, gamma pits, vanna zones, DEX zones, charm zones, OI shelves, IV smile/skew, and a conclusion that explicitly combines these dimensions;
- recomputes gamma across a spot-price grid to estimate gamma wall, gamma trough, and gamma flip;
- when JSON output is requested, includes per-strike `gex_by_strike` and `vex_by_strike` for each bucket so later runs can detect same-strike support/risk migration instead of only comparing top walls and pits;
- includes a `per_expiry` section in JSON for each selected expiration date, so future-days gamma reads can say which exact date is weaker or stronger instead of only using `Next2` / `Fri2w` aggregate buckets;
- includes per-expiry `call_wall` and `put_wall` from side-specific GEX within that expiry; preserve `null` when no valid level exists;
- with `--by-expiry-report`, prints a per-date forward gamma memo that names each selected expiry date, net GEX, flip, main downside risk zone, upper pressure/pinning zone, and a baseline/bearish/repair scenario; use this mode for single stocks too when the user shares or asks about multi-expiry vol-trigger/gamma-wall tables;
- with `--compare-json`, compares the new snapshot with a prior JSON snapshot and highlights material strike-level changes, including positive-to-negative GEX flips where a prior support/wall has disappeared and become a pit or acceleration risk;
- prints a readable text memo by default; JSON export flags should be used only when the user explicitly asks for raw data.

For SPX 0DTE or quick trading questions, chat/terminal text is the default. Still compute or fetch the chain first when possible.

Read extra references only when the request needs them:

- For `.SPX`, `SPXW`, `SPY`, `ES`, SpotGamma/TRACE heatmap, or intraday index judgment, read [spx-intraday](references/spx-intraday.md).
- For a continuous multi-expiry SPX gamma heatmap, visual smoothing, or same-session chart comparison, read [gamma-heatmap-visualization](references/gamma-heatmap-visualization.md).
- For short-dated option value tables, account-recovery option targets, or “what is this call/put worth if price reaches X by time Y”, read [option-scenario-tables](references/option-scenario-tables.md).
- For U.S. single-stock dark-pool/off-exchange, borrow-fee, short-volume, FTD, or ChartExchange confirmation, use the `Dark Pool / Short Data Layer` section below.

## Single-Stock Directional Framework

For ordinary U.S. stocks and ETFs, the default job is not only to calculate gamma; it is to convert option structure into a directional trading read. Use this framework whenever the user asks `看多还是看空`, `bullish or bearish`, `能不能追`, `支撑压力`, `未来几天 gamma`, or shares third-party gamma screenshots/tables.

Start with the shortest useful answer:

1. State a direct bias: `偏多`, `偏空`, `中性偏多修复`, `中性偏空防守`, or `高波动战场`.
2. Name the current spot and the one or two levels that decide the bias.
3. Say what changes the conclusion: reclaim/hold above an upper trigger, or lose a lower support/put wall.

Directional labels are incomplete without levels. Whenever using labels such as `中性偏多修复`, `偏多钉扎`, `中性钉扎`, `偏空/高波动`, or `高波动战场`, immediately attach the price zone that makes the label actionable:

- **Current spot / pricing anchor**: state the current spot or pricing anchor before the directional label or in the same table row. A level is only actionable relative to spot; say whether spot is below, inside, or above the key zone. Example: `现价 198.18,偏多钉扎,钉扎区 200 附近`.
- **Pinning zone**: name the exact strike or tight range being pinned, usually the nearest dominant `GW`, `CW`, `PW`, or confirmed OI shelf near spot. Example: `偏多钉扎,钉扎区 200 附近`.
- **Repair / confirmation level**: for repair labels, name the level that must be reclaimed or held, usually `VT/flip` first, then the nearest `GW/CW`. Example: `中性偏多修复,站稳 295,突破 297.5 才打开上沿`.
- **Invalidation / downside risk**: name the put wall, flip, or gamma pit whose loss invalidates the bullish/neutral read. Example: `跌破 290/284.6 则修复失败`.
- **Battlefield range**: for mixed or high-volatility labels, give the actual range between the nearest support and pressure levels. Example: `高波动战场,260-350 是主战场,跌破 205 扩大下行`.

Do not output a direction-only label when current spot, `VT`, `GW`, `CW`, `PW`, gamma pits, or OI shelves are available. If current spot or precise levels are unavailable, say `现价/关键点位不足` and lower confidence instead of presenting a clean directional label.

Always build the read from these layers, in this order:

1. **Spot vs vol trigger**: treat the nearest major `vol trigger` or gamma flip as the regime divider. Spot below the trigger means higher-volatility/negative-gamma risk unless price reclaims it. Spot above the trigger allows repair but still needs confirmation above the nearest wall.
2. **Spot vs gamma wall**: gamma wall above spot is pressure, pinning, or a repair target; gamma wall below spot is support or a recapture zone. If spot is trapped between a put wall and a call wall, call it a battlefield instead of forcing a strong directional view.
3. **Call wall / put wall distance**: nearest call wall is the first upside pressure or pinning reference; nearest put wall is the first downside support. A wide gap between walls allows trend movement; a tight gap implies chop/pinning.
4. **Per-expiry net GEX**: identify which expiry actually dominates. Near-dated negative GEX can overpower longer-dated support and create squeeze/crash-style movement. Mixed positive and negative expiries mean conditional bias, not a clean all-in view.
5. **Open interest shelves**: use absolute OI to confirm where real option interest clusters. Treat large OI shelves above as pressure/pinning references and below as support/risk zones; do not assume OI alone reveals buyer direction.
6. **IV smile and skew**: high IV and steep downside skew strengthen the warning that the structure is defensive or volatility-seeking. A large vol smile with both call and put blocks often means long-vol/straddle/strangle positioning, not simple bullishness.
7. **Unusual option flow**: classify prints as directional only when they are clean single-leg buys/sells and the bid/ask side is visible. Treat multi-leg, condor, butterfly, straddle, strangle, or paired call/put prints as volatility/range trades unless price action proves direction.
8. **Delta hedging exposure**: use net delta-hedging pressure as a secondary force map. It can confirm where dealer hedging may add buying/selling, but it should not override spot vs trigger/wall structure.

Use the following directional rules:

- **Bullish repair**: spot is above the nearest vol trigger or reclaims it, holds above the nearest put wall/support, and has room to the next call wall. Wording: `站上 X 才算修复,第一目标 Y,突破 Y 才看 Z`.
- **Bearish pressure**: spot is below the nearest vol trigger/gamma flip, near-dated net GEX is negative, and losing the nearest put wall opens a lower put wall or gamma trough. Wording: `跌破 X 转空,下一层看 Y/Z`.
- **Neutral battlefield**: spot sits between a nearby put wall and call wall, or per-expiry GEX is mixed. Wording: `X-Y 是战场,不追单边;等站上 Y 或跌破 X`.
- **High-volatility warning**: spot is below trigger with negative GEX, IV is high, and option flow shows large puts or long-vol structures. Wording: `不是单纯看空,是波动放大;方向等关键位确认`.
- **False bullish signal**: do not call it bullish only because call wall is far above spot. A far call wall is potential upside/pinning only after spot reclaims trigger and nearby resistance.
- **False bearish signal**: do not call it bearish only because put OI is large. Put wall below spot can be support until it breaks; after it breaks, it becomes acceleration risk.

For third-party trigger/wall table interpretation, map fields this way:

| Field | Read |
|---|---|
| `VOL TRIGGER` | regime divider / volatility trigger |
| `GAMMA WALL` | main gamma pinning, pressure, or support |
| `CALL WALL` | upside pressure, pinning, or breakout target |
| `PUT WALL` | downside support while held, acceleration risk after break |
| `NET GEX` | dealer hedging regime; negative amplifies trend, positive favors chop |
| `ABS OPEN INTEREST` | where open option interest is actually concentrated |
| `IV SMILE` | whether the market is pricing elevated tail/volatility risk |
| unusual flow table | directional only if single-leg and bid/ask context is clear |

For a complete OpenD-generated gamma memo, include these dimensions when the data is available:

| Dimension | What to report | How to use in conclusion |
|---|---|---|
| `VT / Vol Trigger` | self-calculated gamma flip / volatility-regime divider | Above = repair or pinning possible; below = high-volatility or defensive unless reclaimed |
| `GW / Gamma Wall` | strongest positive GEX / pinning or pressure level | Wall above = first pressure/target; wall below = recapture/support zone |
| `CW / Call Wall` | largest call-side GEX/OI concentration | Upside pressure, pinning, or breakout target |
| `PW / Put Wall` | largest put-side GEX/OI concentration | Downside support while held; acceleration risk after break |
| `距VT / 距CW / 距PW` | percent distance from pricing anchor | Shows whether the next decision point is close enough to matter |
| `Net GEX` | aggregate signed gamma exposure | Positive favors chop/pinning; negative favors trend amplification |
| `Gamma pits` | strongest negative GEX strikes | Potential fast-move / failed-support zones |
| `Net DEX` | option delta exposure map using option delta sign | Secondary hedge-pressure map; dealer hedge may be opposite under customer-long assumptions |
| `VEX / Vanna zones` | vanna exposure by strike | Interprets IV crush/expansion pressure; never standalone bullish/bearish |
| `Charm zones` | approximate delta decay exposure by strike | Useful near expiry, especially 0DTE/weekly windows |
| `OI shelves` | largest call/put open-interest strikes | Confirms where interest clusters; not direction by itself |
| `IV smile/skew` | ATM IV, downside-wing IV, upside-wing IV, skew | Defensive skew or elevated wings warns of tail/volatility positioning |
| `Per-expiry rows` | each expiry's VT/GW/CW/PW, GEX, VEX, DEX, Charm | The dominant near-dated expiry can override the all-expiry aggregate |

When the user asks only "看多还是空", answer in this compact structure:

1. `结论`: one line, e.g. `中性偏多修复,但不是确认多头`.
2. `关键位`: `上方确认 X/Y`, `下方失守 A/B`.
3. `为什么`: three bullets maximum, using vol trigger, walls, and per-expiry GEX/flow.
4. `交易口径`: one sentence such as `不追,等站上 X;跌破 A 则按偏空处理`.

## Text Level Map And Session Memory

For SPX/SPXW and other index-style intraday gamma answers, expose the level work as text: short bullets, compact Markdown tables, and a direct bias line. Do not rely on visual-only interpretation.

For forward-looking requests such as `未来几天 gamma`, `未来几日 gamma`, `后面几天 gamma`, `哪天强哪天弱`, or a screenshot showing several expiry dates, do not answer only with `0DTE / Next2 / Fri2w` tables. Compute `per_expiry` from the available complete chain. If the corresponding external collector is installed, SPX/SPXW can use `spx_intraday_latest.py --by-expiry-report` and ordinary stocks can use `gamma_report.py --by-expiry-report`; these collectors are not bundled. Then answer in this structure:

1. Start with one sentence: `从“未来几天 gamma”角度看:...` and say whether the next 1-3 days are repaired, weak, high-volatility, or pressure-first. Name the key repair zone.
2. Add `按具体到期日看:` and one short paragraph per expiry date, e.g. `2026-06-09 周二,当天到期`, `2026-06-10 周三`, `2026-06-11 周四`, `2026-06-12 周五`. For each date, state: weak/strong label, net GEX direction and rough size, flip, main downside put-gamma risk zones, upper call-gamma pressure/pinning zones, and what price must reclaim to improve.
3. Add `我的推演:` with exactly three scenario bullets: `基准情形`, `偏空情形`, and `修复情形`. These scenarios should use dates and levels, not generic statements.
4. End with a plain conclusion such as: `所以按日期结论是:周二最弱,周三/周四仍偏压制,周五有修复窗口但门槛在 7450。`

For this mode, avoid dumping every strike or table row. The user wants the trading meaning: which date is structurally weak, where risk migrates, where repair starts, and what would invalidate the weak/strong read.

Key calculated levels:

- Prior-session pivot map: use the prior regular-session high/low/close when available. `PP = (H + L + C) / 3`, `BC = (H + L) / 2`, `TC = 2 * PP - BC`, `R1 = 2 * PP - L`, `S1 = 2 * PP - H`, `R2 = PP + (H - L)`, `S2 = PP - (H - L)`. For Camarilla, use `unit = 1.1 * (H - L) / 12`, then `H3 = C + 3 * unit`, H4/H5/L4/L5 follow the explicitly selected vendor/formula convention; do not mix variants.
- CPR interpretation: narrow `abs(TC-BC)` means a larger directional expansion is easier; wide CPR means more chop/mean reversion. Spot above `max(TC,BC)` is constructive, between the two boundaries is a balance zone, and below `min(TC,BC)` is weaker unless reclaimed.
- Gamma map: wall above spot is pressure or pinning; wall below spot is support or a recapture zone; negative pit below spot is acceleration risk; flip or vol trigger is the regime divider. Say whether the current spot is above/below flip/trigger and whether GEX is strengthening or weakening.
- Vanna map: combine top positive/negative VEX zones with IV direction, spot versus flip, and price action. Do not describe VEX alone as bullish or bearish.
When the user runs this skill multiple times during the same trading day in the same conversation, use earlier same-day results as optional but important context. Compare the new result with the earlier answer when migration could change the judgment, when the user asks "now/again", or when spot is near a wall, pit, flip, or trigger: spot, net GEX, net VEX, flip, nearest wall, nearest pit, and CPR relationship. State what migrated and what strengthened/weakened. If a prior JSON snapshot exists or the user provides one, compare the same fields and contract coverage. An installed external collector may support `spx_intraday_latest.py --compare-json ...` and `--watch-strikes`; otherwise compare through the available computation tool. Include any user-specified level such as `7400支撑还在吗`. Always check whether the same strike's GEX sign or magnitude changed materially across `0DTE`, `Next2`, `Fri2w`, and `All` buckets, but do not mechanically dump same-strike change rows in the final answer. Translate the comparison into what it means and what it may foreshadow: support quality deteriorating or recovering, risk center migrating lower/higher, upper pinning weakening, reflexive selling/buying risk rising, or chop/pinning returning. Treat positive-to-negative GEX migration at an active battlefield strike as `支撑跑路/降级为加速风险`, not merely as a lower wall ranking. Treat negative-to-positive migration as `支撑恢复/加速风险缓和`, but still require price action to confirm. If no earlier same-day result exists in the conversation or user-provided notes, do not imply there is an internal time series.

## Dark Pool / Short Data Layer

Use this layer only for U.S.-listed stocks and ETFs. Do not apply it to A-shares, Japanese stocks, or non-U.S. local listings.

When using ChartExchange, build the URL from both listing venue and ticker. The path shape is:

```text
https://chartexchange.com/symbol/{exchange-lowercase}-{ticker-lowercase}/exchange-volume/dark-pool-levels/
```

Examples: `nyse-anet`, `nasdaq-nvda`, `nyse-spy`. SPY is a common exception where ChartExchange uses `nyse-spy`, so search the ticker on ChartExchange or a quote source first when the venue is uncertain, then use the matching venue in the URL. Do not reuse an ANET URL for other tickers without changing both ticker and venue.

Interpretation rules:

- `Off Exchange & Dark Pool %`: compare today's share with the ticker's own average. A high off-exchange share is common in U.S. equities and is not bullish or bearish by itself.
- `Dark Pool Levels`: treat high-volume price levels as hidden-liquidity reference zones. They become support/resistance only if later price action confirms acceptance, rejection, or repeated defense.
- `Dark Pool Prints`: large prints near VWAP, gaps, prior highs/lows, or post-news levels are notable, but the data does not reveal whether the initiating side was accumulation, distribution, internalization, or a cross.
- `Short Volume`: daily short-sale volume is not short interest and often includes market-maker activity. Use it for flow pressure only, not for outstanding short exposure.
- `Short Interest`, `Borrow Fee`, `Shares Available`, and `FTD`: use these for squeeze risk. Stronger squeeze evidence is rising borrow fee, shrinking availability, elevated short interest/FTD, and price refusing to break down after heavy short/dark flow.
- Always combine this layer with news acceptance, live price/VWAP, volume, and option/gamma structure. If the conclusion depends on a dark-pool level becoming support/resistance, load `stock-technical-analysis` and require price confirmation.

## Required Interpretation Style

Write like a pre-market trading memo:

1. **结论**: direct bias first: bullish, bearish, neutral battlefield, or high-volatility watch. Do not bury the answer behind tables.
2. **关键位**: current spot, nearest vol trigger/flip, first call wall, first put wall, and the level that changes the view.
3. **我会怎么做**: concrete scenario handling, e.g. “do not chase until it holds X”, “treat X-Y as chop”, “above Z opens next target”.
4. **什么情况说明我错了**: exact invalidation levels.
5. **怎么和技术确认配合**: use gamma as the map, then confirm entries/exits with `stock-technical-analysis` concepts such as KDJ, MACD, MA144/Vegas, FVG, volume, and price action.

Avoid only dumping tables. The user wants judgment, assumptions, and a clear action framework.

### Multi-Stock Gamma Output Contract

When answering a batch request with multiple stocks, ETFs, or mixed tickers, every row must include both:

- **Current spot / pricing anchor**: the latest usable spot or anchor price used for option calculations, with the source/session caveat when relevant. Do not make the reader infer where price is relative to the levels.
- **Gamma sign / regime**: positive, negative, or mixed, with `Net GEX` when available. This is the dealer-hedging/volatility map.
- **Directional state / bias**: `偏多修复`, `中性钉扎`, `中性偏空防守`, `高波动战场`, or another explicit long/short/neutral state derived from spot vs flip/walls/pits. This is the trading interpretation.
- **Actionable key levels / zone**: the exact pinning area, battlefield range, repair trigger, upside pressure, and/or downside invalidation that justifies the directional state. At minimum, include the nearest `VT/flip`, `GW/CW` pressure or pinning reference, and `PW`/pit support or risk when those fields are available.

Do not let one replace the other. A stock can be `净 GEX 为正` but still `中性偏空/高波动` if spot is below the volatility trigger or trapped under a nearby wall; a stock can be locally positive gamma but still a poor long setup if it has not reclaimed the trigger. In tables, prefer columns like:

`Ticker | Spot anchor | Gamma sign / Net GEX | Directional state | Key zone / pinning area | Flip/VT | Upside wall | Downside risk | What changes the view`

For batch summaries, group names after the table by directional state, but keep the per-row spot, gamma sign, and key levels visible. If space is limited, abbreviate commentary first; do not omit the spot/anchor, gamma regime, direction, or actionable price zone.

For multi-expiry batch reports, each expiry row must show the date-specific levels, not only the all-expiry levels. Use the expiry's own `VT`, `GW`, `CW`, `PW`, net GEX, and pits when available. If describing `本周` and `下周`, give both periods' gamma sign, directional state, and actionable zone separately because the same ticker can pin this week and become high-volatility next week.

When news or broad risk sentiment is driving the underlying or index, call `macro-news-check` only when current macro tape can plausibly change the gamma read, such as CPI/PCE/FOMC/central-bank events, Treasury yield shocks, USD moves, oil/gold/geopolitical headlines, index futures breaks, or sudden risk-on/risk-off tape. Use `stock-sentiment-analysis` if deeper emotion-cycle framing is needed, and add an expectation-gap check before relying on the gamma map: `prior market expectation` -> `actual news` -> `above expectation / in line or merely landed / below expectation`. Apply this to numeric headlines such as orders, CPI/FOMC data, earnings, guidance, and ETF flows, and to qualitative headlines such as regulatory wording, geopolitical tone, management confidence, timing, certainty, and whether the news solves the market's real concern. Gamma explains likely hedging pressure after price moves; it does not by itself explain whether the headline was accepted or rejected.

## Gamma Reading Rules

- `gamma wall`: a price where positive GEX is concentrated; price often slows, pins, or rejects there.
- `gamma flip`: estimated transition between positive and negative gamma regimes.
- `vol trigger`: treat as the practical gamma/volatility regime divider. Below it, expect more reflexive/high-volatility behavior; above it, expect repair or pinning if price also holds support.
- `call wall`: upside pressure/pinning zone first, breakout target second. Do not treat a distant call wall as bullish confirmation until spot reclaims the nearest trigger/resistance.
- `put wall`: downside support first, acceleration risk after it breaks. Do not treat large put OI as automatically bearish while spot is holding above the wall.
- `vanna`: estimated change in option delta as IV changes. Moomoo usually provides enough inputs to compute it even when it does not provide a direct `option_vanna` field.
- `VEX`: aggregate vanna exposure by strike. Use it to identify where IV crush/IV expansion can force meaningful delta adjustment; do not treat it as a standalone direction signal.
- Positive gamma: more chop/pinning/mean-reversion; avoid chasing into walls without confirmation.
- Negative gamma: more trend amplification; be quicker with stops and avoid casual dip-buying.
- Low-gamma trough: path of least resistance; price may move faster through it.
- Vanna pressure matters most around macro/news vol crushes, 0DTE IV resets, and strong spot moves that also reprice IV. Report the top positive and negative vanna zones alongside gamma walls.

## SPX, SPY, And ES Point Conversion

When analyzing SPX with proxy instruments, never hard-code a fixed 10x conversion:

- Prefer `.SPX` option chains from moomoo as `US..SPX` when available. Moomoo may reject the SPX index snapshot while still allowing SPX/SPXW option expiries and chains.
- Do not assume OpenD can provide `US..SPX` real-time 1-minute K-lines. Some OpenD environments can return `暂不支持美股指数` for `US..SPX` `SubType.K_1M` / `get_cur_kline`. For SPX intraday price-action confirmation, use `US.SPY` 1-minute K-lines as the chart proxy: reuse the existing `US.SPY` `SubType.K_1M` subscription when it is still valid; if K-line retrieval says subscription is missing or stale, subscribe/re-subscribe and retry once. Then convert the relevant SPY prices to SPX-equivalent levels with the freshest SPX/SPXW parity anchor or live ES/SPX anchor. State that SPY is the K-line source.
- Treat user requests for `SPX`, `SP500`, `S&P 500`, or `标普500` gamma as SPX-index-option requests by default. Query `US..SPX` expiries/chains first and use the returned SPX/SPXW strikes directly; do not default to SPY options just because the SPX index snapshot is unavailable.
- When `US..SPX` chains are available, do not use SPY conversion for SPX/SP500 gamma. SPY/ES/CFD conversion is only a fallback when the SPX/SPXW chain is unavailable, permission-blocked, or user-provided data is explicitly proxy-based.
- For same-day intraday/0DTE gamma, prefer PM-settled `SPXW` contracts from the `US..SPX` chain. On dates that also list AM-settled monthly `SPX` contracts, exclude the AM-settled series from the intraday pin/gamma map unless the user specifically asks about AM settlement.
- Use live SPX/ES/CFD price as the spot anchor for index levels, then use SPX option strikes directly whenever possible.
- If using SPY options as a proxy, compute the same-day conversion ratio from simultaneous prices: `SPX_equiv = SPY_strike * (current_SPX_or_ES_anchor / current_SPY_price)`.
- If using ES as the price anchor, remember ES can trade at a futures basis versus SPX cash. State the anchor and basis explicitly, e.g. “SPY 734 with ES/SPX anchor 7355 implies ratio about 10.02 today.”
- If live SPX/ES is unavailable, an external SPX/SPY ratio such as prior close from Yahoo Finance, Investing.com, Barchart, or another current quote source can be used as an approximate fallback. Clearly state the source/time and that it is not a live simultaneous conversion.
- Recompute the ratio every session and after large moves; do not carry yesterday's ratio into today's levels.

## Nikkei / EWJ Proxy Conversion

- Treat `Nikkei`, `日经`, `日経`, `NKY`, `Nikkei 225`, and `日经225` gamma requests as index-proxy work, not a plain EWJ ETF gamma request.
- Use `US.EWJ` options as the proxy book only because moomoo may not provide the domestic Nikkei option chain. The conversion must be time-aligned:
  `Nikkei_equiv = EWJ_strike * (NKD_at_EWJ_quote_time / EWJ_quote_spot) * (current_NIY_or_CFD_anchor / current_NKD)`.
- After the US regular/options session has closed, exclude EWJ contracts that expired on that US trading date from any forward-looking Japan-session gamma map. Use only still-open expiries, normally the next listed weekly/monthly expiry such as `2026-05-29` and later. Same-day expired EWJ contracts are useful only for analyzing that US session before expiry, not for the next Japan session.
- Prefer `NKDmain` as the bridge because it is the USD Nikkei futures line closer to the US/EWJ session. Use `NIYmain` or the user's Nikkei CFD/index quote as the final current anchor when available.
- If EWJ has already closed, do not pair its closing price with the current Nikkei CFD directly. Use the Nikkei futures/CFD value at EWJ's quote timestamp to form the EWJ-to-NKD ratio, then bridge from current NKD to current NIY/CFD.
- If using Japan cash close as the anchor, pair it only with an EWJ overnight/24h quote from the same timestamp. If no real EWJ quote exists at Japan close, do not mix Japan cash close with the later US regular-session EWJ close.
- Moomoo may recognize `US.NKDmain` and `US.NIYmain` but return permission errors. If that happens, ask the user for: `NKD at EWJ close/update time`, `current NKD`, and `current NIY or Nikkei CFD`.
- If time-aligned anchors are unavailable, report the missing inputs and do not convert with a stored fixed ratio.
- Do not carry a prior EWJ/Nikkei ratio into a new session. Recompute after large FX, futures, or EWJ moves.
- In the writeup, list both the converted Nikkei levels and the source EWJ strikes for auditability.
- State the limitation: EWJ options capture US-listed Japan ETF positioning, USD/JPY and ETF-flow effects; they are not the full domestic Nikkei options dealer book.

## Option Expiry Selection

Use a broader but still relevant option window instead of blindly taking the first few expiries. Keep horizons clean instead of mixing daily, weekly, and monthly expiries:

- **0DTE / expiry day**: when the user asks about an expiry-day gamma pin, analyze the same-day expiry as its own bucket.
- **After the U.S. options close**: remove the expired same-day contracts from all forward-looking reports and charts. Start at the next listed unexpired expiry. For SPX/SPXW, use that front expiry as the `0DTE` calculation proxy and label it clearly as such; for ordinary stocks/ETFs, omit the expired date entirely.
- **Next 2 trading days**: for high-frequency option tickers, include the next 2 listed trading-day/daily expiries after today. Do not include today in this bucket when 0DTE is already shown separately.
- **Future 2 weeks weekly options**: include only Friday expiries after today within the next 14 calendar days. Do not mix Monday-Thursday daily expiries into this weekly bucket.
- **Future monthly options**: include only standard monthly expiries for the current month and next 2 months, and only include the current month if it has not passed and is not already being handled as the same-day 0DTE bucket.
- **High-frequency option tickers**: examples include broad index ETFs and very liquid single names such as `SPY`, `QQQ`, `IWM`, `DIA`, `TSLA`, `NVDA`, `AMD`, `AAPL`, `MSFT`, `AMZN`, `META`, `GOOGL`, `PLTR`.
- In the writeup, mention when the ticker only has monthly expiries or when the near-term weekly/daily window is unavailable.

## Moomoo Data Caveats

- Respect the active provider's option-chain rate limits and the installed collector's throttling. Follow the tool's retry contract; do not alter its implementation or bypass provider limits during research.
- During US pre-market, stock fields such as `pre_price`, `pre_high_price`, `pre_low_price`, and `pre_volume` may update, but listed options usually do not trade continuously. Greeks/IV/OI may still reflect the prior option session.
- Open interest is not real-time intraday dealer inventory. `option_net_open_interest` may be empty.
- GEX sign is a market convention, not proof of actual market-maker net positions.
- Re-run after the regular session opens if option volume or the stock price moves materially.

## Data Safety

- This is analysis, not a trade instruction.
- Do not place trades unless the user explicitly asks and confirms.
- Never call SDK trade unlock APIs. If trading unlock is needed, the user must do it manually in the OpenD GUI.

## When Chat-Only Is Enough

If the user asks for a quick look, use the available data and computation route and answer directly. Attach a report only when requested; cite material evidence in the answer.

## Bundled scenario calculation

When Python and the input IV, strike, expiry, as-of time and spot scenarios are available, use [option_scenario_table.py](scripts/option_scenario_table.py). Run its `--help` for inputs and read [scenario methodology](references/option-scenario-tables.md) first. It computes a Black–Scholes scenario table offline, not live GEX or a price forecast; state the assumed IV/rate and time convention. Full-chain OpenD collectors are external and are not included.

Referenced files: 6

us-stock-move-reason7.25 KB

View saved version →

---
name: us-stock-move-reason
description: 分析美股和ETF异动,核验财报指引、公司事件、行业联动及期权或情绪背景。
---

# US Stock Move Reason

## 跨环境执行

先按[环境能力路由](../market-daily-strategist/references/runtime-capabilities.md)发现当前会话已安装、已连接且有权限的 Skill、工具、网页和计算能力。OpenD/moomoo、妙想、同花顺等是可选数据能力;不能由 ChatGPT Web、工作环境或 Codex 的名称推定可用性。优先复用已取得且仍有效的资料。研究来源顺序、字段与计算方法不因环境不同而省略;缺能力时说明具体缺口,不宣称已采集或已计算。

此包按各 Skill 入口附带可移植 Python 脚本;可读取文件不等于能执行,能执行不等于能联网。先确认能力,再按环境路由选择随包脚本、可用扩展或公开网页;仅有用户资料时执行相同筛选与计算,无执行能力时按文字流程研究并标出未计算项。外部供应商采集器只在已安装且可用时调用。访问失败、限流与权限处理遵循当前工具及环境规则,不复制机器专用沙箱设置。实际加载所用的同包 Skill 和参考,不只在回答中提名字。

本插件用于研究,写日历、账户或交易需要对应授权。普通研究不自动访问私人自选或持仓,不修改自身、其他 Skill 或任务规则;自动任务保持自己的输出、归档和授权合同。用户指定的私人资料仅在本轮授权范围内使用,不写入插件。

Use this skill as the U.S. stock counterpart to `jp-stock-move-reason` and `cn-stock-move-reason`. It is an evidence-gathering and synthesis workflow, not a trading bot.

This public-safe skill must not store account data, OpenD logs, API keys, cookies, private RAG paths, personal positions, screenshots, raw private notes, or proprietary labels. It may call official moomoo skills when installed, but those skills remain external data/anomaly providers.

## DTM API Context

Use the canonical JSON interfaces in `https://daytrading.monster/api-docs/` for DTM reads. `https://daytrading.monster/api/ratings-us` supplies recent analyst reports (US-local today and the preceding three calendar days); match the target symbol and report date. Use `https://daytrading.monster/api/themes` without a market filter to trace cross-market industry-chain and theme transmission across US, Japan, and China. Read `themes[]` and `constituents[]` for members, `weight`, `reason_zh`, coverage, and completed-session returns; check dates instead of treating them as live moves. Parse the `text/plain` response bodies as JSON.

## Workflow

1. Normalize the target into a U.S. market symbol such as `US.NVDA`, `US.DELL`, `US.SPY`, or `US.TSLA`. If the user gives only a name and the listing is ambiguous, ask one concise question. Treat broad index questions (`SPX`, `SPY`, `QQQ`, `NQ`) as U.S. index/ETF workflows and consider `macro-news-check` by default.

2. Establish whether the move is real:
   - Use `moomooapi` when available for snapshot, premarket/after-hours fields, daily or 1-minute K-line context, volume, turnover, market state, and basic stock information.
   - If OpenD or permissions fail, use public quote sources only as fallback and state the limitation.
   - For SPX, moomoo may reject `US..SPX` index snapshots while still allowing SPX/SPXW option chains. Use `SPY`, ES/CFD, or user-provided SPX anchors when needed and state the anchor.

3. Gather confirmed catalysts first:
   - Use `moomoo-news-search` or `moomoo-stock-digest` for current company news, earnings, guidance, ratings, orders, regulatory events, M&A, capital actions, analyst notes, and sector read-through.
   - When earnings are involved, apply expectation gap explicitly: `prior market expectation` -> `actual result / guidance / commentary` -> `above expectation`, `in line or merely landed`, or `below expectation`.
   - Do not let social posts, option prints, or technical signals replace confirmed filings/news.

4. Scan official moomoo anomaly layers when they are installed and relevant:
   - `moomoo-capital-anomaly`: use for capital-flow, broker, short-sale, or funds-flow anomaly requests. A `无异常` response is a usable result.
   - `moomoo-derivatives-anomaly`: use for U.S.-applicable option dimensions only: `option_unusual`, `option_volatility`, `option_volume_price`, `option_sentiment`, and `option_comprehensive`. Do not request Hong Kong warrant / CBBC dimensions for U.S. stocks. If a full scan returns an opaque backend error, retry with explicit U.S. option dimensions before concluding the skill is unavailable.
   - `moomoo-technical-anomaly`: use as a first-pass technical anomaly scanner, then verify with `stock-technical-analysis`.
   - `moomoo-comment-sentiment`: use for moomoo community heat, disagreement, chasing, panic, and representative viewpoints. Label it as a moomoo community sample, not a full-market sentiment survey.

5. Add supporting skills based on what the evidence shows:
   - Use `us-stock-gamma-moomoo` when options positioning, gamma walls, 0DTE, IV, SPX/SPY/QQQ, or dealer hedging can change the interpretation.
   - Use `stock-technical-analysis` when support/resistance, trend confirmation, failed breakout, VWAP, 1-minute K-lines, or intraday timing matter.
   - Use `stock-sentiment-analysis` when crowding, leader/follower status, risk-on/risk-off psychology, expectation reset, or social/community emotion changes the conclusion.
   - Use `macro-news-check` when Fed, rates, yields, USD, oil/gold, index futures, economic data, geopolitics, or broad market tape may be the main driver or amplifier.

6. Evidence priority:
   - Confirmed company news, filings, earnings, guidance, ratings, and direct disclosures.
   - Current quote, volume, gap, market state, and price acceptance/rejection.
   - Sector/peer and broad market context.
   - Option, capital-flow, short, and technical anomaly scans.
   - Community sentiment and social posts as secondary psychology evidence only.

## Output Style

Reply in Chinese unless the user asks otherwise. For every stock analyzed, use these six numbered sections in this exact order:

1. `最有力理由`: the most likely catalyst, source type, and expectation gap.
2. `补助理由`: sector/peer, macro, positioning, valuation, short/flow, or liquidity drivers.
3. `期权/资金/技术异动`: summarize only relevant moomoo anomaly and gamma/technical evidence; say `无异常` when a checked layer returns no anomaly.
4. `社区情绪`: moomoo community or other forum/social heat, representative views, and sample limitations.
5. `确定度`: high / medium / low, with one sentence explaining why.
6. `注意点`: what is unconfirmed, what could invalidate the read, and what needs a fresh check.

When evidence is thin, say so. Use `思惑`, `未确认`, or `确认待ち` for claims that appear only in community posts or option-flow interpretation. Do not give direct trading instructions; give conditional conclusions and validation levels when useful.

If supporting skills materially affect the conclusion, end with a compact `融合口径` line, for example:

```text
融合口径:moomoo news/digest + moomoo option/capital/technical anomaly + us-stock-gamma-moomoo gamma + stock-technical-analysis price action + macro-news-check tape.
```
Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
tsetsugekka
Keywords
markets, stocks, trading, research, china, japan, us, gamma

Declared capabilities

  • Interactive
  • Read

Package observed Oct 2, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 2, 2026 · 00:00 UTC
Collection status
Collected

plugins_6aa415f8252481919a6ac03e2072381b

Download plugin data (JSON)