monitor-etf-holdings-drawdown-risk

monitor-etf-holdings-drawdown-risk is a skill for Claude Code, Codex from fatfingererr/macro-skills. It costs 76 tokens per session (2,934 once invoked), scanned A, original, MIT.

A tool that looks for cases where an ETF’s price rises while its reported holdings or inventory falls. It checks other evidence, such as exchange inventories, futures pricing structure, and retail premiums, and presents both physical-shortage and fund-flow explanations.

In plain words
What is it for?
Detecting price–inventory divergence, calculating a stress score, checking precious-metals market data, comparing competing explanations, and suggesting follow-up checks.
Why use it?
Falling ETF holdings do not automatically mean that physical supply is running out. Cross-checking related indicators helps distinguish a real supply problem from investor redemptions or fund flows.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is --output ../../../output/.

Good fit Detecting price–inventory divergence, calculating a stress score, checking precious-metals market data, comparing competing explanations, and suggesting follow-up checks.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/fatfingererr/macro-skills
agentmods
npx agentmods add skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin monitor-etf-holdings-drawdown-risk/plugin install monitor-etf-holdings-drawdown-risk after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for monitor-etf-holdings-drawdown-risk

README.md
[![agentmods](https://agentmods.dev/badge/skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk/github.svg)](https://agentmods.dev/skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk)
Your own site
<a href="https://agentmods.dev/skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk"><img src="https://agentmods.dev/badge/skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for monitor-etf-holdings-drawdown-risk

Your own site · 80×15
<a href="https://agentmods.dev/skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk"><img src="https://agentmods.dev/badge/skills/fatfingererr/macro-skills/monitor-etf-holdings-drawdown-risk.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 76 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,934 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00076 $0.02934
Opus 5 $0.00038 $0.01467
Sonnet 5 $0.00015 $0.00587
Haiku 4.5 $0.00008 $0.00293

Measured 11d ago against content hash e2b42d79c70a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

monitor-etf-holdings-drawdown-risk scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

The scan reads SKILL.md. This mod also ships 4 executable files (scripts/divergence_detector.py, scripts/fetch_etf_holdings.py, scripts/fetch_prices.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/monitor-etf-holdings-drawdown-risk/SKILL.md · 272 lines

How it starts

The opening of the file, as written. The whole thing — 272 lines — stays where its author put it; the contents beside it link to each section on GitHub.

<essential_principles>

背離事件定義:

  • 價格上漲price_return >= min_price_return_pct(如 +15%)
  • 庫存下滑inventory_change <= -min_inventory_drawdown_pct(如 -10%)
  • 同時發生:在相同視窗期(如 180 天)內同時滿足

當價格與庫存同向時(同漲同跌)為正常;逆向時(價漲庫跌)才需要警覺。

不能直接把「庫存下降」解讀為「實物被搶」,需要交叉驗證:

假設 支持條件 反駁條件
實物緊張 COMEX/LBMA 下降、backwardation、lease rates 上升、零售溢價擴大 其他庫存穩定、contango、溢價平穩
資金流/贖回 ETF 流出但交易所庫存穩定、期貨結構不緊 多重庫存同步下降

輸出兩種解釋,讓用戶判斷哪個更符合當前數據。

本 skill 優先使用:

  • ETF 官網庫存:Selenium 模擬人類瀏覽器行為抓取(避免 API 限制)
  • Yahoo Financeyfinance 套件取得現貨/期貨價格
  • 交叉驗證:COMEX 庫存、期貨結構等公開數據

腳本位於 scripts/ 目錄,遵循 references/data-sources.md 的反偵測策略。

stress_score = 100 × min(1.0,
    0.6 × divergence_severity +      # 背離嚴重度
    0.2 × decade_low_bonus +         # 十年低點加成
    0.2 × ratio_extreme_bonus        # 比值極端加成
)
分數區間 解讀
0-30 正常,無明顯背離
30-60 輕度背離,值得關注
60-80 中度背離,建議深入驗證
80-100 重度背離,高度警戒

</essential_principles>

  1. 偵測背離:價格上漲但 ETF 庫存下滑
  2. 評估嚴重度:計算背離程度、十年低點、比值極端
  3. 交叉驗證:使用 COMEX、期貨結構、零售溢價等指標
  4. 產出洞察:提供兩種對立假設,避免單一敘事偏誤

輸出:背離狀態、壓力分數、交叉驗證結果、下一步檢查建議。

<quick_start>

最快的方式:檢查 SLV 背離狀態

cd skills/monitor-etf-holdings-drawdown-risk
pip install pandas numpy yfinance selenium webdriver-manager beautifulsoup4 matplotlib  # 首次使用
python scripts/divergence_detector.py --etf SLV --quick

輸出範例:

{
  "asof": "2026-01-20",
  "divergence": false,
  "price_return_window": 1.92,
  "inventory_change_window": 0.15,
  "inventory_decade_low": false,
  "stress_score_0_100": 20.0,
  "interpretations": ["Physical Tightness", "ETF Flow Hypothesis"]
}

完整分析 + 視覺化報告

# 1. 執行背離偵測
python scripts/divergence_detector.py \
  --etf SLV \
  --start 2010-01-01 \
  --end 2026-01-20 \
  --output result.json

# 2. 生成視覺化報告
python scripts/visualize_divergence.py \
  --result result.json \
  --output ../../../output/

輸出

  • JSON 分析結果:result.json
  • 視覺化報告:output/SLV_divergence_report_20260120.png
  • PDF 報告:output/SLV_divergence_report_20260120.pdf

</quick_start>

  1. 快速檢查 - 查看指定 ETF 目前的背離狀態與壓力分數
  2. 完整分析 - 執行完整的歷史背離分析
  3. 交叉驗證 - 使用多指標驗證背離訊號的真實性
  4. 監控模式 - 設定持續監控與背離警報
  5. 方法論學習 - 了解背離偵測與雙重假設邏輯

請選擇或直接提供分析參數(如 ETF 代碼)。

路由後,閱讀對應文件並執行。

<directory_structure>

monitor-etf-holdings-drawdown-risk/
├── SKILL.md                           # 本文件(路由器)
├── skill.yaml                         # 前端展示元數據
├── manifest.json                      # 技能元數據
├── workflows/
│   ├── analyze.md                     # 完整背離分析工作流
│   ├── monitor.md                     # 持續監控工作流
│   └── cross-validate.md              # 交叉驗證工作流
├── references/
│   ├── data-sources.md                # ETF 庫存與價格資料來源
│   ├── methodology.md                 # 背離偵測方法論
│   └── input-schema.md                # 完整輸入參數定義
├── templates/
│   ├── output-json.md                 # JSON 輸出模板
│   └── output-markdown.md             # Markdown 報告模板
└── scripts/
    ├── divergence_detector.py         # 主偵測腳本
    ├── fetch_etf_holdings.py          # ETF 庫存抓取(Selenium)
    └── fetch_prices.py                # 價格數據抓取

</directory_structure>

Read the full file on GitHub · 272 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 272 lines · 76 tokens per session scan A e2b42d79c70a

Subscribe to this mod's changes

monitor-etf-holdings-drawdown-risk is a skill published in the GitHub repository fatfingererr/macro-skills (3 stars, last pushed 7mo ago), licensed MIT. It adds 76 tokens to every session and 2,934 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

sector-rotation

An analysis framework for comparing industries in the Chinese A-share stock market, using business conditions, price momentum, valuation, and money flows. It produces rankings and higher- or lower-allocation suggestions.

HKUDS/Vibe-Trading · 39 tokens

strategy-pivot-designer

Detect backtest iteration stagnation and generate structurally different strategy pivot proposals when parameter tuning reaches a local optimum.

tradermonty/claude-trading-skills · 28 tokens

twitter-reader

Read Twitter/X for financial research using opencli (read-only). Use this skill whenever the user wants to read their Twitter feed, search for financial tweets, view bookmarks, look up user profiles, or gather market sentiment from Twitter/X. Triggers include: "check my feed", "search Twitter for", "show my…

himself65/finance-skills · 161 tokens

chenhao-limit-up

A framework for judging Chinese A-share stocks that have reached the daily price-rise limit, using market mood, sector leadership, and trading momentum.

questflowai/investorskills · 44 tokens

furusato

A Japanese hometown-tax donation manager for furusato nozei, a system where donations to municipalities can qualify for an income-tax or local-tax deduction. It reads donation receipts, stores donation records, and calculates deduction limits.

kazukinagata/shinkoku · 102 tokens

reading-receipt

An image-reading workflow for extracting structured information from receipts, invoices, and hometown-tax donation certificates. It can first extract text from PDFs and otherwise read their images.

kazukinagata/shinkoku · 64 tokens