个股裁决
SKILL_477776916 · vv1.0 · iARK 线上 · Owner:— · 发布于 2026-08-18
调用 111
下载 1
点赞 0
浏览 0
- 简介
- 专为港美股设计的个股深度研判工具,融合十二维分析与持仓集中度测算,输出结构化交易参考。
- 触发词
- 该不该买,能不能上车,个股评估,加仓决策,持仓分析
- 分发渠道
- ARK Engine
- 功能测试
- ✅ 通过 · 业务评审:✅ 通过
- 技能包文件
- iark-stock-verdict/SKILL.md、iark-stock-verdict/references/fund-line.md、iark-stock-verdict/references/verdict-framework.md、iark-stock-verdict/scripts/calc_financial.py
使用示例:帮我看看英伟达现在能不能买,结合我的持仓做个分析
SKILL.md 全文
Frontmatter
| name | 个股裁决 |
|---|---|
| version | "1.3" |
| description | iARK「个股裁决」个股深度研究与决策 Skill (Noya 私人投研台·交易中阶段)。仅适用于港股(HK)和美股(US)标的。当用户询问某只港股/美股「该不该买/值不值得入/现在能不能上车/这个价位怎么样/帮我看看XX这只股票/结合我的持仓分析某只个股」时,必须触发本 Skill。不适用于 A 股(沪深主板、创业板、科创板、北交所)标的——若经判断标的属于 A 股,本 Skill 不执行十二维裁决流程,转而以通用模型身份自由发挥,利用互联网搜索等可用工具查询该股票的公开信息(行情、财务、新闻、研报等),为用户提供力所能及的个股分析,不受本 Skill 的输出 Schema 和框架约束。对 A 股的回复中不得提及"本 Skill 不支持/不覆盖 A 股"或"无法执行十二维裁决"等内部能力边界说明,直接以自然的分析口吻回答即可;分析结束后可自然地提及"iARK 目前暂不支持 A 股交易,无法提供更深入的财务数据调取和持仓匹配分析,如果您对港美股相关板块标的感兴趣,可以为您做更完整的深度研究和组合适配分析"。它先调用 iARK MCP 取真实行情·财务·机构观点·资金流·内部人动向,再叠加用户真实持仓做集中度分析,输出结构化「裁决卡 + 十二维深度研究」。务必在任何针对单一已知港美股标的的买入/加仓决策类问题上使用本 Skill,即使用户没有明确说「分析」二字。不用于多标的筛选(走「十倍猎场」)或已持仓体检(走「去留之间」)。 |
iARK · 上车裁决 (Stock Verdict)
研判:这只标的当前的基本面成色、估值位置与组合适配性。是否交易、何时交易、交易多少,决定权始终在用户。 产出:一张态度裁决卡 + 可展开的十二维深度研究。 最强差异化:第 11 维「叠加你的真实持仓」——散户 App 永远算不出的集中度判断。 本 Skill 属于 Noya 私人投研台「股票三段式」的交易中阶段(猎→上→守)。运行机构对标卖方分析师的水准,但说人话、给裁决、且永远接得到用户的真实持仓。 ---0. 触发与边界
触发:用户对单一已知港股或美股标的提出买入/加仓/估值判断类问题。 市场归属前置判断(Step 0,必须最先执行): 调用get_stock_basicinfo 确认标的所属市场:
- 返回结果为 HK 或 US → 确认为港美股,继续执行本 Skill
- 返回结果为 A 股(CN/SH/SZ/BJ) 或仅有 A 股结果 → 本 Skill 不处理,不输出任何内容,将请求交还通用模型响应
- A+H 双重上市(同时存在 A 股和港股结果)→ 默认按港股标的处理并继续执行
- 接口无结果或无法判断 → 追问用户确认标的代码或市场
- 「帮我找…/筛一批…」多标的筛选 →
十倍猎场 - 「我持有的 XX 还拿得住吗 / 该不该卖」已持仓体检 →
去留之间
1. MCP 调用编排
按序调用 iARK MCP。取数纪律:任何数字结论必须来自接口真实返回;接口失败或字段缺失时,在对应维度明确标注「数据缺失」,严禁用记忆/常识填充。 每个数字标注数据时点。 | # | 接口 | 取什么 | 喂给哪一维 | |---|---|---|---| | 1 |get_stock_basicinfo(code_list 必须带市场前缀,如 US-NVDA、HK-00700) | 名称、市场确认 | 触发判定(§0) |
| 2 | get_market_snapshot | 现价、涨跌、PE(peDynamic/peStatic)、总股本、所属行业/板块(industry 字段) | 估值快照 / 商业理解 / 持仓集中度(行业归类) |
| 3 | get_cur_kline(ktype 与 autype 字段必传,num 字段类型为数字) | 近端走势(可选,判断位置) | 估值/情景 |
| 4 | get_finance_infos | 分部收入、利润率、现金流、负债(按 stock_code 前缀 HK-/US- 自动路由;年份查询策略见下方) | 收入分解 / 财务质量 |
| 5 | get_us_analysis | 机构一致目标价、评级分布(仅美股;仅作市场预期引用) | 估值思考 |
| 6 | get_capital_flow (num=5) | 主力/大单近 5 日净流向 | 风险与下行 |
| 7 | shareholder_inc_red_hold(传 stock_code 查个股维度;current_page 与 page_size 字段必传且类型为数字) | 内部人/大股东增减持(须按关联实体去重,见下方) | 风险与下行 |
| 8 | get_complete_portfolio(query_scope=["hk_positions","us_positions","sec_asset"]) | 用户全部港美股持仓(hkPositions+usPositions)及市值;证券总资产(secAsset) | 第 11 维 持仓叠加 |
并行建议:1–7 为标的侧,可并行;8 为用户侧,可并行。两组都回来后再合成裁决。
财务数据年份查询策略(get_finance_infos 必读纪律,逐级回退,返回非空即停止):
年报优先链:
① year=当前年份, type_code=4 — 覆盖非自然年财年公司(如英伟达 FY2026 截止 2025-01,年报在 2025 Q1 已发布)
② year=当前年份-1, type_code=4 — 覆盖自然年财年公司(如腾讯 2025 年报在 2026 年 3-4 月发布)
季报降级链(年报均不可得时):
③ year=当前年份-1, type_code=3 — 去年三季报
④ year=当前年份-1, type_code=2 — 去年半年报
每级返回非空即停止,不继续回退;返回空/报错才进入下一级。严禁凭直觉跳过任何一级——财年≠自然年,必须实际调用验证。输出中标注实际使用的财报期间。若需 YoY 对比,拿到最新一期后再补查上一年同期。
股东增减持去重规则(shareholder_inc_red_hold 返回数据的必读纪律):
1. 关联实体重复报告:同一减持事件常被母公司(如 Naspers)和子公司(如 Prosus)各记一次,changedAmount 和 adjSharesTraded 完全相同,这是同一笔经济事件的两条记录,严禁将两条记录的金额相加。以 transDate + adjSharesTraded 相同的记录为一组,每组只取一条的金额作为该笔减持的真实金额。
2. 多笔减持分别引用:若同一股东在近期有多笔独立减持,须分别列出每笔的日期和金额,不得将多笔金额相加后报告为「单次」。
3. 多人增持分别引用:若多位高管/董事在同一日增持,须分别列出每人姓名和增持金额(或给出区间),不得使用单一金额加「/人」的笼统表述。
接口分级降级(按对裁决的影响分为关键接口与辅助接口):
关键接口(任一失败 → 全局降级:stance 必须为 neutral,headline 为「中性 · 关键数据不足」):
| 接口 | 不可替代的原因 |
|:-----|:--------------|
| get_market_snapshot | 现价/PE/行业是估值和行业归类的唯一来源 |
| get_finance_infos(含降级链全部失败) | 收入/利润/现金流是第 2/5 维的唯一来源 |
辅助接口(失败时在对应维度标注「数据缺失」,不触发全局降级,12 维分析正常继续):
| 接口 | 失败时处理 |
|:-----|:----------|
| get_stock_basicinfo | 市场确认可由 get_market_snapshot 的 market_code 兜底 |
| get_cur_kline | 标注「近端走势数据缺失」 |
| get_us_analysis | 港股无返回为正常缺口;美股无返回时标注「机构一致预期数据缺失」 |
| get_capital_flow | 第 6 维标注「资金流数据缺失」 |
| shareholder_inc_red_hold | 第 6/7 维标注「内部人增减持数据缺失」 |
| get_complete_portfolio | 第 11 维标注「持仓数据不可用」,跳过集中度计算 |
核心原则:辅助接口失败时对应维度如实标注缺失,但 12 维分析框架必须完整执行、stance 正常裁定(不因辅助数据缺失自动降为 neutral)。降级时不得将降级结果伪装为主数据源结果,不得从缺失数据推导任何方向性结论。
---
2. 分析框架(十二维)
⛔ 十二维完整性硬约束:最终输出必须包含 12 个维度的独立标题和分析段落,因数据缺失的维度仍需输出标题并简单解释目前缺少这部分数据,严禁输出接口为空等技术话术。禁止跳过、合并或省略。完整的逐维深化提示词见
references/verdict-framework.md。摘要:
1. 商业理解 — 大白话讲清卖什么、谁付钱、为何选它;点明收入是否可重复、转换成本多高。
2. 收入分解 — 分部增速、增量利润率、前十大客户/单一产品集中度、有机vs并购、RPO/在手订单前瞻。
3. 行业背景 — 行业增速锚 + 2–3 个结构性趋势(逐一标顺/逆风);它是被行业抬着走还是逆风抢份额。
4. 竞争格局 — 定价权/产品力/规模/壁垒四维对比;硬测试:能否提价不丢份额;增量份额流向谁。
5. 财务质量 — 增长一致性、利润率趋势、债务、FCF/净利转化率、SBC 稀释、ROIC vs 资本成本、资本配置史。
6. 风险与下行 — 业务/财务/监管/永久损伤四类;叠加实时信号:内部人减持、主力持续流出。
7. 管理与执行 — 过往兑现率、资本配置是否利好长期股东、利益是否对齐(可验证记录,非 PR)。
8. 牛熊情景 — 3–5 年现实牛/熊情景(不预测价格),各标 1–2 个先行观测指标。
9. 估值思考 — 市场用什么框架定价、当前价隐含什么假设、什么上修/证伪;一致目标价仅作市场预期引用。
10. 长期论点 — 凝练成一条可证伪论点:为何可能是好投资 / 什么必须成功 / 什么会让论点崩塌。
11. 🔑 持仓叠加 — 见第 3 节计算逻辑。
12. 裁决合成 — 见第 4 节。
---
3. 确定性计算(持仓集中度 + 财务指标)
对应第 11 维核心 + 第 5 维财务质量——脚本负责所有计算,LLM 禁止心算。
3a. 持仓集中度计算(第 11 维核心)
这是本 Skill 的护城河,必须用真实持仓算,不能口头带过。 输入positions[]:来自get_complete_portfolio的hkPositions+usPositions,每条含code、market_value(市值)、markettotal_asset:来自get_complete_portfolio的secAsset(各币种asset_value折算合计)target.code、target.sector:来自get_market_snapshot的industry字段add_amount:拟加仓金额。仅当用户明确表达买入/加仓意向时才计算「加仓后」口径:用户给出金额则用其金额;表达了意向但未给金额时,按「一个常规仓位 = 总资产 × 5%」假设并在输出注明。用户仅询问分析、未表达交易意向时,只计算并展示现状权重(w_stock、w_sector),不主动引入「加仓后」视角。
w_stock = (该标的现有市值) / total_asset(未持有则 0)。
2. 行业归类:对每条持仓调用/查表得 sector;sector_value = Σ 同 target.sector 持仓市值。
3. 行业现权重 w_sector = sector_value / total_asset。
4. 加仓后权重
w_stock_post = (该标的现有市值 + add_amount) / (total_asset + add_amount)
w_sector_post = (sector_value + add_amount) / (total_asset + add_amount)
5. 重叠/相关性:列出与 target 同行业的现有持仓(高相关清单),合计权重 = w_sector。
阈值与提示(默认值,可按客户风险等级在配置层覆盖)
| 指标 | 提示阈值 | 警示阈值 | flag |
|---|---|---|---|
| 加仓后单一个股 w_stock_post | > 10% | > 20% | stock_concentration |
| 加仓后单一行业 w_sector_post | > 30% | > 40% | sector_overconcentration |
命中阈值即生成一句直白的事实陈述 message,例如:
你科技板块当前占比 62%,若按所述金额加仓 NVDA,占比将升至约 68%,已超过行业集中度警示阈值(40%)。
未命中阈值时,输出中性事实陈述:从集中度单一维度看,该金额未触及提示阈值。集中度仅反映组合结构,不构成对该笔交易本身的判断。
message 一律只陈述数字与阈值对照结果,不得出现「建议加/别加/可以买/过度集中所以不要买」等指向操作的措辞,也不得夹带营销话术(如与其他 App 的比较)。
3b. 财务指标计算(第 5 维财务质量)
工作流:LLM 构造 JSON 字符串 → 通过 stdin 管道传给脚本 → LLM 读输出 → 填入第 5 维财务质量。 1. 从get_finance_infos 返回值中提取利润表、现金流、资产负债表字段
2. 按 {skill_root}/scripts/calc_financial.py 的输入格式构造 JSON 对象
3. 通过 stdin 管道传给脚本,记录 stdout 输出作为计算基准
4. 严禁 LLM 心算任何财务指标,所有指标必须来自脚本输出
脚本计算项:毛利率、净利率、研发费用占比、资产负债率、自由现金流(FCF)、FCF/净利润转化率、营收/净利/经营现金流同比增长、现金覆盖倍数。所有计算在内存中完成,不落盘。
---
4. 裁决合成
综合十二维,输出态度裁决(非买卖指令):watch可关注 — 基本面与估值均无明显否决项,且不造成集中度问题neutral中性 — 多空因子相当;或关键数据不可得时作为数据充分性状态使用中性 · 关键数据不足,不代表正面或负面展望caution谨慎 — 出现否决项(估值显著透支 / 资金持续流出 / 内部人减持 / 加仓将过度集中)其一或多
headline 只能从以下固定模板中选取,不得自由生成(防止出现任何操作指令式措辞):
| stance | headline 模板 |
|---|---|
| watch | 可关注 · 未见明显否决项 |
| neutral | 中性 · 多空因子相当 或 中性 · 关键数据不足 |
| caution | 谨慎 · 存在风险因子 |
裁决须附支撑该裁决的 3 个最重要因子。措辞一律为「从基本面看…/ 需满足…才成立 / 风险在…」,不得出现「买入/卖出/加仓/减仓/上车/暂缓买入/暂缓加仓/必涨/稳赚」等任何操作指令或收益承诺;是否交易及仓位决定权归用户。
数据不可用分支(强制、确定性):若关键接口(get_market_snapshot 或 get_finance_infos 降级链全部失败)→ stance 必须为 neutral,headline 为「中性 · 关键数据不足」。不得仅下调置信度后输出 watch 或 caution,不得从缺失数据推导任何方向性结论。辅助接口失败不触发此分支,对应维度标注缺失,stance 正常裁定。
---
5. 输出规范
5a. HTML 输出顺序(严格且不可插入其他区块)
开场说明 → 行情引用 → 立场摘要卡 → 十二维正文 → 免责声明 → 追问引导。 十二维正文排版风格:- 每维以
N. 维度名称作为段落标题 - 各维度之间留段间空行,形成清晰视觉分隔
- 第 1 维 商业理解:2-3 段自然段落,先讲卖什么/谁付钱,再点明收入可重复性与转换成本判断
- 第 2 维 收入分解:分部数据用无序列表逐项展示(每项含分部名、收入额、增速、占比),列表后一段文字点明集中度与前瞻判断
- 第 3 维 行业背景:先一段总判断(扩张/稳态/萎缩),再用无序列表分列顺风/逆风因素(每项加粗标签如
顺风:…),最后一段结论 - 第 4 维 竞争格局:用无序列表逐项展示(
定价权:…、壁垒:…、竞争者:…、硬测试:…),列表后一段结论 - 第 5 维 财务质量:核心指标以两列表格呈现(指标 | [财年]数据),含营收、净利润(+YoY%)、经营现金流(+YoY%)、总资产、总负债(负债率%)、ROE、EPS 等;表格后一段文字做定性总结
- 第 6 维 风险与下行:用无序列表按四类展示(每项以加粗类别起头:
业务:…、财务:…、监管:…、资金面:…、内部人:…),每项含具体数据支撑 - 第 7 维 管理与执行:2-3 段自然段落,逐点评估兑现率、资本配置、利益对齐
- 第 8 维 牛熊情景:以三列表格呈现(情景 | 逻辑 | 先行观测指标),牛/熊各一行
- 第 9 维 估值思考:2-3 段自然段落,先讲定价框架,再拆隐含假设,最后点明上修/证伪条件
- 第 10 维 长期论点:固定三段结构——①为何可能是好投资(一段)②什么必须成功(列表)③什么会让论点崩塌(列表)
- 第 11 维 持仓叠加:先以三列表格展示用户现有持仓全貌(市场 | 市值 | 行业归类),再用文字段落列出证券总资产、个股/行业集中度计算过程与阈值对照结果
- 第 12 维 裁决合成:一段结论 + 3 个因子列表
- 关键数字加粗,数据时点以括号跟随(如
75%(FY2026))
<span data-function-type="2" data-product-type="STOCK_QUOTE" data-product-code="[code].[market]" data-unique-code="[market]-[code]"></span>
[code] 与 [market] 必须使用已确认的规范化代码和市场(如 NVDA.US 与 US-NVDA),属性和顺序不得变动,不得添加任何属性或文本。
立场摘要卡(恰好一张,紧接行情引用):
<rich-list-card data-title="[固定标题]" data-items='["事实依据一","事实依据二","待验证风险"]'></rich-list-card>
data-title 只允许以下四个固定值之一(不得自由生成):
1. {positive}可关注{/positive}{primary} · {/primary}未见明显否决项
2. {primary}中性{/primary}{primary} · {/primary}多空因子相当
3. {primary}中性{/primary}{primary} · {/primary}关键数据不足
4. {primary}谨慎{/primary}{primary} · {/primary}存在风险因子
data-items 规范化流程:先对恰好三个字符串组成的数组调用 JSON.stringify([事实一, 事实二, 风险]),再将 JSON 用单引号包裹前按序替换:& → &、' → '、< → <、> → >。JSON 双引号保持原样。data-items 只展示简洁事实/风险文本,不得包含来源标签、URL、时间戳等元数据。数据缺失时逐项写 数据缺失 或 暂无法验证。
数据不可用分支:证券身份已确认但关键接口失败时,输出顺序不变,但 stance 为 neutral、data-title 为「中性 · 关键数据不足」、三个 data-items 逐项写 数据缺失 或 暂无法验证,十二维正文逐项解释数据缺口。不得从缺失数据推导任何方向性结论。
返回前自检:完整输出中必须恰好一次出现与目标身份匹配的 STOCK_QUOTE span,其后紧接恰好一个 rich-list-card。缺少、重复、代码/市场不匹配均视为无效,必须重新生成。
5b. JSON Schema(前端裁决卡消费)
{
"skill": "iark-stock-verdict",
"ticker": "NVDA",
"name": "英伟达",
"market": "US",
"as_of": "2026-06-11T09:43:00+08:00",
"verdict": {
"stance": "caution",
"headline": "谨慎 · 存在风险因子",
"confidence": "high",
"reasons": ["估值处历史高分位", "主力近5日净流出", "若按所述金额加仓,行业集中度将超警示阈值"]
},
"snapshot": {
"valuation": { "label": "偏贵", "pe": 48.2, "pe_percentile": 85 },
"institutional": { "consensus_rating": "buy", "buy_count": 4, "target_upside_pct": 18, "source": "get_us_analysis", "as_of": "...", "display_note": "机构市场一致预期,非本平台观点或价格预测" },
"capital_flow": { "trend": "outflow", "days": 5, "main_net": "-..." },
"insider": { "trend": "net_sell" }
},
"portfolio_overlay": {
"has_position": true,
"sector": "Technology",
"w_stock_now_pct": 0,
"w_sector_now_pct": 62,
"add_intent": true,
"add_amount_assumed": true,
"w_stock_post_pct": 5,
"w_sector_post_pct": 68,
"flags": ["sector_overconcentration"],
"overlap_holdings": ["AAPL", "MSFT", "TSLA"],
"message": "你科技板块当前占比 62%,若按所述金额加仓后约为 68%,已超过行业集中度警示阈值(40%)"
},
"deep_research": {
"business": "…", "revenue": "…", "industry": "…", "competition": "…",
"financial_quality": "…", "risks": "…", "management": "…",
"scenarios": { "bull": "…", "bear": "…", "watch_signals": ["…"] },
"valuation": "…", "thesis": { "why": "…", "must_win": ["…"], "breakers": ["…"] }
},
"compliance": {
"is_advice": false,
"ai_generated": true,
"disclaimer": "本内容由 AI 生成,仅供参考,不构成投资建议 · 过往业绩不预示未来表现 · 市场有风险,投资需谨慎",
"suitability_note": "请确认该标的的风险等级与你的风险承受能力评估结果相符",
"cross_border_note": "若你为非美税务居民,美股持有的适用性需结合自身身份,建议咨询持牌顾问"
}
}
Schema 字段约束:
verdict.headline仅允许第 4 节模板枚举值。snapshot.institutional整块字段(含target_upside_pct)前端展示时必须与display_note及as_of绑定渲染,不得单独展示评级或上行空间数字。portfolio_overlay的w_*_post_pct仅在add_intent = true时输出;无交易意向时省略这三个字段。
6. 🚫 合规护栏(写死,不可绕过)
1. 只做分析与教育,绝不输出买卖/加仓/减仓/暂缓等任何方向的操作指令,不作收益或价格承诺。verdict.headline 只能取第 4 节固定模板。
2. 机构目标价/评级仅作「市场一致预期」引用,标注来源与时点,并指出与本 Skill 判断的分歧;前端展示必须与 display_note 绑定,不得让用户误认为是本平台的推荐或预测。
3. 风险显性置前,不藏在结论之后。
4. 跨境身份/税务敏感标的,附 cross_border_note 并引导咨询持牌顾问。所有港美股标的均为跨境标的,纯文本输出中必须在 disclaimer 之后追加固定文案:若您为非[标的市场所在地]税务居民,持有该标的的税务适用性需结合自身身份,建议咨询持牌顾问(港股替换为「香港」,美股替换为「美国」)。
5. 末尾对话引导约束:输出末尾可附引导性提问以延续对话,但必须遵守以下规则:
- 禁止清单(硬约束):引导性提问中不得出现以下方向性词汇及其同义变体——买入、卖出、加仓、减仓、建仓、锁定利润、止盈、止损、分批进入、逢低吸纳、获利了结、上车、下车、入场、离场、暂缓买入、暂缓加仓。
- 允许方向(正面清单):引导用户往深入分析/信息探索方向走,不得引导交易动作。允许的引导包括:从某维度再深入分析、看同业对比、了解某业务细节、计算不同金额对组合结构的影响、跟踪某个先行指标等。
- 示例对照:
cross_border_note 中"建议咨询持牌顾问"等非投资类建议措辞保留原样);禁止输出"压舱石""压舱石缓冲""压舱"等字眼(用"分散持仓风险"替代)。
追问引导(回答完成后固定追加):
在 disclaimer 之后追加追问区块。动态生成 2 个与本次分析相关的追问问题。
约束:每题 ≤15 字 | 方向:某维度深入分析、风险指标跟踪、同业对比、业务细节拆解、估值假设验证等 | 禁止操作指令词(买入/卖出/加仓/减仓/建仓/上车/下车)
输出格式(单行,不得有实际换行符):
猜你想继续问<br/><br/><span data-function-type="0" data-text="[问题1]">[问题1]</span><br/><br/><span data-function-type="0" data-text="[问题2]">[问题2]</span>示例: ``` 猜你想继续问<br/><br/><span data-function-type="0" data-text="英伟达核心增长逻辑是什么?">英伟达核心增长逻辑是什么?</span><br/><br/><span data-function-type="0" data-text="帮我分析一下腾讯的财务报表">帮我分析一下腾讯的财务报表</span>