Macro-skills detect-shanghai-silver-stock-drain

displayName: 判斷上海白銀庫存消耗趨勢

install
source · Clone the upstream repo
git clone https://github.com/fatfingererr/macro-skills
manifest: skills/detect-shanghai-silver-stock-drain/skill.yaml
source content

displayName: 判斷上海白銀庫存消耗趨勢 emoji: "📦" authorUrl: https://github.com/fatfingererr/macro-skills

tools:

  • claude-code

featured: false installCount: 0

testQuestions:

  • question: '檢查上海白銀庫存目前的耗盡狀態' imagePath: images/shanghai-silver-drain-report-2026-01-22.png expectedResult: | 上海白銀庫存耗盡分析報告

    截至日期:2026-01-16


    核心結論 ┌──────────────┬─────────────────────────────┬──────────────┐ │ 指標 │ 數值 │ 判定 │ ├──────────────┼─────────────────────────────┼──────────────┤ │ 訊號等級 │ MEDIUM_SUPPLY_TIGHTENING │ 🟡 中度警戒 │ ├──────────────┼─────────────────────────────┼──────────────┤ │ 合併庫存 │ 1,133.3 噸 │ 歷史低檔 │ ├──────────────┼─────────────────────────────┼──────────────┤ │ 庫存分位數 │ 12% │ 低於 20% │ └──────────────┴─────────────────────────────┴──────────────┘


    三維度量化結果

    ┌────────────────┬─────────┬────────────────────────┐ │ 維度 │ 數值 │ 解讀 │ ├────────────────┼─────────┼────────────────────────┤ │ 方向 (Δ1) │ -58.4 │ 庫存下降中 │ ├────────────────┼─────────┼────────────────────────┤ │ 速度 (Z-score) │ -2.1 │ ⚠️ 流出顯著高於常態 │ ├────────────────┼─────────┼────────────────────────┤ │ 加速度 (Z) │ +1.4 │ ⚠️ 流出正在加速 │ └────────────────┴─────────┴────────────────────────┘


    訊號判定邏輯

    ✅ A. 庫存水位偏低(12% < 20% 門檻) ✅ B. 耗盡速度異常(z_drain = -2.1 ≤ -1.5) ✅ C. 耗盡加速(z_accel = +1.4 ≥ +1.0)

    → A+B+C 同時成立 → HIGH_LATE_STAGE_SUPPLY_SIGNAL


    敘事解讀

    1. 上海合併庫存處於歷史低分位(約 12% 分位)
    2. 近 4 週平均庫存流出顯著高於常態(耗盡速度 Z=-2.1)
    3. 流出在加速(加速度 Z=+1.4),符合「方向 + 速度」核心判準
    4. 若同時觀察到其他市場庫存/溢價惡化,可進一步提高信心

    數據口徑說明

    ⚠️ 這是「交易所可交割/倉單/指定倉庫」口徑,不等於全中國社會庫存 ⚠️ 單週跳動可能反映倉儲/交割規則變動或搬倉,需用平滑與多來源交叉確認

  • question: '分析上海白銀庫存過去一年的變化趨勢' imagePath: images/shanghai-silver-drain-one-year-report-2026-01-22.png expectedResult: | 上海白銀(SHFE)庫存年度分析摘要

    ⏵核心數據 ┌───────────────────────┬──────────────────┐ │ 指標 │ 數值 │ ├───────────────────────┼──────────────────┤ │ 期初庫存 (2025-01-22) │ 1,403 噸 │ ├───────────────────────┼──────────────────┤ │ 期末庫存 (2026-01-22) │ 589 噸 │ ├───────────────────────┼──────────────────┤ │ 年度淨變化 │ -814 噸 (-58.0%) │ ├───────────────────────┼──────────────────┤ │ 當前歷史分位數 │ 1.3%(極度低檔) │ └───────────────────────┴──────────────────┘ 年內極值

    • 年內最高: 1,454 噸 (2025-02-05)
    • 年內最低: 519 噸 (2025-11-04) — 歷史新低
    • 年內振幅: 935 噸

    季度走勢 ┌──────────┬─────────┬──────────┐ │ 季度 │ 變化 │ 趨勢 │ ├──────────┼─────────┼──────────┤ │ 2025 Q1 │ -317 噸 │ ▼ 流出 │ ├──────────┼─────────┼──────────┤ │ 2025 Q2 │ +255 噸 │ ▲ 回補 │ ├──────────┼─────────┼──────────┤ │ 2025 Q3 │ -231 噸 │ ▼ 流出 │ ├──────────┼─────────┼──────────┤ │ 2025 Q4 │ -229 噸 │ ▼ 流出 │ ├──────────┼─────────┼──────────┤ │ 2026 Q1* │ -29 噸 │ ▼ 緩流出 │ └──────────┴─────────┴──────────┘ 主要流出階段

    1. 2025/02-05月: 流出 333 噸(春節後持續流出)
    2. 2025/09-11月: 流出 657 噸(歷史性大幅流出,跌破歷史新低)
    3. 2025/12月: 流出 230 噸(年末再度下跌)

    訊號判定

    • 當前訊號: 🟡 WATCH(觀察)
    • 庫存水位已達歷史 1.3% 分位(條件 A 成立)
    • 當前流出速度未達異常門檻(近期已趨緩)

    關鍵結論

    1. 過去一年庫存下降 58%,為近年來最劇烈
    2. 2025 年 9-11 月出現歷史性庫存崩跌,跌至 519 噸新低
    3. 當前水位距歷史高點(3,091 噸)已下跌 超過 80%
    4. 年底略有回補,但整體仍處極度低檔

    圖表已儲存至 shanghai-silver-drain-report-2026-01-22.png

