From fatfingererr-macro-skills
用「庫存快速回補」作為短期警戒訊號,評估銅價是否接近短線高點,同時給出一個「長期是否偏便宜」的歷史分位數判讀。
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin fatfingererr-macro-skillsThis skill uses the workspace's default tool permissions.
<essential_principles>
examples/sample_output.jsonmanifest.jsonreferences/data-sources.mdreferences/historical-episodes.mdreferences/methodology.mdscripts/fetch_copper_data.pyscripts/fetch_shfe_inventory.pyscripts/inventory_signal_analyzer.pyscripts/visualize_inventory_signal.pyskill.yamltemplates/output-json.mdtemplates/output-markdown.mdworkflows/full-analysis.mdworkflows/quick-check.mdworkflows/visualize.mdCreates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Generates Angular code and provides architectural guidance for projects, components, services, reactivity with signals, forms, dependency injection, routing, SSR, ARIA accessibility, animations, Tailwind styling, testing, and CLI tooling.
Executes ctx7 CLI to fetch up-to-date library documentation, manage AI coding skills (install/search/generate/remove/suggest), and configure Context7 MCP. Useful for current API refs, skill handling, or agent setup.
<essential_principles>
**雙層訊號框架(Dual Signal Framework)**本技能將「肉眼看圖」轉換為可量化、可自動更新的雙層訊號系統:
| 層次 | 問題 | 核心指標 | 決策輸出 |
|---|---|---|---|
| 短線 | 是否「有點超前」? | SHFE 回補速度 z-score + 庫存水位 | CAUTION / NEUTRAL / SUPPORTIVE |
| 長線 | 是否「仍偏便宜」? | 銅價歷史分位數(10 年) | CHEAP / FAIR / RICH |
關鍵洞察:SHFE 庫存快速回補 + 水位偏高 → 常常貼近價格局部高點。
**數據來源(三類數據)**使用 Chrome CDP 全自動抓取 Highcharts 圖表數據,共需三類數據:
| 數據 | 來源 | URL |
|---|---|---|
| SHFE 銅庫存 | MacroMicro (CDP) | https://en.macromicro.me/series/8743/copper-shfe-warehouse-stock |
| COMEX 銅庫存 | MacroMicro (CDP) | https://www.macromicro.me/series/8742/copper-comex-warehouse-stock |
| 銅期貨價格 | Yahoo Finance | HG=F(COMEX 銅期貨連續近月) |
口徑:庫存為可交割銅庫存(噸)、價格為收盤價(USD/lb)
**回補速度 Z-Score 計算**將主觀「回補很快」轉化為客觀可比較的標準化指標:
rebuild_W = inv_t - inv_{t-W} (W = 4 週)
z_score = (rebuild_W - μ) / σ (μ, σ 為 3 年滾動)
</essential_principles>
分析銅庫存回補訊號與價格的歷史關係,輸出: 1. **短期訊號**:當前回補速度與庫存水位是否觸發「謹慎」訊號 2. **長期判讀**:銅價是否仍處於歷史偏便宜區間 3. **歷史驗證**:過去同類訊號對應價格高點的命中率<quick_start>
全自動執行(無需手動操作 Chrome)
Step 1:安裝依賴
pip install requests websocket-client pandas numpy yfinance matplotlib
Step 2:一鍵抓取所有數據(SHFE + COMEX 庫存 + 銅價)
cd skills/analyze-copper-inventory-rebuild-signal/scripts
python fetch_copper_data.py
腳本會自動:
cache/shfe_inventory.csv、cache/comex_inventory.csv、cache/copper_price.csvStep 3:執行庫存訊號分析
python inventory_signal_analyzer.py
Step 4:生成視覺化圖表
python visualize_inventory_signal.py
輸出:{專案根目錄}/output/copper_inventory_signal_YYYY-MM-DD.png
</quick_start>
需要進行什麼分析?請選擇或直接提供分析參數。
| Response | Action | |----------|--------| | 1, "快速", "quick", "check", "狀態" | 執行 `python scripts/inventory_signal_analyzer.py --quick` | | 2, "完整", "full", "驗證", "backtest" | 執行 `python scripts/inventory_signal_analyzer.py --full` | | 3, "長期", "分位數", "percentile", "cheap" | 執行 `python scripts/inventory_signal_analyzer.py --long-term` | | 4, "圖表", "chart", "視覺化", "visualize" | 執行 `python scripts/visualize_inventory_signal.py` |路由後,執行對應命令。
<directory_structure>
analyze-copper-inventory-rebuild-signal/
├── SKILL.md # 本文件(路由器)
├── manifest.json # 技能元資料
├── skill.yaml # 前端展示元數據
├── scripts/
│ ├── fetch_copper_data.py # 全自動 CDP 數據爬蟲(SHFE + COMEX + 價格)
│ ├── fetch_shfe_inventory.py # SHFE 專用爬蟲(向下相容)
│ ├── inventory_signal_analyzer.py # 核心分析邏輯
│ └── visualize_inventory_signal.py # Bloomberg 風格視覺化
├── references/
│ ├── data-sources.md # 數據來源說明
│ ├── methodology.md # 方法論說明
│ └── historical-episodes.md # 歷史事件對照
├── templates/
│ ├── output-json.md # JSON 輸出格式
│ └── output-markdown.md # Markdown 輸出格式
├── workflows/
│ ├── quick-check.md # 快速檢查流程
│ ├── full-analysis.md # 完整分析流程
│ └── visualize.md # 視覺化流程
├── cache/
│ ├── shfe_inventory.csv # SHFE 庫存快取
│ ├── comex_inventory.csv # COMEX 庫存快取
│ └── copper_price.csv # 銅價快取
└── examples/
└── sample_output.json # 範例輸出
# 視覺化輸出位置(專案根目錄)
{專案根目錄}/output/
└── copper_inventory_signal_YYYY-MM-DD.png # 輸出圖表(含日期)
</directory_structure>
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| fetch_copper_data.py | python fetch_copper_data.py | 全自動抓取所有數據(SHFE + COMEX + 價格) |
| fetch_copper_data.py | --force-refresh | 強制重新抓取(忽略快取) |
| fetch_copper_data.py | --source shfe | 只抓取 SHFE 庫存 |
| fetch_copper_data.py | --source comex | 只抓取 COMEX 庫存 |
| fetch_copper_data.py | --source price | 只抓取銅價 |
| inventory_signal_analyzer.py | --quick | 快速檢查當前訊號狀態 |
| inventory_signal_analyzer.py | --full | 完整歷史驗證分析 |
| inventory_signal_analyzer.py | --long-term | 長期價格分位數分析 |
| visualize_inventory_signal.py | 無參數 | 生成 Bloomberg 風格圖表(輸出到專案根目錄 output/) |
| visualize_inventory_signal.py | -o path.png | 指定輸出路徑 |
| </scripts_index> |
<input_parameters>
分析參數
| 參數 | 類型 | 預設值 | 說明 |
|---|---|---|---|
start_date | string | 2015-01-01 | 回測起始日 |
end_date | string | today | 回測結束日 |
price_ticker | string | HG=F | 銅期貨代碼(Yahoo Finance) |
price_freq | string | weekly | 價格頻率(daily/weekly) |
fast_rebuild_window_weeks | int | 4 | 「快速回補」觀察窗(週) |
fast_rebuild_z | float | 1.5 | 回補速度 z-score 門檻 |
high_inventory_mode | string | percentile | 庫存偏高判定模式(absolute/percentile) |
high_inventory_percentile | float | 0.85 | 庫存偏高分位數門檻 |
peak_match_window_weeks | int | 2 | 訊號對應價格高點的容許窗口(±N 週) |
long_term_window_years | int | 10 | 長期分位數計算窗口(年) |
cheap_percentile | float | 0.35 | 「長期偏便宜」門檻 |
</input_parameters>
視覺化輸出:Bloomberg 風格銅庫存回補訊號儀表板
遵循 thoughts/shared/guide/bloomberg-style-chart-guide.md 規範設計。
包含三個區塊(上中下排列):
銅價 + 總庫存對照(雙軸圖)
回補速度 z-score(時序圖)
訊號狀態儀表板
配色:Bloomberg 深色主題(依據 bloomberg-style-chart-guide.md)
#1a1a2e(深藍黑色)#2d2d44(暗灰紫)#ff6b35(橙紅色)#ffaa00(橙黃色)#ffff00(黃色)#ff4444(紅色)#00ff88(綠色)#888888(灰色)快速繪圖:
cd scripts
python visualize_inventory_signal.py
輸出路徑:{專案根目錄}/output/copper_inventory_signal_YYYY-MM-DD.png
圖表會自動輸出到專案根目錄的 output/ 資料夾,檔名包含當天日期。
<output_example>
Markdown 輸出範例
# 銅:庫存回補訊號(SHFE / COMEX)
## 最新狀態
- 數據日期:2026-01-26
- SHFE 庫存:235,000 噸
- SHFE 4 週回補速度 z-score:+1.9(異常快)
- COMEX 庫存:18,500 噸
- COMEX 4 週回補速度 z-score:+0.5(正常)
- 總庫存(SHFE + COMEX):253,500 噸
- 銅期貨價格:4.52 USD/lb
## 短期判斷(是否「有點超前」)
- 訊號:**⚠️ CAUTION**
- 原因:SHFE 庫存「水位偏高」且「回補速度異常快」
- 歷史驗證:過去同類訊號在 ±2 週內對應局部高點的命中率約 **62%**
- 解讀:短線更容易出現「漲勢喘口氣 / 回檔」而不是一路順風
## 長期判斷(是否仍「偏便宜」)
- 銅價 10 年歷史分位數:0.32(低於 0.35)
- 結論:**💚 長期偏便宜**(但不代表短線不會先整理)
---
### 數據來源
- SHFE 庫存:MacroMicro (CDP)
- COMEX 庫存:MacroMicro (CDP)
- 銅價:Yahoo Finance (HG=F)
JSON 輸出範例
{
"asof": "2026-01-26",
"near_term_signal": "CAUTION",
"long_term_view": "CHEAP",
"latest": {
"shfe_inventory_tonnes": 235000,
"shfe_rebuild_z": 1.9,
"comex_inventory_tonnes": 18500,
"comex_rebuild_z": 0.5,
"total_inventory_tonnes": 253500,
"copper_price": 4.52,
"price_percentile": 0.32
},
"backtest": {
"peak_match_window_weeks": 2,
"signal_to_local_peak_hit_rate": 0.62,
"signal_count": 21
}
}
</output_example>
<success_criteria> 分析成功時應產出:
<references_index>
| 文件 | 內容 |
|---|---|
| references/data-sources.md | SHFE 庫存與銅價數據來源、CDP 抓取說明 |
| references/methodology.md | 回補速度 z-score、分位數計算方法論 |
| references/historical-episodes.md | 歷史訊號觸發事件對照 |
| </references_index> |
<workflows_index>
| Workflow | Purpose |
|---|---|
| workflows/quick-check.md | 快速檢查當前訊號狀態 |
| workflows/full-analysis.md | 完整歷史驗證分析 |
| workflows/visualize.md | 視覺化圖表生成 |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| templates/output-json.md | JSON 輸出格式規範 |
| templates/output-markdown.md | Markdown 輸出格式規範 |
| </templates_index> |