{"id":"ffc2f0f8-3a1d-477c-80f4-3d50fe557fcc","shortId":"jWfy2R","kind":"skill","title":"quant-buddy-skill","tagline":"查询A股、港股、美股股票及指数的最新收盘价、开盘价、涨跌幅、成交额、成交量、换手率、PE、PB、市值等实时行情与估值数据。\n查询最近N个交易日的价格序列、日涨跌幅序列、窗口最高价、最低价、振幅等短期统计。\n查询上市公司最近报告期的营业收入、净利润、归母净利润、ROE、总资产、资产负债率等财务指标（A股及部分港/美股字段，以工具返回为准）。\n支持A股选股筛选、因子计算、策略回测、净值对比、行业聚合排名、上传自有因子CSV、渲染图表。\n港股、美股优先支持行情价格查询；财务/报告期字段应先尝试 fast_query(report)，按工具实际返回决定。\n即使用","description":"# 观照量化投研\n\n> **首屏优先**：先读本文件前部的「平台工具参数速查」「硬规则」和「场景路由」。简单行情、窗口序列、最近报告期、固定区间收益、K 线图等高频任务命中 Fast Path 时，无需继续整本通读。\n\n## 平台工具参数速查（高频踩坑，先看这一段）\n\n> 下表是 LLM 最容易写错的三个 schema。任何调用前先核对，不要凭\"看起来合理\"猜参数名。\n\n| 工具 | ✅ 正确参数 | ❌ 模型常见错误（已被 call.py 自动归一化或拦截，但仍应避免） |\n|------|------------|------------------------------------------------------------|\n| `confirmDataMulti` | `{\"data_desc\": \"市盈率 TTM,股息率\"}` — **逗号分隔字符串** | `{\"queries\": [...]}` / `{\"query\": \"...\"}` / `{\"names\": [...]}` |\n| `runMultiFormulaBatchStream` 公式中引用 session 中间变量 | 必须用**双引号**包裹：`排序値 = \"A股股息率〔估値数据〕\" * \"条件合并\"` | 裸变量名相乘：`\"A股股息率…\" * 条件合并` ← 平台直接报错 |\n| `readData` | `{\"ids\": [\"69fe…<24位hex>\"], \"mode\": \"last_column_full\"}` — **必须是 `runMultiFormulaBatchStream` 返回的 `data_id` 字段（hex）** | 传中文变量名 `{\"ids\": [\"Top10股息\"]}` / 用错参数名 `{\"index_title\": \"...\"}` / `{\"variable_names\": [...]}` / **传 `expression_id` 而非 `data_id`**（两者相邻易混，传错会返回 `\"error\": \"IndexInfo {id}\"`）|\n\n**口径转换（confirmDataMulti 查询词）**：用户写 `PE(TTM)` / `归母净利润` 等英文或缩写时，查询词应使用**中文规范名**（如 `市盈率 TTM` / `归母净利润`），而不是把用户原文照抄进 `data_desc`。详细规则见 `workflows/global-rules.md#指标口径精确匹配`。\n\n---\n\n## 硬规则（违反必失败）\n\n0. **工具名与 unknown-tool 红线（最高优先级）**：\n   - 公式执行唯一可调用工具名：`runMultiFormulaBatchStream`。\n   - 禁止调用或重试旧名/错名：`runMultiFormulaBatch` / `runMultiFormula` / `run_multi_formula`。\n   - 任何工具返回 `未知工具` / `Unknown tool` / `tool not found` 后，同名工具 **0 次重试**，也不得尝试名称变体。\n   - 若 workflow 已声明唯一正确原生工具，只允许切换到该工具 1 次；仍失败则立即输出受控失败答复。\n   - 若上一步结果已足够回答用户问题，必须直接收敛回答，禁止继续升级工具链。\n\n1. **认证后验与 session 初始化**：\n   - 不要在普通查数题第一步读取 `config.json`，也不要检查 `.session.json`、`output/.session*.json` 或任何本地 session 文件。\n   - 只要本轮准备调用平台原生工具，先直接调用原生 `newSession`；不得用 Bash / Glob / Read / ls 做 session 存在性探测。\n   - 工具实际返回 `api_key 为空` / `code: 1` / 401/402 时才进入认证引导并停止当前查数任务。\n   - 同一对话追问可复用当前 session；新问题必须新建 session。\n2. **原生工具优先，禁止脚本包装**：\n   - 平台已有原生工具时，必须直接调用原生工具：`fast_query`、`confirmDataMulti`、`runMultiFormulaBatchStream`、`resumeJob`、`readData`、`renderKLine`、`renderChart` 等。\n   - 禁止用 Bash / shell / Python / `scripts/call.py` / `run_skill_script` 包装已有原生平台工具。\n   - 只有平台明确不存在等价原生工具，且 workflow 明确允许脚本兜底时，才可使用本地脚本。\n   - 涉及资产时仍需先用 `grep presets/assets_db/{类型}.yaml` 搜索本地资产库，禁止整文件读取；命中多条先澄清，未命中再交给服务端兜底解析。\n   - 英文代码无市场后缀时必须先 grep 对应资产库确认 ticker 格式。\n3. **工具失败熔断：同类错误不得重复**\n   - 同一工具、同一参数结构、同一错误类型出现第 1 次后，只能按 workflow 声明的备用路径切换；无备用路径则受控失败。\n   - 禁止无新信息地重复调用失败工具；禁止尝试名称变体；禁止读更多文档代替执行；禁止用 shell/Python 包装绕过失败工具。\n4. **任何 workflow 失败退出时必须输出受控失败答复**：禁止以空白或纯过程日志结束对话。失败答复必须包含：\n   - ①用户的原始问题（一句话复述）\n   - ②失败卡在哪一步（工具名 + 错误摘要）\n   - ③给用户的一句话说明（\"当前无法获取…，原因：…\"）\n   - 可选④：用户可采取的下一步（如\"稍后重试\"或\"换用完整链路\"）\n5. **先读 workflow 再操作**：按下方「场景路由」表加载对应 workflow，不要自行猜测参数格式。\n6. **配置/认证错误立即停止，不得在普通查数流程中转为认证收集**：\n   - **工具返回 API Key 缺失错误**（含 `api_key 为空` 消息 / `code: 1`）：立即停止查数，输出**新用户引导消息**（格式见「前置条件」章节模板），禁止继续执行查数；等待用户粘贴 Key 后再执行配置向导。\n   - **其他工具报错**（网络、服务端错误等）：直接报告\"内部工具异常\"，不做认证相关引导。\n7. **最终答案首句必须是数据结论**：回答用户时，第一句话必须直接给出数据结论（如资产名+数值、表格、或\"符合条件的共N只\"），绝对禁止以\"已成功获取\"\"数据已获取\"\"根据返回结果\"\"让我来\"等过程性陈述开头。违反此规则 = 必须删除过程话术后重新输出。\n8. **用户条件冻结，不得改写**：执行前必须逐字核对用户原始条件，以下改写行为均属违规（一旦发现必须回退并重新确认）：\n   - **百分比↔小数互转**（如\"股息率>3%\"禁止改写为 `>0.03`）\n   - **相对时间改为年份区间**（如\"过去10年\"禁止改写为\"2015-2025\"）\n   - **资产宇宙替换**（如\"普通股票\"禁止改写为\"万得全A成分股\"或\"非ST股\"）\n   - **事件口径扩大**（如\"年报/半年报\"禁止扩大为全部业绩披露类型）\n   - **卡片附加条件继承**：命中知识卡片后，若卡片含用户未明确提出的\"首次/非ST/封板/流动性门槛\"等附加条件，必须先删除再执行，禁止默默继承进最终答案\n9. **任务含糊时先反问，禁止猜测开干**：若用户的指令有 **2 种以上合理解读**（如\"批量确认X\"不清楚是确认指数本身还是全部成分股、\"分析一下Y\"不清楚要哪个维度），**第一步必须向用户提问澄清，不得凭推测选择一种解读自行执行**。反问应简洁列出各种可能（例：\"您的意思是 ① … 还是 ② …？\"），等用户确认后再继续。**唯一例外**：用户语义明确无歧义（如\"给我贵州茅台今日收盘价\"），无需反问。\n10. **工具返回 `SKILL_VERSION_MISMATCH` 时必须自愈，不得继续执行原任务**：当任何工具调用的输出中出现 `\"error\": \"SKILL_VERSION_MISMATCH\"` 时，说明当前对话上下文中的工具签名/参数格式已过时。此时必须执行以下自愈流程（每步不得省略）：\n   1. **立即停止**当前任务，不得再调用任何平台工具；\n   2. 调用 `newSession`（新建 session，获取新 task_id）；\n   3. **强制重读** `SKILL.md`（本文件）+ 当前场景对应的 workflow 文档 + 涉及的 tools/*.md；\n   4. 以**新读取**的工具签名和参数格式重新执行用户原始任务；\n   5. **禁止**询问用户\"是否继续\"或解释版本升级过程——直接静默完成自愈并返回结果。\n\n## 最小充分原则（任何动作前自检）\n\n> 默认走最窄路径；只在收到\"明确不够用\"的证据后，才扩大范围。\n\n**每次准备读文件、调工具、扩大读取范围前，回答三个问题**：\n\n1. **这一步要解决的具体问题是什么？** — 必须能用一句话写成\"为了 X，所以做 Y\"，其中 X 是**已经发生**的需求，不能是\"可能会需要 X\"、\"以防万一\"、\"先准备着\"。\n2. **有没有更窄的选项能完成同样的 X？** — 更下游的输出 / 更精简的文件 / 更少的字段 / 不调用这个工具直接构造。\n3. **当前选择如果失败，下一步是什么？** — 如果答不上来，说明还没想清楚就在动手。\n\n任一回答含糊 → 不做这一步。\n\n**扩大范围的唯一合法触发**：上一步工具明确返回了\"缺数据 / 字段不存在 / 失败\"，且失败原因可以追溯。不允许用\"为了更全面\"、\"为了更准确\"、\"为了避免遗漏\"作为理由。\n\n> 这条原则覆盖：要不要多读一个文档；readData 读哪个变量；要不要为某个字段调 confirmDataMulti；公式自己写还是查现成数据集；以及所有未来出现的同类决策。\n\n**工具层面落地**：调用 `confirmDataMulti` / `readData` / `runMultiFormulaBatchStream` 或加载额外文档前，必须在心里完成工具清单自检；**不要为执行清单而搜索、加载或读取 `recipes/tool-call-checklist.md`**。无论该文件是否已在上下文中，只在心里完成以下三条最小自检即可（这三条已是清单的浓缩版，不需要再去查原文）：\n\n1. 这次调用是否直接服务于用户当前问题？\n2. 是否有更窄的输出或更少的字段可读？\n3. 如果调用失败，下一步是否明确且只改一个维度？\n\n顶层原则管\"要不要做\"，清单管\"具体怎么做\"。\n\n## Skill 包根目录\n\n**本 SKILL.md 所在目录即为 skill 根目录（`SKILL_ROOT`）**，下文所有相对路径均以此为基准。\n所有终端命令必须先 `cd` 到此目录再执行。\n\n```\nSKILL_ROOT/\n├── config.json              ← API Key 配置（按需读取；非每题必读）\n├── SKILL.md                 ← 本文件（入口 + 路由）\n│\n├── workflows/               ← 业务流程编排（路由目标）\n│   ├── fast-snapshot.md         Fast Path：最新时点行情/估值（≤3资产，标量）\n│   ├── fast-window.md           Fast Path：最近N日序列/窗口统计\n│   ├── fast-report-period.md    Fast Path：最近报告期财务（≤3资产）\n│   ├── quick-lookup.md          快速查数路由器 + 共享基础规则\n│   ├── quick-snapshot.md        最新时点行情/估值快照（字段齐即停）\n│   ├── quick-window.md          最近N日短窗序列/窗口统计\n│   ├── quick-report-period.md   最近报告期财务指标\n│   ├── period-return-compare.md 固定区间累计涨跌幅对比\n│   ├── global-rules-lite.md     精简全局规则（quick-window/period-return-compare 专用）\n│   ├── quant-standard.md        选股/回测/因子/图表标准流程\n│   ├── event-study.md           事件研究（给定或可识别事件后的窗口表现）\n│   ├── regime-segmentation.md   阈值区间/连续阶段识别与区间统计\n│   └── render-kline.md          K线图渲染与交付\n│\n├── recipes/                 ← 公式模板 & 工具用法（被 workflow 引用）\n│   ├── ma-crossover-backtest.md     均线金叉策略\n│   ├── value-pe-strategy.md         PE估值选股\n│   ├── upload-custom-data.md        上传自有数据\n│   ├── render-chart.md              渲染图表\n│   ├── download-data.md             下载数据\n│   └── industry-aggregation.md      行业聚合排名\n│\n├── references/              ← 参考文档\n│   ├── environment.md           环境依赖\n│   ├── troubleshooting.md       故障排查\n│   └── ru-billing.md            RU 计费\n│\n├── tools/                   ← API 工具完整参数文档（默认不读；workflow 标注「必读」或报错时再查）\n│   │                           ⚠️ 下表列出所有可用工具的**实际调用名**，调用时必须使用此名，不得变体\n│   ├── fast_query.md            → 工具名 `fast_query`          快速合并查询（行情/估值/财务，≤3资产快照）\n│   ├── confirm_data_multi.md    → 工具名 `confirmDataMulti`    批量确认数据项存在性与维度（写公式前必查）\n│   ├── run_multi_formula.md     → 工具名 `runMultiFormulaBatchStream`  执行公式批次（选股/回测/因子计算）\n│   ├── read_data.md             → 工具名 `readData`            读取公式计算结果（需传 data_id，非 expression_id）\n│   ├── render_kline.md          → 工具名 `renderKLine`         渲染 K 线图（直接传 ticker，无需提前跑公式）\n│   ├── render_chart.md          → 工具名 `renderChart`         渲染折线/柱状/面积图（需先有 data_id）\n│   ├── get_card_formulas.md     → 工具名 `getCardFormulas`     按卡片名拉取完整公式组（量化场景使用）\n│   ├── scan_dimensions.md       → 工具名 `scanDimensions`      九维度 IC 扫描（单股多维度预测力分析）\n│   ├── search_similar_cases.md  → 工具名 `searchSimilarCases`  向量检索相似案例（设计策略前的 fallback 查找）\n│   ├── search_functions.md      → 工具名 `searchFunctions`     检索平台函数名称与调用格式\n│   ├── download_data.md         → 工具名 `downloadData`        按 data_id 下载一维时序到 CSV/JSON\n│   ├── upload_data.md           → 工具名 `uploadData`          上传自有因子 CSV，上传后可在公式中引用\n│   ├── refresh_snapshot_time.md → 工具名 `refreshSnapshotTime` 强制刷新分钟数据截止时间（盘中实时场景）\n│   └── resume_job.md            → 工具名 `resumeJob`           续传 deferred 后台任务（配合 research_24h 使用）\n│\n├── presets/                 ← 已验证的常用数据（按需加载）\n│   ├── cases_index.yaml         106 张案例卡片目录（量化标准场景必读，快速查数无需）\n│   ├── assets.yaml              常用资产（99 行精选，可一次读完）\n│   ├── assets_db/               全量资产字典（按类型分文件，⚠️ 仅 grep 检索，禁止 read_file 整文件；不含指数成分股映射）\n│   │   ├── stock_a.yaml             A 股 5505 条（SH/SZ）\n│   │   ├── stock_hk.yaml            港股 2862 条（HK 前缀；行情优先，财务以 fast_query 返回为准）\n│   │   ├── stock_us.yaml            美股 1044 条（.N/.O/.A；行情优先，财务以 fast_query 返回为准）\n│   │   ├── index.yaml               指数 503 条\n│   │   └── future.yaml              期货 257 条\n│   ├── functions.yaml           常用函数\n│   ├── data_catalog.yaml        常用数据集\n│   ├── sectors.yaml             行业板块\n│   └── themes.yaml              题材板块\n│\n├── scripts/                 ← 执行脚本\n│   ├── call.py                  工具统一入口（所有命令通过它调用）\n│   ├── executor.py              call.py 的底层（禁止直接调用）\n│   ├── quant_api.py             Python SDK（供其他脚本 import）\n│   ├── auth/                    认证脚本\n│   └── eval/                    评测脚本\n│\n└── output/                  ← 输出目录（自动创建）\n    ├── .session.<key>.json      当前 session task_id（按 QBS_SESSION_KEY 派生，多会话隔离）\n    ├── ic_data/                 IC 扫描结果\n    └── *.png / *.csv            图表和数据文件\n```\n\n---\n\n**全局 429 处理（所有路径均适用）**：\n\n| error.code | 处理 |\n|---|---|\n| `RATE_LIMIT_EXCEEDED` / `CONCURRENT_LIMIT` | 读 `retryAfter` 秒后**静默重试**，不向用户暴露 |\n| `WINDOW_QUOTA_EXCEEDED` | **立即停止**，读 `references/troubleshooting.md` 配额限流段，输出提示 |\n| `DAILY_QUOTA_EXCEEDED` / `DAILY_SCAN_EXCEEDED` | **立即停止**，输出：`⚠️ 今日额度已满，次日 00:00 重置。` |\n| `SERVICE_OVERLOADED`（503） | `retryAfter` 秒后静默重试 1 次，仍失败则告知\"系统繁忙，请稍后重试\" |\n\n---\n\n## ⛔ 执行顺序（路由前必读，所有场景必须遵守）\n\n**无论匹配到哪个 leaf workflow，执行顺序固定为：**\n\n```\n① read_skill_file(global-rules 版本，见下表)  →  ② read_skill_file(leaf workflow)  →  ③ 执行\n```\n\n**步骤 ① 全局规则文件选择（按目标 leaf workflow 确定）**：\n\n| 目标 leaf workflow | 步骤 ① 读取的文件 |\n|---|---|\n| `fast-snapshot.md` | 无（Fast Path，跳过步骤 ①，直接执行） |\n| `fast-window.md` | 无（Fast Path，跳过步骤 ①，直接执行） |\n| `fast-report-period.md` | 无（Fast Path，跳过步骤 ①，直接执行） |\n| `quick-window.md` | `workflows/global-rules-lite.md` |\n| `period-return-compare.md` | `workflows/global-rules-lite.md` |\n| 其他所有 workflow | `workflows/global-rules.md` |\n\n- **步骤 ① 是硬前置条件**。确定目标 leaf 后，先按上表选择并读取对应 global-rules 版本，再读 leaf workflow，最后执行。\n- Fast Path（fast-*.md）直接从步骤 ② 开始，无需步骤 ①。\n\n---\n\n## 场景路由\n\n**先识别用户意图，确定目标 leaf workflow；然后按上方执行顺序加载**：\n\n| 场景 | 触发词 | 目标 leaf workflow |\n|------|--------|----------|\n| 最新时点行情 / 估值（快照） | 最新价、今日收盘、最新涨跌幅、当前换手率、最新PE/PB/市值… | Fast Path 条件满足 → 只读 `fast-snapshot.md`；不满足/无法查询 → `global-rules.md` → `quick-snapshot.md` |\n| 最近N日序列 / 窗口统计 | 最近5日、最近20日、近N个交易日、窗口最高/最低/振幅…（仅单资产、最近N日） | Fast Path 条件满足 → 只读 `fast-window.md`；不满足/无法查询 → `global-rules-lite.md` → `quick-window.md` |\n| 最近报告期财务 | 营收、净利润、归母净利润、ROE、总资产、总负债、资产负债率… | Fast Path 条件满足 → 只读 `fast-report-period.md`；不满足/无法查询 → `global-rules.md` → `quick-report-period.md` |\n| K线图（可视化） | K线图、画图、展示走势… | `global-rules.md` → `render-kline.md` |\n| 固定区间累计涨跌幅 | 从A到B、某年某月至某年某月、区间收益、累计涨跌幅、区间表现、多资产区间对比 | `global-rules-lite.md` → `period-return-compare.md` |\n| 量化选股 / 回测 / 因子 / 图表 / 上传下载 | 选股、回测、均线、PE选股、因子、净值、上传CSV、下载数据、画图… | `global-rules.md` → `quant-standard.md` |\n| 直接运行用户给定的公式链文件 | 「运行/跑一遍/执行这个文件里的全部公式」「公式链文件」「formula chain」「按这个 md/json 跑」 | `global-rules.md` → `run-formula-chain.md` |\n| 事件研究 | 复盘、历次、涨价、降息、加息、事件窗口、随后表现、超预期、不及预期、政策后表现…（给定事件或需先识别事件日） | `global-rules.md` → `event-study.md` |\n| 阈值区间统计 / 连续阶段 | 历次、每次、平均、回撤超过、从高点下跌超过、熊市区间、连续阶段、regime | `global-rules.md` → `regime-segmentation.md` |\n\n> 上传、下载、画图不是独立场景——它们是 workflow 内的子步骤，workflow 文档会在需要时指引你读对应的 `recipes/`。\n\n### 路由硬排除（优先于触发词匹配）\n\n以下规则在触发词匹配**之前**检查，命中即强制改道，不得被触发词覆盖：\n\n| 用户意图特征 | 禁止进入 | 强制导向 | 判断依据 |\n|-------------|---------|---------|---------|\n| 盘中/实时/当前/现在/今天/今日/当日 + 查询日内行情（涨幅排名、涨停、日内跌幅等） | `quick-snapshot` `quick-window` | `quant-standard.md`（优先匹配分钟频卡片） | 需要分钟频卡片的专用公式；`use_minute_data: true` 已是全局默认 |\n| 盘中/实时/当前/今天/今日/当日 + 全市场/板块 + TopN/排名/阈值名单/选股/筛选/信号 | `quick-snapshot` `quick-window` | `quant-standard.md` → 优先命中\"实时横截面 TopN 排名\"或\"盘中阈值筛选_名单查询\"微流程 | 这类高频短题有专用封闭微流程 |\n| 给出明确起止日期，只问区间累计涨跌幅/收益 | `event-study` `quick-window` `quant-standard` | `period-return-compare.md` | 本质是固定区间收益比较，不是因果窗口分析，也不是复杂量化流程 |\n| 行业/板块聚合排名（如\"申万行业涨幅前5\"） | `quick-window` `quick-snapshot` | `quant-standard.md` | 需要横截面聚合，不是单资产序列 |\n| 阈值触发型离散事件识别（如\"跌幅超过X%的次数\"，问每次后表现） | — | `event-study.md`（阈值触发模式） | 需先识别阈值事件日，再做窗口分析 |\n| 由阈值条件定义连续区间（如\"历次熊市\"\"回撤超30%的阶段\"） | `event-study` | `regime-segmentation.md` | 研究的是连续阶段而非离散事件后的窗口 |\n| \"创近N日新高/新低\"（不含\"首次\"修饰词） | 不得加\"昨日未满足\"条件 | 按**当前状态**判断（state check），公式只比较当前值与昨日的N日极值 | 只有用户明确出现\"首次突破/首次跌破\"\"新晋\"\"今日第一次\"时，才允许追加首次触发条件；详见 `quant-standard.md` |\n\n判断口诀：\n- **有明确起止日 + 只问区间数值** → `period-return-compare`（固定区间收益比较）\n- **有事件 + 问\"随后N天/月表现\"** → `event-study`（因果窗口）\n- **有阈值条件 + 问\"每次发生后表现\"** → `event-study`（阈值触发模式）\n- **有阈值条件 + 问\"连续阶段/区间内表现\"** → `regime-segmentation`（连续阶段统计）\n\n若用户请求满足以下任一模式，应优先判定为【快速查数任务】，按以下路由直接跳转，不得先进入其他 workflow：\n\n**Fast Path 条件（同时满足以下 3 点才可走 Fast Path；否则走完整链路）：**\n\n- 资产数 ≤ 3\n- 所有目标字段属于 fast_query whitelist（价格/估值/财务/衍生字段，详见 `tools/fast_query.md`），不涉及自定义公式/选股/排名\n  > 字段白名单判断含自动替换：用户对 HK/US 股请求 `PE`/`PE_TTM`/`PB`/`PS_TTM`/`股息率` 时，自动替换为对应单季版（`PE_单季`/`PB_单季`/`PS_单季`/`股息率_单季`），替换后仍视为 whitelist 命中，不得因此降级为慢路径。\n- 非全市场横截面查询（不是\"全市场排名/前N只\"等场景）\n\n**快速查数路由（按优先级依次判断，首个匹配即停）：**\n\n1. 时间锚点是\"最近 N 日窗口/序列\"，或用户明确给出起止日期要求返回区间序列（如\"从X日到X日每日的…走势/序列/数据\"）→ Fast Path 条件满足时读 `workflows/fast-window.md`，不满足则 `workflows/global-rules-lite.md` → `workflows/quick-window.md`\n2. 时间锚点是\"最近报告期\"且字段属于财务类 → Fast Path 条件满足时读 `workflows/fast-report-period.md`，不满足则 `workflows/global-rules.md` → `workflows/quick-report-period.md`\n3. 用户明确要\"画图 / K线 / 带成交量走势\" → 直接加载 `workflows/render-kline.md`\n4. 其余（明确是最近完成交易日或当日的行情/估值/多资产对比，且**不含** 排名/筛选/全市场 语义）→ Fast Path 条件满足时读 `workflows/fast-snapshot.md`，不满足则 `workflows/global-rules.md` → `workflows/quick-snapshot.md`\n   > **说明**：含\"今天/今日/当日/当前/现在/实时/盘中\"但仅查单资产行情字段，属于日内刷新场景，`fast_query snapshot` 已自动启用盘中刷新（等效 `use_minute_data: true`），应直接走 Fast Path；上方\"路由硬排除\"已拦截\"今天 + 全市场/板块 + 排名/筛选\"，此处无需重复排除。\n\n> 上述路由不需要先读 `workflows/quick-lookup.md`。\n\n### 关键红线速查（即使未读 global-rules.md 也必须遵守）\n\n以下 4 条规则从 global-rules.md 摘录，**优先级最高**，对所有场景生效：\n\n1. **事件定义冻结**：事件类型/范围必须**逐字匹配用户原始措辞**。用户说\"年报/半年报\"就只查年报和半年报，不得扩大到业绩预告/快报/季报；用户说\"国务院或住建部\"就只纳入该层级，不得扩大到央行/银保监会/地方政府。若认为用户定义可能遗漏，在回答末尾**建议**扩大，不得擅自扩大。\n2. **evidence-only 回答**：最终答案只输出本轮工具结果直接支持的数值、日期、排名、口径说明。未经工具验证，禁止默认输出宏观归因、政策归因、方向性判断（\"通常\"\"往往\"\"偏正面\"）。\n3. **去过程化交付**：禁止「已成功获取」「让我来」「按照流程」「Step 1/2/3」「根据 workflow」等过程性话术；禁止泄露 `_working/` 路径、checkpoint 名称、workflow 文件名。查到即答，不展示内部过程。\n4. **条件口径冻结**：用户条件必须原样执行，禁止任何改写（百分比↔小数、相对时间→年份区间、资产宇宙替换、卡片附加条件继承）。详见硬规则第 8 条。\n\n触发词参考：\n- 最近交易日收盘 / 最新已披露PE / 最新市值（非盘中、非筛选） → `quick-snapshot`\n- 最近5日 / 最近20个交易日 / 近N日序列 / 窗口最高最低 → `quick-window`\n- 营收 / 净利润 / ROE / 总资产 / 总负债 / 资产负债率 → `quick-report-period`\n\n禁止：\n- 优先调用 `scanDimensions`、`renderKLine`（除非用户明确要看图）\n- 先做分析性扩写，再补充结构化数值\n- **在读取对应 leaf workflow 之前**直接调用 `runMultiFormulaBatchStream` / `renderKLine` / `scanDimensions` / 输出“无法联网”或“无法获取实时数据”\n- 把卡片附加条件（首次/非ST/封板/流动性门槛等）默默继承进最终答案\n- 以 `description`、`samples`、预览行、截断大表作为**名单题**的完整结果直接收尾（必须提取完整名单或明确声明不完整）\n\n**leaf workflow 最终回答合同优先**：leaf workflow 中的\"最终回答合同\"优先负责收紧该场景的输出格式；若 leaf workflow 已满足停止条件，必须直接按该合同输出，不得再解释内部过程。\n\n## 执行权授权规则\n\n**规则层级（从高到低）：**\n\n1. **SKILL.md**：路由 + 全局门禁（硬规则 10 条、路由硬排除）\n2. **global-rules.md**：所有 leaf 必须遵守的全局合同（执行合同、证据分级、简答模式、不补精度、方法限制说明、参数规范、数值精度、终答一致性检查）\n3. **leaf workflow**：当前任务的具体执行流程（checkpoint、模板、停止条件、格式化）\n\n**冲突解决**：\n- leaf workflow 中的具体规则（如 readData 模式选择）优先于 global-rules 的一般规则\n- 但 leaf workflow 不得**放宽** global-rules 的红线（如证据分级门槛、不补精度原则）\n- 不得从其他 leaf workflow 借用模板、fallback 或回答格式\n\n**quick-lookup.md 的定位**：\n- 仅作为快查子流程的路由入口和规则参考总表\n- 各 leaf workflow 已自包含所有执行规则，执行时无需回到 quick-lookup.md\n- quick-lookup.md 不定义任何 leaf 独有规则\n\n## 全局执行规则\n\n> **全局合同详见 `workflows/global-rules.md`，进入任何 leaf workflow 时自动生效。**\n> leaf workflow 可在其内部添加更严格的约束，但不得豁免或放宽 global-rules 中的规则。\n\n## 平台数据覆盖范围\n\n| ✅ 支持 | ⚠️ 有条件支持 | ❌ 不支持（短期内不会支持） |\n|------|------|------|\n| A股个股（沪深主板/创业板/科创板/北交所） | ETF / LOF / 场外基金（先 grep 本地资产库，能唯一命中则正常执行；未命中才告知不支持） | 期货 / 期权 |\n| 港股个股（HK + 代码，如 HK0001） | | 台股 / 韩股 / 日股 / 德股等其他境外市场 |\n| 美股个股（NASDAQ: 代码.N；NYSE: 代码.O；AMEX: 代码.A） | | |\n| 主要宽基指数（沪深300、中证500、万得全A等） | | |\n\n> **港股 / 美股数据范围限制**：\n> - **行情价格类**（收盘价、开盘价、最高价、最低价、涨跌幅、成交量、成交额）：A / HK / US 均支持。\n> - **估值类**：\n>   - 仅 A 股：`PE`/`PE_TTM`/`PB`/`PS_TTM`/`股息率`（FMP 无 TTM 口径）\n>   - A/US/HK：`总市值`；港美股查 PE/PB 请用 `PE_单季`/`PB_单季`/`PS_单季`/`股息率_单季`\n>   - 仅 A 股：`流通市值`/`换手率`\n> - **财务类**（营业收入/净利润/归母净利润等）：A / HK / US 均支持（通过 `fast_query` 接口）；**ROE 仅 A 股**。\n> - 查询港股/美股时若字段不在上述支持范围内，应主动告知用户，而不是静默跳过。\n\n### 股票代码格式速查\n\n| 市场 | 格式 | 示例 |\n|------|------|------|\n| A股-上交所 | SH + 代码 | SH600000 |\n| A股-深交所 | SZ + 代码 | SZ000001 |\n| 港股 | HK + 代码 | HK0001 |\n| 美股-NASDAQ | 代码.N | AAPL.N |\n| 美股-NYSE | 代码.O | AAL.O |\n| 美股-AMEX | 代码.A | SBE.A |\n\n> 确认资产失败（熔断规则）详见 `workflows/quick-lookup.md` § Step 1。\n\n> 环境依赖（Python版本、Playwright、API Key）→ `references/environment.md`\n> 故障排查 → `references/troubleshooting.md`\n> RU 计费 → `references/ru-billing.md`\n\n---\n\n## 前置条件（按需执行，不是简单查数的默认首步）\n\n> **凭据存储说明**：本 skill 的 quant-buddy API Key **只存放在 skill 目录下的 `config.json` 的 `api_key` 字段**，不使用环境变量（`QUANT_BUDDY_API_KEY` 等环境变量不会被读取）。仅可选的 `BOCHA_API_KEY`（事件新闻搜索）走环境变量。\n\n仅在以下情形下，才需要显式读取 `config.json` 检查 `api_key`：\n- 本轮实际需要调用本地脚本或平台工具，且当前环境尚未建立可用 session\n- 上一轮工具调用已出现 401 / 402 / 明确认证错误\n- workflow 明确要求执行脚本链（如本地 Python 脚本渲染）\n\n对已命中 leaf workflow 的简单查数题（quick-snapshot / quick-window / quick-report-period / render-kline）：\n- 不要为了形式完整额外读取 `config.json`\n- 优先直接按 leaf workflow 执行\n- 仅当工具调用出现明确认证问题时，再回到认证向导\n\n原则：认证检查服务于执行，不应成为简单题的固定额外步骤。\n\n- 若 `api_key` **非空** → 正常继续\n- 若 `api_key` **为空** → **立即停止**，禁止继续查数，输出以下**新用户引导消息**（原样输出，不得删减）：\n\n  ---\n  ⚠️ 尚未配置 API Key，当前无法查询数据。\n\n  前往 https://www.quantbuddy.cn/login 登录/注册并获取 API Key，然后直接发给我：\n  > 帮我配置 APIkey：sk-xxxxxxxx\n  ---\n\n---\n\n### 配置向导（用户粘贴 Key）\n\n当用户消息中包含 `sk-` 开头的字符串时：\n\n1. 从用户消息中提取 `sk-` 开头的完整 Key 字符串\n2. 将 Key 写入 `config.json` 的 `api_key` 字段（用 `replace_string_in_file` 直接写入）\n3. **必须输出**：「✅ API Key 配置成功！」\n4. **自动重试**：若本对话中有被 api_key 缺失错误中断的查询（如之前用户问过行情），**先调 `newSession`（以原始用户问题作为 `user_query`）新建 session**，再立即重新执行该查询并给出数据结论，不需要用户再次发起。\n\n**运行时 401/402** → 立即停止，提示用户 API Key 无效/过期/配额耗尽，请重新前往官网获取新的 Key 并重新配置。\n\n---\n\n## 工具调用方式\n\n所有工具通过 `scripts/call.py` 调用。`call.py` 会同时将结果打印到 stdout 和写入临时文件。\n\n### 标准调用（一步完成）\n\n```bash\npython scripts/call.py <工具名> '{\"key\":\"value\"}'\n```\n\n结果直接从 stdout 获取。若 stdout 被截断，可回读 `/tmp/gzq_out.txt`。\n\n也可通过环境变量传参（适用于参数含特殊字符的场景）：\n\n```bash\nGZQ_PARAMS='<JSON>' python scripts/call.py <工具名>\n```\n\n### 禁止事项\n\n| 禁止 | 原因 |\n|------|------|\n| 创建自定义 .py 写参数文件 | 环境变量方案已解决编码问题 |\n| 直接调用 `scripts/executor.py` | `call.py` 封装了 renderChart 自动保存等逻辑 |\n| `echo` 管道传参（Windows） | GBK 编码截断中文 |\n| 命令行参数传 JSON（Windows） | PS 吃掉双引号 |\n\n---\n\n## presets/、recipes/、tools/ 三个目录的分工\n\n| 目录 | 是什么 | 何时读 |\n|------|---------|--------|\n| **presets/** | 平台实际返回值的本地快照（YAML）。资产名、函数格式、数据集 index_title、行业/概念名等。**直接可用于公式**，省掉确认类 API 调用。 | 写公式前先查 preset；找不到再调对应 API，并把新结果补回 preset。`cases_index.yaml` 仅在**选股/回测/因子/图表等量化标准场景**（`quant-standard.md`）开始时必读；快速查数场景（quick-snapshot/window/report-period）无需读取。 |\n| **recipes/** | 端到端使用示例（Markdown）。展示完整场景——从参数准备到最终输出。 | 由 workflow 在具体步骤中指引加载（不独立触发）。 |\n| **tools/** | API 参数手册（Markdown）。每个工具的字段、类型、约束。 | 默认不读。workflow 工具表标注了「必读」或报错时再查。 |\n\n> **简言之**：presets 是数据快照，recipes 是完整教程，tools 是参数字典。\n> presets 6 个文件的详细用法和加载时机→ 当前 workflow 文档内的「预设资源」表。\n\n---\n\n## Skill 更新部署规范（LLM 必读）\n\n当用户要求更新本 skill（发送 zip 压缩包）时，必须严格遵守以下规则：\n\n### 备份位置\n\n⚠️ **备份目录禁止放在 `skills/` 目录下。** 否则 openclaw 会把备份也识别为一个独立 skill，导致后续请求可能误用旧版代码。\n\n正确做法：\n\n```bash\n# 备份到 skills/ 之外的位置\ncp -r ~/.openclaw/workspace/skills/quant-buddy-skill ~/.openclaw/workspace/quant-buddy-skill-backup-$(date +%Y%m%d%H%M)\n\n# ❌ 错误：备份仍在 skills/ 下\n# cp -r ~/.openclaw/workspace/skills/quant-buddy-skill ~/.openclaw/workspace/skills/quant-buddy-skill-backup-xxx\n```\n\n### 解压覆盖\n\n```bash\n# 解压到临时目录再拷贝（避免嵌套）\nTMPDIR=$(mktemp -d)\nunzip -o <压缩包路径> -d \"$TMPDIR\"\n# 如果解压出嵌套目录 quant-buddy-skill/，取内层\nif [ -d \"$TMPDIR/quant-buddy-skill\" ]; then\n  cp -rf \"$TMPDIR/quant-buddy-skill/\"* ~/.openclaw/workspace/skills/quant-buddy-skill/\nelse\n  cp -rf \"$TMPDIR/\"* ~/.openclaw/workspace/skills/quant-buddy-skill/\nfi\nrm -rf \"$TMPDIR\"\n```\n\n### 部署后检查\n\n1. 确认 `~/.openclaw/workspace/skills/` 下只有 `quant-buddy-skill/` 一个与本 skill 相关的目录\n2. 读取 `SKILL.md` 确认版本号\n3. 保留 `config.json` 中已有的 `api_key`（若用户之前已认证过）","tags":["quant","buddy","skill","skills","pseudo-longinus","a-share","agent-skills","backtesting","claude-code","cursor","factor-analysis","github-copilot"],"capabilities":["skill","source-pseudo-longinus","skill-quant-buddy-skill","topic-a-share","topic-agent-skills","topic-backtesting","topic-claude-code","topic-cursor","topic-factor-analysis","topic-github-copilot","topic-market-data","topic-quant","topic-stock-market"],"categories":["quant-buddy-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/pseudo-longinus/quant-buddy-skills/quant-buddy-skill","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add pseudo-longinus/quant-buddy-skills","source_repo":"https://github.com/pseudo-longinus/quant-buddy-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (19,602 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:09:07.002Z","embedding":null,"createdAt":"2026-05-18T13:21:02.715Z","updatedAt":"2026-05-18T19:09:07.002Z","lastSeenAt":"2026-05-18T19:09:07.002Z","tsv":"'-2025':391 '/.openclaw/workspace/quant-buddy-skill-backup-':2230 '/.openclaw/workspace/skills':2283 '/.openclaw/workspace/skills/quant-buddy-skill':2229,2243,2270,2275 '/.openclaw/workspace/skills/quant-buddy-skill-backup-xxx':2244 '/login':1999 '/pb':1043 '/period-return-compare':636 '/tmp/gzq_out.txt':2093 '/window/report-period':2164 '0':162,187 '0.03':385 '00':933,934 '1':194,200,229,284,339,454,497,561,941,1400,1500,1648,1887,2016,2281 '1/2/3':1546 '10':437,1653 '1044':835 '106':795 '2':236,418,458,514,563,1419,1523,1656,2022,2292 '2015':390 '24h':789 '24位hex':109 '257':849 '2862':824 '3':278,383,466,521,565,1347,1353,1430,1539,1669,2037,2296 '3资产':605,616 '3资产快照':698 '4':296,476,1437,1494,1559,2042 '401':1941 '401/402':230,2059 '402':1942 '429':900 '5':316,480 '503':845,938 '5505':819 '6':325,2195 '69fe':108 '7':356 '8':373,1570 '9':414 '99':801 'a/us/hk':1806 'aal.o':1875 'aapl.n':1869 'amex':1770,1878 'api':225,330,334,588,679,1891,1909,1916,1922,1927,1935,1978,1983,1993,2002,2028,2039,2045,2062,2144,2149,2176,2300 'apikey':2006 'asset':804 'assets.yaml':799 'auth':873 'a股':1849,1855 'a股-上交所':1848 'a股-深交所':1854 'a股个股':1739 'a股及部分港':27 'a股股息率':99,103 'bash':217,251,2080,2096,2223,2246 'bocha':1926 'buddi':3,1908,1921,2260,2287 'call.py':78,861,865,2074,2111 'cases_index.yaml':794,2152 'cd':583 'chain':1128 'check':1295 'checkpoint':1553,1673 'code':228,338 'column':112 'compar':1312 'concurr':908 'config.json':205,587,1914,1933,1967,2026,2298 'confirm_data_multi.md':699 'confirmdatamulti':81,141,243,544,549,701 'cp':2227,2241,2267,2272 'csv':774,897 'csv/json':769 'd':2234,2251,2255,2264 'daili':923,926 'data':82,117,133,155,716,737,766,893,1202,1473 'data_catalog.yaml':853 'date':2231 'db':805 'defer':785 'desc':83,156 'descript':1624 'download-data.md':665 'download_data.md':762 'downloaddata':764 'echo':2115 'els':2271 'environment.md':671 'error':137,445 'error.code':903 'etf':1744 'eval':875 'event':1239,1279,1319,1326 'event-studi':1238,1278,1318,1325 'event-study.md':643,1147,1269 'evid':1525 'evidence-on':1524 'exceed':907,917,925,928 'executor.py':864 'express':130,719 'fallback':756,1704 'fast':41,59,241,601,608,613,692,830,840,980,986,992,1017,1019,1045,1064,1081,1343,1349,1355,1412,1423,1448,1466,1476,1833 'fast-report-period.md':612,990,1085 'fast-snapshot.md':600,978,1049 'fast-window.md':607,984,1068 'fast_query.md':690 'fi':2276 'file':813,955,963,2035 'fmp':1802 'formula':177,1127 'found':184 'full':113 'functions.yaml':851 'future.yaml':847 'gbk':2118 'get_card_formulas.md':739 'getcardformula':741 'glob':218 'global':957,1010,1686,1695,1731 'global-rul':956,1009,1685,1694,1730 'global-rules-lite.md':631,1071,1104 'global-rules.md':1052,1088,1095,1120,1132,1146,1158,1491,1496,1657 'grep':265,274,809,1748 'gzq':2097 'h':2235 'hex':120 'hk':826,1755,1788,1829,1861 'hk/us':1369 'hk0001':1758,1863 'ic':748,892,894 'id':107,118,122,131,134,139,465,717,720,738,767,885 'import':872 'index':125,2138 'index.yaml':843 'indexinfo':138 'industry-aggregation.md':667 'json':209,881,2121 'k':57,725 'key':226,331,335,348,589,889,1892,1910,1917,1923,1928,1936,1979,1984,1994,2003,2012,2020,2024,2029,2040,2046,2063,2068,2084,2301 'kline':1965 'k线':1433 'k线图':1090,1092 'k线图渲染与交付':650 'last':111 'leaf':950,964,970,974,1006,1014,1027,1033,1606,1631,1634,1640,1659,1670,1678,1690,1701,1710,1717,1723,1726,1950,1969 'limit':906,909 'llm':67,2204 'lof':1745 'ls':220 'm':2233,2236 'ma-crossover-backtest.md':657 'markdown':2168,2178 'md':475,1020 'md/json':1130 'minut':1201,1472 'mismatch':441,448 'mktemp':2250 'mode':110 'multi':176 'n':1403,1766,1868 'n/.o/.a':837 'name':90,128 'nasdaq':1764,1866 'newsess':215,460,2050 'nyse':1767,1872 'o':1769,1874,2253 'openclaw':2218 'output':877 'output/.session':208 'overload':937 'param':2098 'path':60,602,609,614,981,987,993,1018,1046,1065,1082,1344,1350,1413,1424,1449,1477 'pb':14,1374,1382,1798,1813 'pe':13,144,1371,1372,1380,1795,1796,1811 'pe/pb':1809 'period':1310,1597,1962 'period-return-compar':1309 'period-return-compare.md':629,998,1105,1247 'pe估值选股':660 'pe选股':1114 'playwright':1890 'png':896 'preset':791,2125,2132,2147,2151,2188,2194 'presets/assets_db':266 'ps':1375,1384,1799,1815,2123 'py':2106 'python':253,869,1947,2081,2099 'python版本':1889 'qbs':887 'quant':2,1245,1907,1920,2259,2286 'quant-buddi':1906 'quant-buddy-skil':1,2258,2285 'quant-standard':1244 'quant-standard.md':638,1121,1197,1225,1261,1305,2158 'quant_api.py':868 'queri':42,88,89,242,693,831,841,1356,1467,1834,2053 'quick':634,1192,1195,1220,1223,1242,1256,1259,1579,1586,1595,1954,1957,1960,2162 'quick-lookup.md':617,1706,1714,1715 'quick-report-period':1594,1959 'quick-report-period.md':627,1089 'quick-snapshot':1191,1219,1258,1578,1953,2161 'quick-snapshot.md':620,1053 'quick-window':633,1194,1222,1241,1255,1585,1956 'quick-window.md':624,996,1072 'quota':916,924 'r':2228,2242 'rate':905 'read':219,812,953,961 'read_data.md':711 'readdata':106,246,541,550,713,1682 'recip':651,1168,2126,2166,2190 'recipes/tool-call-checklist.md':556 'refer':669 'references/environment.md':1893 'references/ru-billing.md':1898 'references/troubleshooting.md':920,1895 'refresh_snapshot_time.md':776 'refreshsnapshottim':778 'regim':1157,1334 'regime-segment':1333 'regime-segmentation.md':646,1159,1281 'render':1964 'render-chart.md':663 'render-klin':1963 'render-kline.md':649,1096 'render_chart.md':730 'render_kline.md':721 'renderchart':248,732,2113 'renderklin':247,723,1601,1611 'replac':2032 'report':43,1596,1961 'research':788 'resume_job.md':781 'resumejob':245,783 'retryaft':911,939 'return':1311 'rf':2268,2273,2278 'rm':2277 'roe':24,1077,1590,1836 'root':580,586 'ru':676,1896 'ru-billing.md':675 'rule':958,1011,1687,1696,1732 'run':175,255 'run-formula-chain.md':1133 'run_multi_formula.md':704 'runmultiformula':174 'runmultiformulabatch':173 'runmultiformulabatchstream':91,115,170,244,551,706,1610 'sampl':1625 'sbe.a':1881 'scan':927 'scan_dimensions.md':744 'scandimens':746,1600,1612 'schema':69 'script':257,859 'scripts/call.py':254,2072,2082,2100 'scripts/executor.py':2110 'sdk':870 'search_functions.md':758 'search_similar_cases.md':751 'searchfunct':760 'searchsimilarcas':753 'sectors.yaml':855 'segment':1335 'servic':936 'session':93,202,211,222,233,235,462,880,883,888,1939,2055 'session.json':207 'sh':1851 'sh/sz':821 'sh600000':1853 'shell':252 'shell/python':294 'sk':2008,2014,2018 'sk-xxxxxxxx':2007 'skill':4,256,439,446,572,577,579,585,954,962,1904,1912,2202,2207,2215,2220,2225,2239,2261,2288,2290 'skill-quant-buddy-skill' 'skill.md':468,575,593,1649,2294 'snapshot':1193,1221,1260,1468,1580,1955,2163 'source-pseudo-longinus' 'standard':1246 'state':1294 'stdout':2076,2087,2090 'step':1545,1886 'stock_a.yaml':816 'stock_hk.yaml':822 'stock_us.yaml':833 'string':2033 'studi':1240,1280,1320,1327 'sz':1857 'sz000001':1859 'task':464,884 'themes.yaml':857 'ticker':276,728 'titl':126,2139 'tmpdir':2249,2256,2274,2279 'tmpdir/quant-buddy-skill':2265,2269 'tool':166,181,182,474,678,2127,2175,2192 'tools/fast_query.md':1363 'top10股息':123 'topic-a-share' 'topic-agent-skills' 'topic-backtesting' 'topic-claude-code' 'topic-cursor' 'topic-factor-analysis' 'topic-github-copilot' 'topic-market-data' 'topic-quant' 'topic-stock-market' 'topn':1213,1228 'troubleshooting.md':673 'true':1203,1474 'ttm':85,145,152,1373,1376,1797,1800,1804 'unknown':165,180 'unknown-tool':164 'unzip':2252 'upload-custom-data.md':661 'upload_data.md':770 'uploaddata':772 'us':1789,1830 'use':1200,1471 'user':2052 'valu':2085 'value-pe-strategy.md':659 'variabl':127 'version':440,447 'whitelist':1357,1389 'window':635,915,1196,1224,1243,1257,1587,1958,2117,2122 'work':1551 'workflow':191,261,287,298,318,323,471,597,655,682,951,965,971,975,1001,1015,1028,1034,1164,1166,1342,1548,1555,1607,1632,1635,1641,1671,1679,1691,1702,1711,1724,1727,1944,1951,1970,2172,2183,2198 'workflows/fast-report-period.md':1426 'workflows/fast-snapshot.md':1451 'workflows/fast-window.md':1415 'workflows/global-rules-lite.md':997,999,1417 'workflows/global-rules.md':158,1002,1428,1453,1721 'workflows/quick-lookup.md':1488,1885 'workflows/quick-report-period.md':1429 'workflows/quick-snapshot.md':1454 'workflows/quick-window.md':1418 'workflows/render-kline.md':1436 'www.quantbuddy.cn':1998 'www.quantbuddy.cn/login':1997 'x':501,505,511,516 'xxxxxxxx':2009 'y':503,2232 'yaml':268,2134 'zip':2209 '一个与本':2289 '一句话复述':303 '一旦发现必须回退并重新确认':378 '一步完成':2079 '万得全a成分股':396 '万得全a等':1776 '三个目录的分工':2128 '上一步工具明确返回了':529 '上一轮工具调用已出现':1940 '上交所':1850 '上传':1160 '上传csv':1117 '上传下载':1110 '上传后可在公式中引用':775 '上传自有因子':773 '上传自有因子csv':35 '上传自有数据':662 '上方':1478 '上述路由不需要先读':1487 '下':2240 '下一步是什么':523 '下一步是否明确且只改一个维度':567 '下只有':2284 '下文所有相对路径均以此为基准':581 '下表列出所有可用工具的':686 '下表是':66 '下载':1161 '下载一维时序到':768 '下载数据':666,1118 '不使用环境变量':1919 '不做认证相关引导':355 '不做这一步':527 '不允许用':534 '不及预期':1143 '不向用户暴露':914 '不含':1285,1443 '不含指数成分股映射':815 '不定义任何':1716 '不展示内部过程':1558 '不应成为简单题的固定额外步骤':1976 '不得':1692 '不得从其他':1700 '不得先进入其他':1341 '不得再解释内部过程':1644 '不得再调用任何平台工具':457 '不得凭推测选择一种解读自行执行':426 '不得删减':1991 '不得加':1288 '不得变体':689 '不得因此降级为慢路径':1391 '不得在普通查数流程中转为认证收集':328 '不得扩大到业绩预告':1509 '不得扩大到央行':1515 '不得擅自扩大':1522 '不得改写':375 '不得用':216 '不得继续执行原任务':443 '不得被触发词覆盖':1175 '不支持':1737 '不是':1393 '不是单资产序列':1263 '不是因果窗口分析':1249 '不是简单查数的默认首步':1901 '不涉及自定义公式':1364 '不清楚是确认指数本身还是全部成分股':422 '不清楚要哪个维度':424 '不满足':1050,1069,1086 '不满足则':1416,1427,1452 '不独立触发':2174 '不能是':509 '不补精度':1664 '不补精度原则':1699 '不要为了形式完整额外读取':1966 '不要为执行清单而搜索':554 '不要凭':71 '不要在普通查数题第一步读取':204 '不要自行猜测参数格式':324 '不调用这个工具直接构造':520 '不需要再去查原文':560 '不需要用户再次发起':2057 '专用':637 '且':260,1442 '且失败原因可以追溯':533 '且字段属于财务类':1422 '且当前环境尚未建立可用':1938 '业务流程编排':598 '两者相邻易混':135 '个文件的详细用法和加载时机':2196 '中已有的':2299 '中文规范名':149 '中的':1636 '中的具体规则':1680 '中的规则':1733 '中证500':1775 '中间变量':94 '为了':500 '为了更全面':535 '为了更准确':536 '为了避免遗漏':537 '为空':227,336,1985 '主要宽基指数':1773 '之前':1172,1608 '之外的位置':2226 '九维度':747 '也不得尝试名称变体':189 '也不是复杂量化流程':1250 '也不要检查':206 '也可通过环境变量传参':2094 '也必须遵守':1492 '事件口径扩大':399 '事件定义冻结':1501 '事件新闻搜索':1929 '事件研究':644,1134 '事件窗口':1140 '事件类型':1502 '仅':808,1792,1819,1837 '仅作为快查子流程的路由入口和规则参考总表':1708 '仅单资产':1062 '仅可选的':1925 '仅在':2153 '仅在以下情形下':1931 '仅当工具调用出现明确认证问题时':1972 '今天':1184,1208,1457,1481 '今日':1185,1209,1458 '今日收盘':1039 '今日第一次':1301 '今日额度已满':931 '仍失败则告知':943 '仍失败则立即输出受控失败答复':196 '从a到b':1098 '从x日到x日每日的':1408 '从参数准备到最终输出':2170 '从用户消息中提取':2017 '从高到低':1647 '从高点下跌超过':1154 '代码':1756,1765,1768,1771,1852,1858,1862,1867,1873,1879 '以':477,1623 '以下':1493 '以下改写行为均属违规':377 '以下规则在触发词匹配':1171 '以原始用户问题作为':2051 '以及所有未来出现的同类决策':546 '以工具返回为准':29 '以防万一':512 '价格':1358 '任一回答含糊':526 '任何':297 '任何动作前自检':487 '任何工具返回':178 '任何调用前先核对':70 '任务含糊时先反问':415 '优先于':1684 '优先于触发词匹配':1170 '优先匹配分钟频卡片':1198 '优先命中':1226 '优先直接按':1968 '优先级最高':1498 '优先调用':1599 '优先负责收紧该场景的输出格式':1638 '会同时将结果打印到':2075 '会把备份也识别为一个独立':2219 '传':129 '传中文变量名':121 '传错会返回':136 '估値数据':100 '估值':604,696,1036,1359,1440 '估值快照':622 '估值类':1791 '但':1689 '但不得豁免或放宽':1729 '但仅查单资产行情字段':1464 '但仍应避免':80 '何时读':2131 '作为理由':538 '使用':790 '例':428 '供其他脚本':871 '保留':2297 '信号':1218 '修饰词':1287 '借用模板':1703 '偏正面':1538 '做':221 '停止条件':1675 '先':1747 '先做分析性扩写':1603 '先准备着':513 '先按上表选择并读取对应':1008 '先直接调用原生':214 '先看这一段':65 '先识别用户意图':1025 '先读':317 '先读本文件前部的':48 '先调':2049 '入口':595 '全局':899 '全局合同详见':1720 '全局执行规则':1719 '全局规则文件选择':968 '全局门禁':1651 '全市场':1211,1446,1482 '全市场排名':1394 '全量资产字典':806 '公式中引用':92 '公式只比较当前值与昨日的n日极值':1296 '公式执行唯一可调用工具名':169 '公式模板':652 '公式自己写还是查现成数据集':545 '公式链文件':1126 '共享基础规则':619 '关键红线速查':1489 '其中':504 '其他工具报错':350 '其他所有':1000 '其余':1438 '具体怎么做':571 '内的子步骤':1165 '内部工具异常':354 '再做窗口分析':1272 '再回到认证向导':1973 '再操作':319 '再立即重新执行该查询并给出数据结论':2056 '再补充结构化数值':1604 '再读':1013 '写入':2025 '写公式前先查':2146 '写公式前必查':703 '写参数文件':2107 '冲突解决':1677 '净值':1116 '净值对比':33 '净利润':22,1075,1589,1826 '凭据存储说明':1902 '函数格式':2136 '分析一下i':423 '创业板':1741 '创建自定义':2105 '创近n日新高':1283 '初始化':203 '判断':1293 '判断依据':1179 '判断口诀':1306 '到此目录再执行':584 '前n只':1395 '前往':1996 '前缀':827 '前置条件':344,1899 '加息':1139 '加载或读取':555 '包根目录':573 '包装已有原生平台工具':258 '包装绕过失败工具':295 '包裹':97 '北交所':1743 '区间内表现':1332 '区间收益':1100 '区间表现':1102 '半年报':402,1507 '单季':1381,1383,1385,1387,1812,1814,1816,1818 '单股多维度预测力分析':750 '卡片附加条件继承':404,1568 '即使未读':1490 '即使用':45 '历次':1136,1150 '历次熊市':1275 '压缩包':2210 '压缩包路径':2254 '原则':1974 '原因':309,2104 '原样输出':1990 '原生工具优先':237 '去过程化交付':1540 '参数手册':2177 '参数格式已过时':451 '参数规范':1666 '参考文档':670 '双引号':96 '反问应简洁列出各种可能':427 '发送':2208 '取内层':2262 '口径':1805 '口径说明':1531 '口径转换':140 '只允许切换到该工具':193 '只在心里完成以下三条最小自检即可':558 '只在收到':489 '只存放在':1911 '只有平台明确不存在等价原生工具':259 '只有用户明确出现':1297 '只能按':286 '只要本轮准备调用平台原生工具':213 '只读':1048,1067,1084 '只问区间数值':1308 '只问区间累计涨跌幅':1236 '可一次读完':803 '可回读':2092 '可在其内部添加更严格的约束':1728 '可能会需要':510 '可视化':1091 '可选':310 '台股':1759 '吃掉双引号':2124 '各':1709 '同一参数结构':282 '同一对话追问可复用当前':232 '同一工具':281 '同一错误类型出现第':283 '同名工具':186 '同时满足以下':1346 '同类错误不得重复':280 '名单查询':1232 '名单题':1628 '名称':1554 '后':185,1007 '后再执行配置向导':349 '后台任务':786 '向量检索相似案例':754 '否则':2217 '否则走完整链路':1351 '含':333,1456 '命中':1390 '命中即强制改道':1174 '命中多条先澄清':271 '命中知识卡片后':405 '命令行参数传':2120 '和':51 '和写入临时文件':2077 '唯一例外':432 '回撤超30':1276 '回撤超过':1153 '回测':640,709,1107,1112,2155 '回答':1527 '回答三个问题':496 '回答用户时':358 '因子':641,1108,1115,2156 '因子计算':31,710 '因果窗口':1321 '固定区间收益':56 '固定区间收益比较':1313 '固定区间累计涨跌幅':1097 '固定区间累计涨跌幅对比':630 '国务院或住建部':1513 '图表':1109 '图表和数据文件':898 '图表标准流程':642 '图表等量化标准场景':2157 '在具体步骤中指引加载':2173 '在回答末尾':1519 '在读取对应':1605 '地方政府':1517 '场外基金':1746 '场景':1030 '场景路由':52,321,1024 '均支持':1790,1831 '均线':1113 '均线金叉策略':658 '声明的备用路径切换':288 '处理':901,904 '备份仍在':2238 '备份位置':2213 '备份到':2224 '备份目录禁止放在':2214 '复盘':1135 '多会话隔离':891 '多资产区间对比':1103 '多资产对比':1441 '失败':532 '失败卡在哪一步':304 '失败答复必须包含':301 '失败退出时必须输出受控失败答复':299 '如':150,312,381,387,393,400,420,434,1253,1265,1274,1407,1681,1757 '如之前用户问过行情':2048 '如本地':1946 '如果答不上来':524 '如果解压出嵌套目录':2257 '如果调用失败':566 '如证据分级门槛':1698 '如资产名':360 '字段':119,1918,2030 '字段不存在':531 '字段白名单判断含自动替换':1367 '字段齐即停':623 '字符串':2021 '存在性探测':223 '季报':1511 '它们是':1163 '实时':1181,1206,1462 '实时横截面':1227 '实际调用名':687 '对已命中':1949 '对应资产库确认':275 '对所有场景生效':1499 '导致后续请求可能误用旧版代码':2221 '封板':409,1620 '封装了':2112 '将':2023 '小数':1564 '小数互转':380 '尚未配置':1992 '就只查年报和半年报':1508 '就只纳入该层级':1514 '展示完整场景':2169 '展示走势':1094 '属于日内刷新场景':1465 '工具':74 '工具名':305,691,700,705,712,722,731,740,745,752,759,763,771,777,782,2083,2101 '工具名与':163 '工具失败熔断':279 '工具完整参数文档':680 '工具实际返回':224 '工具层面落地':547 '工具用法':653 '工具统一入口':862 '工具表标注了':2184 '工具调用方式':2070 '工具返回':329,438 '已声明唯一正确原生工具':192 '已成功获取':366,1542 '已拦截':1480 '已是全局默认':1204 '已满足停止条件':1642 '已经发生':507 '已自动启用盘中刷新':1469 '已自包含所有执行规则':1712 '已被':77 '已验证的常用数据':792 '市值':1044 '市值等实时行情与估值数据':15 '市场':1845 '市盈率':84,151 '带成交量走势':1434 '帮我配置':2005 '常用函数':852 '常用数据集':854 '常用资产':800 '平台实际返回值的本地快照':2133 '平台工具参数速查':49,63 '平台已有原生工具时':239 '平台数据覆盖范围':1734 '平台直接报错':105 '平均':1152 '年份区间':1566 '年报':401,1506 '并把新结果补回':2150 '并重新配置':2069 '序列':1405,1410 '应主动告知用户':1842 '应优先判定为':1338 '应直接走':1475 '建议':1520 '开头的字符串时':2015 '开头的完整':2019 '开始':1022 '开始时必读':2159 '开盘价':8,1781 '引用':656 '张案例卡片目录':796 '强制刷新分钟数据截止时间':779 '强制导向':1178 '强制重读':467 '归母净利润':23,146,153,1076 '归母净利润等':1827 '当任何工具调用的输出中出现':444 '当前':882,1182,1207,1460,2197 '当前任务':456 '当前任务的具体执行流程':1672 '当前场景对应的':470 '当前换手率':1041 '当前无法查询数据':1995 '当前无法获取':308 '当前状态':1292 '当前选择如果失败':522 '当日':1186,1210,1459 '当用户消息中包含':2013 '当用户要求更新本':2206 '往往':1537 '微流程':1233 '德股等其他境外市场':1762 '必读':684,2185,2205 '必须严格遵守以下规则':2212 '必须先删除再执行':412 '必须删除过程话术后重新输出':372 '必须在心里完成工具清单自检':553 '必须提取完整名单或明确声明不完整':1630 '必须是':114 '必须用':95 '必须直接按该合同输出':1643 '必须直接收敛回答':198 '必须直接调用原生工具':240 '必须能用一句话写成':499 '必须输出':2038 '必须遵守的全局合同':1660 '快报':1510 '快照':1037 '快速合并查询':694 '快速查数任务':1339 '快速查数场景':2160 '快速查数无需':798 '快速查数路由':1397 '快速查数路由器':618 '总市值':1807 '总负债':1079,1592 '总资产':25,1078,1591 '您的意思是':429 '成交量':11,1785 '成交额':10,1786 '或':314,363,397,1230,1615 '或任何本地':210 '或加载额外文档前':552 '或回答格式':1705 '或报错时再查':685,2186 '或用户明确给出起止日期要求返回区间序列':1406 '或解释版本升级过程':484 '截断大表作为':1627 '所以做':502 '所在目录即为':576 '所有':1658 '所有命令通过它调用':863 '所有场景必须遵守':948 '所有工具通过':2071 '所有目标字段属于':1354 '所有终端命令必须先':582 '所有路径均适用':902 '才允许追加首次触发条件':1303 '才可使用本地脚本':263 '才扩大范围':492 '才需要显式读取':1932 '执行':966,1971 '执行公式批次':707 '执行前必须逐字核对用户原始条件':376 '执行合同':1661 '执行时无需回到':1713 '执行权授权规则':1645 '执行脚本':860 '执行这个文件里的全部公式':1125 '执行顺序':946 '执行顺序固定为':952 '扩大':1521 '扩大范围的唯一合法触发':528 '扩大读取范围前':495 '扫描':749 '扫描结果':895 '批量确认x':421 '批量确认数据项存在性与维度':702 '找不到再调对应':2148 '把卡片附加条件':1617 '报告期字段应先尝试':40 '指数':844 '指标口径精确匹配':159 '按':765,886,1291 '按下方':320 '按以下路由直接跳转':1340 '按优先级依次判断':1398 '按卡片名拉取完整公式组':742 '按工具实际返回决定':44 '按照流程':1544 '按目标':969 '按类型分文件':807 '按这个':1129 '按需加载':793 '按需执行':1900 '按需读取':591 '振幅':1061 '振幅等短期统计':20 '换手率':12,1823 '换用完整链路':315 '排名':1214,1229,1366,1444,1484,1530 '排序値':98 '接口':1835 '提示用户':2061 '搜索本地资产库':269 '摘录':1497 '支持':1735 '支持a股选股筛选':30 '收益':1237 '收盘价':1780 '放宽':1693 '政策后表现':1144 '政策归因':1534 '故障排查':674,1894 '数值':361 '数值精度':1667 '数据':1411 '数据已获取':367 '数据集':2137 '整文件':814 '文件':212 '文件名':1556 '文档':472 '文档会在需要时指引你读对应的':1167 '文档内的':2199 '新低':1284 '新建':461,2054 '新晋':1300 '新用户引导消息':342,1989 '新读取':478 '新问题必须新建':234 '方向性判断':1535 '方法限制说明':1665 '无':979,985,991,1803 '无备用路径则受控失败':289 '无效':2064 '无法查询':1051,1070,1087 '无法联网':1614 '无法获取实时数据':1616 '无论匹配到哪个':949 '无论该文件是否已在上下文中':557 '无需反问':436 '无需提前跑公式':729 '无需步骤':1023 '无需继续整本通读':62 '无需读取':2165 '日内跌幅等':1190 '日期':1529 '日涨跌幅序列':17 '日窗口':1404 '日股':1761 '时':61,449,1302,1378,2211 '时必须自愈':442 '时才进入认证引导并停止当前查数任务':231 '时自动生效':1725 '时间锚点是':1401,1420 '明确不够用':490 '明确允许脚本兜底时':262 '明确是最近完成交易日或当日的行情':1439 '明确要求执行脚本链':1945 '明确认证错误':1943 '昨日未满足':1289 '是':506 '是什么':2130 '是参数字典':2193 '是否有更窄的输出或更少的字段可读':564 '是否继续':483 '是完整教程':2191 '是数据快照':2189 '是硬前置条件':1004 '普通股票':394 '更下游的输出':517 '更少的字段':519 '更新部署规范':2203 '更精简的文件':518 '替换后仍视为':1388 '最低':1060 '最低价':19,1783 '最后执行':1016 '最容易写错的三个':68 '最小充分原则':486 '最新pe':1042 '最新价':1038 '最新已披露pe':1574 '最新市值':1575 '最新时点行情':603,621,1035 '最新涨跌幅':1040 '最终回答合同':1637 '最终回答合同优先':1633 '最终答案只输出本轮工具结果直接支持的数值':1528 '最终答案首句必须是数据结论':357 '最近':1402 '最近20个交易日':1582 '最近20日':1057 '最近5日':1056,1581 '最近n日':1063 '最近n日序列':610,1054 '最近n日短窗序列':625 '最近交易日收盘':1573 '最近报告期':55,1421 '最近报告期财务':615,1073 '最近报告期财务指标':628 '最高价':1782 '最高优先级':168 '月表现':1317 '有事件':1314 '有明确起止日':1307 '有条件支持':1736 '有没有更窄的选项能完成同样的':515 '有阈值条件':1322,1329 '服务端错误等':352 '期权':1753 '期货':848,1752 '未命中再交给服务端兜底解析':272 '未命中才告知不支持':1751 '未知工具':179 '未经工具验证':1532 '本':574,1903 '本地资产库':1749 '本文件':469,594 '本质是固定区间收益比较':1248 '本轮实际需要调用本地脚本或平台工具':1937 '条':820,825,836,846,850,1571,1654 '条件':1290,1345 '条件口径冻结':1560 '条件合并':101,104 '条件满足':1047,1066,1083 '条件满足时读':1414,1425,1450 '条规则从':1495 '板块':1212,1483 '板块聚合排名':1252 '某年某月至某年某月':1099 '查到即答':1557 '查找':757 '查询a股':5 '查询上市公司最近报告期的营业收入':21 '查询日内行情':1187 '查询最近n个交易日的价格序列':16 '查询港股':1840 '查询词':142 '查询词应使用':148 '柱状':734 '标准调用':2078 '标注':683 '标量':606 '根据':1547 '根据返回结果':368 '根目录':578 '格式':277,1846 '格式化':1676 '格式见':343 '检查':1173,1934 '检索':810 '检索平台函数名称与调用格式':761 '概念名等':2141 '模型常见错误':76 '模式选择':1683 '模板':1674 '次':195,942 '次后':285 '次日':932 '次重试':188 '正常继续':1981 '正确做法':2222 '正确参数':75 '此处无需重复排除':1486 '此时必须执行以下自愈流程':452 '步骤':967,976,1003 '每个工具的字段':2179 '每次':1151 '每次准备读文件':493 '每次发生后表现':1324 '每步不得省略':453 '沪深300':1774 '沪深主板':1740 '注册并获取':2001 '派生':890 '流动性门槛':410 '流动性门槛等':1621 '流通市值':1822 '消息':337 '涉及的':473 '涉及资产时仍需先用':264 '涨价':1137 '涨停':1189 '涨幅排名':1188 '涨跌幅':9,1784 '深交所':1856 '清单管':570 '港美股查':1808 '港股':6,37,823,1777,1860 '港股个股':1754 '渲染':724 '渲染图表':36,664 '渲染折线':733 '点才可走':1348 '然后按上方执行顺序加载':1029 '然后直接发给我':2004 '熊市区间':1155 '熔断规则':1883 '版本':959,1012 '独有规则':1718 '猜参数名':73 '环境依赖':672,1888 '环境变量方案已解决编码问题':2108 '现在':1183,1461 '用':2031 '用户写':143 '用户可采取的下一步':311 '用户对':1368 '用户意图特征':1176 '用户明确要':1431 '用户条件冻结':374 '用户条件必须原样执行':1561 '用户的原始问题':302 '用户粘贴':2011 '用户语义明确无歧义':433 '用户说':1505,1512 '用错参数名':124 '由':2171 '由阈值条件定义连续区间':1273 '申万行业涨幅前5':1254 '画图':1093,1119,1432 '画图不是独立场景':1162 '登录':2000 '百分比':379,1563 '的':1905,1915,2027 '的一般规则':1688 '的完整结果直接收尾':1629 '的定位':1707 '的工具签名和参数格式重新执行用户原始任务':479 '的底层':866 '的次数':1267 '的简单查数题':1952 '的红线':1697 '的证据后':491 '的阶段':1277 '的需求':508 '盘中':1180,1205,1463 '盘中实时场景':780 '盘中阈值筛选':1231 '目录':2129 '目录下':2216 '目录下的':1913 '目标':973,1032 '直接从步骤':1021 '直接传':727 '直接写入':2036 '直接加载':1435 '直接可用于公式':2142 '直接执行':983,989,995 '直接报告':353 '直接调用':1609,2109 '直接运行用户给定的公式链文件':1122 '直接静默完成自愈并返回结果':485 '相关的目录':2291 '相对时间':1565 '相对时间改为年份区间':386 '省掉确认类':2143 '看起来合理':72 '短期内不会支持':1738 '研究的是连续阶段而非离散事件后的窗口':1282 '硬规则':50,160,1652 '确定':972 '确定目标':1005,1026 '确认':2282 '确认版本号':2295 '确认资产失败':1882 '示例':1847 '禁止':481,811,1541,1598,2103 '禁止事项':2102 '禁止以空白或纯过程日志结束对话':300 '禁止任何改写':1562 '禁止尝试名称变体':291 '禁止扩大为全部业绩披露类型':403 '禁止改写为':384,389,395 '禁止整文件读取':270 '禁止无新信息地重复调用失败工具':290 '禁止泄露':1550 '禁止猜测开干':416 '禁止用':250,293 '禁止直接调用':867 '禁止继续升级工具链':199 '禁止继续执行查数':346 '禁止继续查数':1987 '禁止脚本包装':238 '禁止读更多文档代替执行':292 '禁止调用或重试旧名':171 '禁止进入':1177 '禁止默认输出宏观归因':1533 '禁止默默继承进最终答案':413 '种以上合理解读':419 '科创板':1742 '秒后':912 '秒后静默重试':940 '稍后重试':313 '窗口序列':54 '窗口最高':1059 '窗口最高价':18 '窗口最高最低':1584 '窗口统计':611,626,1055 '立即停止':455,918,929,1986,2060 '立即停止查数':340 '章节模板':345 '端到端使用示例':2167 '符合条件的共n只':364 '第一句话必须直接给出数据结论':359 '第一步必须向用户提问澄清':425 '等':249 '等场景':1396 '等待用户粘贴':347 '等效':1470 '等环境变量不会被读取':1924 '等用户确认后再继续':431 '等英文或缩写时':147 '等过程性话术':1549 '等过程性陈述开头':370 '等附加条件':411 '策略回测':32 '筛选':1217,1445,1485 '简单行情':53 '简答模式':1663 '简言之':2187 '管道传参':2116 '类型':267,2180 '精简全局规则':632 '系统繁忙':944 '累计涨跌幅':1101 '红线':167 '约束':2181 '线图':726 '线图等高频任务命中':58 '终答一致性检查':1668 '结果直接从':2086 '给出明确起止日期':1235 '给定事件或需先识别事件日':1145 '给定或可识别事件后的窗口表现':645 '给我贵州茅台今日收盘价':435 '给用户的一句话说明':307 '绝对禁止以':365 '续传':784 '编码截断中文':2119 '缺失错误':332 '缺失错误中断的查询':2047 '缺数据':530 '网络':351 '美股':834,1865,1871,1877 '美股-amex':1876 '美股-nasdaq':1864 '美股-nyse':1870 '美股个股':1763 '美股优先支持行情价格查询':38 '美股字段':28 '美股数据范围限制':1778 '美股时若字段不在上述支持范围内':1841 '美股股票及指数的最新收盘价':7 '而不是把用户原文照抄进':154 '而不是静默跳过':1843 '而非':132 '股':818,1794,1821,1839 '股息率':86,382,1377,1386,1801,1817 '股票代码格式速查':1844 '股请求':1370 '能唯一命中则正常执行':1750 '脚本渲染':1948 '自动保存等逻辑':2114 '自动创建':879 '自动归一化或拦截':79 '自动替换为对应单季版':1379 '自动重试':2043 '若':190,1639,1977,1982,2089 '若上一步结果已足够回答用户问题':197 '若卡片含用户未明确提出的':406 '若本对话中有被':2044 '若用户之前已认证过':2302 '若用户的指令有':417 '若用户请求满足以下任一模式':1337 '若认为用户定义可能遗漏':1518 '英文代码无市场后缀时必须先':273 '范围必须':1503 '获取':2088 '获取新':463 '营业收入':1825 '营收':1074,1588 '行业':1251,2140 '行业板块':856 '行业聚合排名':34,668 '行情':695 '行情价格类':1779 '行情优先':828,838 '行精选':802 '衍生字段':1361 '表':2201 '表加载对应':322 '表格':362 '被':654 '被截断':2091 '裸变量名相乘':102 '要不要为某个字段调':543 '要不要做':569 '要不要多读一个文档':540 '见下表':960 '观照量化投研':46 '规则层级':1646 '解压到临时目录再拷贝':2247 '解压覆盖':2245 '触发词':1031 '触发词参考':1572 '计费':677,1897 '认证后验与':201 '认证检查服务于执行':1975 '认证脚本':874 '认证错误立即停止':327 '让我来':369,1543 '设计策略前的':755 '证据分级':1662 '评测脚本':876 '询问用户':482 '详细规则见':157 '详见':1304,1362,1884 '详见硬规则第':1569 '语义':1447 '说明':1455 '说明当前对话上下文中的工具签名':450 '说明还没想清楚就在动手':525 '请用':1810 '请稍后重试':945 '请重新前往官网获取新的':2067 '读':910,919 '读取':2293 '读取公式计算结果':714 '读取的文件':977 '读哪个变量':542 '调工具':494 '调用':459,548,2073,2145 '调用时必须使用此名':688 '财务':39,697,1360 '财务以':829,839 '财务类':1824 '资产名':2135 '资产宇宙替换':392,1567 '资产数':1352 '资产负债率':1080,1593 '资产负债率等财务指标':26 '走势':1409 '走环境变量':1930 '超预期':1142 '跌幅超过x':1266 '跑':1131 '跑一遍':1124 '路径':1552 '路由':596,1650 '路由前必读':947 '路由目标':599 '路由硬排除':1169,1479,1655 '跳过步骤':982,988,994 '输出':341,930,1613 '输出以下':1988 '输出提示':922 '输出目录':878 '过去10年':388 '过期':2065 '运行':1123 '运行时':2058 '近n个交易日':1058 '近n日序列':1583 '返回为准':832,842 '返回的':116 '还是':430 '这一步要解决的具体问题是什么':498 '这三条已是清单的浓缩版':559 '这条原则覆盖':539 '这次调用是否直接服务于用户当前问题':562 '这类高频短题有专用封闭微流程':1234 '进入任何':1722 '违反必失败':161 '违反此规则':371 '连续阶段':1149,1156,1331 '连续阶段统计':1336 '连续阶段识别与区间统计':648 '适用于参数含特殊字符的场景':2095 '选股':639,708,1111,1216,1365,2154 '逐字匹配用户原始措辞':1504 '逗号分隔字符串':87 '通常':1536 '通过':1832 '避免嵌套':2248 '部署后检查':2280 '配合':787 '配置':326,590 '配置向导':2010 '配置成功':2041 '配额耗尽':2066 '配额限流段':921 '重置':935 '量化场景使用':743 '量化标准场景必读':797 '量化选股':1106 '银保监会':1516 '错名':172 '错误':2237 '错误摘要':306 '问':1315,1323,1330 '问每次后表现':1268 '阈值区间':647 '阈值区间统计':1148 '阈值名单':1215 '阈值触发型离散事件识别':1264 '阈值触发模式':1270,1328 '降息':1138 '除非用户明确要看图':1602 '随后n天':1316 '随后表现':1141 '需传':715 '需先有':736 '需先识别阈值事件日':1271 '需要分钟频卡片的专用公式':1199 '需要横截面聚合':1262 '静默重试':913 '非':718 '非st':408,1619 '非st股':398 '非全市场横截面查询':1392 '非每题必读':592 '非盘中':1576 '非空':1980 '非筛选':1577 '面积图':735 '韩股':1760 '顶层原则管':568 '预览行':1626 '预设资源':2200 '题材板块':858 '首个匹配即停':1399 '首屏优先':47 '首次':407,1286,1618 '首次突破':1298 '首次跌破':1299 '高频踩坑':64 '默认不读':681,2182 '默认走最窄路径':488 '默默继承进最终答案':1622","prices":[{"id":"01e63e1d-5b8f-422c-858c-65ba08573cca","listingId":"ffc2f0f8-3a1d-477c-80f4-3d50fe557fcc","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"pseudo-longinus","category":"quant-buddy-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:02.715Z"}],"sources":[{"listingId":"ffc2f0f8-3a1d-477c-80f4-3d50fe557fcc","source":"github","sourceId":"pseudo-longinus/quant-buddy-skills/quant-buddy-skill","sourceUrl":"https://github.com/pseudo-longinus/quant-buddy-skills/tree/main/skills/quant-buddy-skill","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:02.715Z","lastSeenAt":"2026-05-18T19:09:07.002Z"}],"details":{"listingId":"ffc2f0f8-3a1d-477c-80f4-3d50fe557fcc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"pseudo-longinus","slug":"quant-buddy-skill","github":{"repo":"pseudo-longinus/quant-buddy-skills","stars":8,"topics":["a-share","agent-skills","backtesting","claude-code","cursor","factor-analysis","github-copilot","market-data","quant","stock-market"],"license":"mit","html_url":"https://github.com/pseudo-longinus/quant-buddy-skills","pushed_at":"2026-05-18T07:18:05Z","description":"A股·港股·美股量化分析 Agent Skill。支持行情、估值、财务查询、选股筛选、因子计算、策略回测。Quant agent skill for A-share, HK & US stocks — market data, fundamentals, screening, factor & backtest.","skill_md_sha":"44b8cd7bf3d4c1cc3a9e39d0a8a82e9bef3d86c9","skill_md_path":"skills/quant-buddy-skill/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/pseudo-longinus/quant-buddy-skills/tree/main/skills/quant-buddy-skill"},"layout":"multi","source":"github","category":"quant-buddy-skills","frontmatter":{"name":"quant-buddy-skill","description":"查询A股、港股、美股股票及指数的最新收盘价、开盘价、涨跌幅、成交额、成交量、换手率、PE、PB、市值等实时行情与估值数据。\n查询最近N个交易日的价格序列、日涨跌幅序列、窗口最高价、最低价、振幅等短期统计。\n查询上市公司最近报告期的营业收入、净利润、归母净利润、ROE、总资产、资产负债率等财务指标（A股及部分港/美股字段，以工具返回为准）。\n支持A股选股筛选、因子计算、策略回测、净值对比、行业聚合排名、上传自有因子CSV、渲染图表。\n港股、美股优先支持行情价格查询；财务/报告期字段应先尝试 fast_query(report)，按工具实际返回决定。\n即使用户只是简单地问一只股票的价格、涨跌幅或财务数据，也应优先使用本技能，\n不要以\"无法联网\"或\"无法获取实时数据\"为由拒绝——本技能通过平台API可查询真实数据。"},"skills_sh_url":"https://skills.sh/pseudo-longinus/quant-buddy-skills/quant-buddy-skill"},"updatedAt":"2026-05-18T19:09:07.002Z"}}