qualityScore: overall: 80 badge: 高級 evaluatedAt: "2026-01-23"

metrics: problemFit: 82 correctness: 82 dataGovernance: 85 robustness: 72 maintainability: 78 usability: 81

metricDetails: problemFit: score: 82 strengths: - SKILL.md 有三維度量化框架與成功準則 - workflows/ 覆蓋分析、數據抓取、交叉驗證三路徑 - input-schema.md 含核心與分析參數完整定義 improvements: - 可增加不適用情境(如倉儲規則變動期間)

correctness:
  score: 82
  strengths:
    - methodology.md 有完整三維度公式與 Z 分數計算
    - testQuestions 有詳細 expectedResult 作為回歸基準
    - scripts/ 有 drain_detector.py 與 visualize_drain.py
  improvements:
    - 可增加 examples/ 目錄存放 golden case

dataGovernance:
  score: 85
  strengths:
    - data-sources.md 詳列 CEIC/SGE/SHFE 來源與口徑
    - workflows/cross-validate.md 有交叉驗證流程
    - 多個 fetch_*.py 與 explore_*.py 腳本
    - data/ 目錄有實際 CSV 快取
  improvements:
    - 可增加 fallback 替代來源文檔

robustness:
  score: 72
  strengths:
    - pitfalls 區段詳列搬倉、格式變更等風險
    - bestPractices 有平滑視窗建議
  improvements:
    - 缺少 failure-modes.md 明確降級策略
    - Selenium 爬蟲需更完善的錯誤處理
    - 可增加資料缺失時的輸出行為說明

maintainability:
  score: 78
  strengths:
    - manifest.json 有版本控制
    - templates/ 輸出結構定義清晰
    - 無重複文件
  improvements:
    - 部分門檻參數分散於 scripts 中
    - 可集中管理 Z_THRESHOLD 等參數

usability:
  score: 81
  strengths:
    - output-markdown.md 有三維度表格與敘事解讀
    - FAQ 解答 Z 分數、SGE/SHFE 差異等問題
    - about 區段有訊號分級解讀表
  improvements:
    - 可增加 historical-episodes.md 歷史對照
    - 輸出可增加 confidence 信心度欄位

details: | 任務適配度(82/100) - SKILL.md 有三維度量化框架 - workflows/ 覆蓋分析、抓取、交叉驗證 - 待改進:增加不適用情境說明

**正確性(82/100)**
- methodology.md 有完整公式
- testQuestions 有 expectedResult 回歸基準
- 待改進:增加 examples/ golden case

**資料治理(85/100)**
- 有 cross-validate.md 交叉驗證
- 多個 fetch/explore 腳本與 data/ 快取
- 待改進:增加 fallback 來源

**穩健性(72/100)**
- pitfalls 詳列常見風險
- 待改進:增加 failure-modes.md

**可維護性(78/100)**
- manifest.json 有版本控制
- 待改進:參數集中管理

**輸出可用性(81/100)**
- 有三維度表格與敘事解讀
- 待改進:增加歷史對照文檔

upgradeNotes: targetBadge: 頂級 requirements: - metric: robustness currentScore: 72 targetScore: 85 suggestion: 增加 failure-modes.md 與 Selenium 錯誤處理 - metric: maintainability currentScore: 78 targetScore: 85 suggestion: 集中管理門檻參數至 CONFIG 區 - metric: usability currentScore: 81 targetScore: 90 suggestion: 增加 historical-episodes.md 與 confidence 欄位

bestPractices:

  • title: 使用平滑視窗避免單週跳動 description: 單週庫存變動可能反映搬倉或規則變動,建議使用 4 週平滑視窗
  • title: Z 分數標準化比較 description: 使用 3-5 年歷史計算 Z 分數,避免短期基準失真
  • title: 多來源交叉驗證 description: SGE + SHFE 合併使用,並與 COMEX、ETF 數據交叉確認
  • title: 注意數據口徑限制 description: 交易所庫存 ≠ 全社會庫存,解讀時需謹慎

pitfalls:

  • title: 把倉單變動誤判為實物流動 description: 交易所庫存變動可能是搬倉或倉儲規則調整,不必然代表實物被「抽走」 consequence: 過度解讀供給緊縮訊號
  • title: 忽略中國市場特殊性 description: 中國市場有進出口管制、庫存統計口徑等特殊因素 consequence: 與國際市場比較時產生誤判
  • title: PDF 格式變更導致解析失敗 description: SGE 周報 PDF 格式改版可能導致數據抓取失敗 consequence: 數據缺失或錯誤

faq:

  • question: 什麼是三維度量化? answer: | 三維度量化是分析庫存變動的框架:

    1. 方向:庫存是上升還是下降(Δ1)
    2. 速度:每週流出量有多快(drain_rate)
    3. 加速度:流出速度是在加快還是減慢(Δ2)

    當速度和加速度都為正(流出且加速)時, 才是真正的「晚期供給訊號」。

  • question: 為什麼要用 Z 分數? answer: | Z 分數將不同時期的數據標準化,便於比較:

    • Z = 0:與歷史平均相同
    • Z = -2:比歷史平均低 2 個標準差

    使用 Z 分數可以判斷「異常」而非僅看絕對數值。

  • question: SGE 和 SHFE 庫存有什麼差別? answer: |

    • SGE(上海黃金交易所):現貨交易所,庫存為「指定倉庫庫存」
    • SHFE(上海期交所):期貨交易所,庫存為「倉單」(可交割)

    兩者都是「可交割」口徑,不等於全中國社會庫存。 合併使用可以更完整地反映交易所可用供給。

about: repository: https://github.com/fatfingererr/macro-skills branch: main additionalInfo: | ## 適用場景

- 監控上海白銀庫存變化趨勢
- 驗證社群「庫存暴跌」敘事
- 評估白銀市場供給緊縮程度
- 配合價格分析判斷入場時機

## 數據來源

**主要來源**
- SGE: 上海黃金交易所「行情周報」PDF
- SHFE: 上海期貨交易所「倉單日報」

**交叉驗證**
- COMEX 庫存報表
- SLV/PSLV ETF 持倉
- 白銀現貨/期貨價格

## 訊號解讀

| 訊號等級 | 含義 | 建議動作 |
|----------|------|----------|
| HIGH | 晚期供給訊號 | 高度警戒,交叉驗證 |
| MEDIUM | 供給趨緊 | 持續關注 |
| WATCH | 單一異常 | 保持觀察 |
| NO_SIGNAL | 正常 | 無需動作 |