backsolve-miner-vs-metal-ratio-with-fundamentals

從網路自動抓取礦業公司財務報表與營運揭露(產量、成本、資本支出),回算「礦業股/金屬本體比率」的基本面解釋與區間門檻(如 1.2/1.7),並輸出可重現的估值拆解(成本因子 / 槓桿因子 / 倍數因子 / 稀釋因子)。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "backsolve-miner-vs-metal-ratio-with-fundamentals" with this command: npx skills add fatfingererr/macro-skills/fatfingererr-macro-skills-backsolve-miner-vs-metal-ratio-with-fundamentals

<essential_principles>

<principle name="ratio_decomposition"> **比率拆解核心公式**

礦業股/金屬價格比率可分解為四大基本面因子:

R_t ≈ K × M_t × (1-L_t) × C_t × D_t

其中:

  • K: 校準常數(由觀測值估計)
  • M_t: 倍數因子(EV/EBITDA)
  • (1-L_t): 槓桿因子(1 - NetDebt/EV)
  • C_t: 成本因子(1 - AISC/S_t)
  • D_t: 稀釋因子(Shares_base / Shares_t)

此拆解讓「比率變動」有可歸因的量化解釋。 </principle>

<principle name="aisc_extraction"> **AISC 抽取優先順序**

全維持成本(AISC)是礦業股估值的核心驅動:

優先級來源方法
1MD&A / 財報附註關鍵字抽取:「AISC」「all-in sustaining」
2年報簡報 PDF解析表格:$/oz 或 $/ounce
3Proxy 回算(OpCost + SustCapex + G&A - Byproduct) / Oz

當直接揭露不可得時,以 proxy 回算補缺;記錄 aisc_method 以標註來源。 </principle>

<principle name="backsolve_logic"> **反推邏輯(Backsolve)**

目標:給定目標比率 R*(如歷史頂部 1.7),反推需要哪些因子條件。

單因子反推:假設其他因子不變,只調整單一因子

M* = M_now × (R*/R_now)         # 需要的倍數
(1-L*) = (1-L_now) × (R*/R_now) # 需要的去槓桿
C* = C_now × (R*/R_now)         # 需要的成本改善 → 反推 AISC*
D* = D_now × (R*/R_now)         # 需要的稀釋折扣

雙因子組合:以網格列舉可行組合(如倍數 +20% + 白銀 -15%)。 </principle>

<principle name="event_study"> **事件研究方法**

識別「比率落入底部分位」的歷史事件,回看事件當期的四大因子狀態:

  1. AISC 是否上升:成本壓力
  2. NetDebt/EV 是否惡化:槓桿壓力
  3. EV/EBITDA 是否壓縮:倍數壓力
  4. Shares 是否上升:稀釋壓力

排名「哪個因子貢獻最大」,識別驅動底部的主因。 </principle>

<principle name="data_priority"> **數據來源優先順序**

遵循「結構化優先」原則:

  1. SEC XBRL (10-K/10-Q):直接取欄位(債務、現金、股數、CFO、Capex)
  2. SEDAR+ (加拿大):銀礦公司常在加拿大上市
  3. 公司 IR 年報/MD&A:補齊 AISC、產量等非標準欄位
  4. ETF Holdings:官方 CSV 或 SEC N-PORT

抓取時使用 Selenium 模擬人類行為,避免被封鎖。 </principle>

</essential_principles>

<objective> 實作「礦業股/金屬價格比率」基本面回算系統:
  1. 數據整合:抓取價格、ETF 持股、財務報表、營運揭露
  2. 因子計算:計算 AISC、槓桿、倍數、稀釋四大因子
  3. 比率拆解:建立 R_t ≈ K × M × (1-L) × C × D 近似式
  4. 門檻反推:給定目標比率,反推需要的因子組合
  5. 事件研究:歷史底部事件的因子驅動分析
  6. 輸出報告:結構化 JSON 與可讀 Markdown

目標用戶:看到 SIL/白銀比率極端時,想用「真實財報」驗證驅動因素。 </objective>

<quick_start>

最快的方式:使用預設參數分析

cd skills/backsolve-miner-vs-metal-ratio-with-fundamentals
pip install pandas numpy yfinance matplotlib  # 首次使用
python scripts/fundamental_analyzer.py --quick

完整分析(含財報抓取)

python scripts/fundamental_analyzer.py \
  --metal-symbol SI=F \
  --miner-universe etf:SIL \
  --region-profile us_sec \
  --start-date 2015-01-01 \
  --output result.json

生成視覺化儀表板

python scripts/visualize_factors.py --quick --output output/
# 輸出: output/sil_silver_factor_analysis_YYYY-MM-DD.png

視覺化儀表板包含四個面板:

  1. 比率時間序列:歷史走勢 + 分位數區間(底部/頂部)
  2. 因子雷達圖:四大因子健康度一覽
  3. 因子評分長條圖:成本、槓桿、倍數、稀釋各項評分
  4. 情境熱力圖:倍數擴張 × 白銀變動的組合分析

共同上漲情境模擬

python scripts/scenario_path_simulator.py --quick --output output/
# 輸出: output/scenario_path_YYYY-MM-DD.png + return_heatmap_YYYY-MM-DD.png

核心公式:礦業股漲幅 = (1 + 銀價漲幅) × (R₁/R₀) - 1

自訂參數:

python scripts/scenario_path_simulator.py \
  --silver-monthly 5 \      # 銀價每月漲幅 5%
  --ratio-start 1.10 \      # 比率起點
  --ratio-end 1.20 \        # 比率終點
  --months 6 \              # 模擬 6 個月
  --heatmap                 # 同時生成熱力圖

輸出範例

{
  "now": {
    "metal_price": 94.4,
    "miner_price": 103.4,
    "ratio": 1.13,
    "ratio_percentile": 0.111
  },
  "thresholds": {
    "bottom_ratio": 1.20,
    "top_ratio": 1.70,
    "median_ratio": 1.51
  },
  "fundamentals_weighted": {
    "aisc_usd_per_oz": 28.0,
    "net_debt_to_ev": 0.25,
    "ev_to_ebitda": 6.4,
    "shares_yoy_change": 0.12
  },
  "factors_now": {
    "cost_factor_C": 0.7034,
    "leverage_factor_1_minus_L": 0.75,
    "multiple_M": 6.4,
    "dilution_discount_D": 0.89
  },
  "backsolve_to_top": {
    "multiple_only_need": 9.1,
    "deleverage_only_need_1_minus_L": 1.12,
    "cost_only_implied_aisc": 15.6,
    "dilution_only_need_D": 1.26
  }
}

</quick_start>

<intake> 需要進行什麼操作?
  1. 快速分析 - 使用預設參數(SIL / SI=F)計算當前因子狀態
  2. 完整分析 - 抓取財報、計算因子、反推門檻
  3. 因子拆解 - 深入了解四大因子的計算邏輯
  4. 門檻反推 - 給定目標比率,計算需要的因子組合
  5. 事件研究 - 歷史底部事件的因子驅動排名
  6. 方法論學習 - 了解回算邏輯與數據來源
  7. 視覺化 - 生成四面板儀表板圖表
  8. 共同上漲情境 - 模擬銀價與礦業股同漲時的比例關係與路徑

請選擇或直接提供分析參數。 </intake>

<routing> | Response | Action | |--------------------------------|----------------------------------------------------------------| | 1, "快速", "quick", "分析" | 執行 `python scripts/fundamental_analyzer.py --quick` | | 2, "完整", "full", "財報" | 閱讀 `workflows/analyze.md` 並執行 | | 3, "因子", "factor", "拆解" | 閱讀 `references/fundamental-factors.md` | | 4, "反推", "backsolve", "門檻" | 閱讀 `references/backsolve-math.md` 並執行反推分析 | | 5, "事件", "event", "底部" | 閱讀 `workflows/analyze.md` 並聚焦事件研究 | | 6, "學習", "方法論", "why" | 閱讀 `references/fundamental-factors.md` + `backsolve-math.md` | | 7, "視覺化", "圖", "chart" | 執行 `python scripts/visualize_factors.py --quick` | | 8, "共同上漲", "情境", "路徑" | 執行 `python scripts/scenario_path_simulator.py --quick` | | "比例關係", "漲幅", "要漲多少" | 執行 `python scripts/scenario_path_simulator.py --quick` | | 提供參數 (如 ETF/金屬代理) | 閱讀 `workflows/analyze.md` 並使用參數執行 |

路由後,閱讀對應文件並執行。 </routing>

<directory_structure>

backsolve-miner-vs-metal-ratio-with-fundamentals/
├── SKILL.md                           # 本文件(路由器)
├── skill.yaml                         # 前端展示元數據
├── manifest.json                      # 技能元數據
├── workflows/
│   ├── analyze.md                     # 完整分析工作流
│   └── data-fetch.md                  # 數據抓取工作流
├── references/
│   ├── input-schema.md                # 完整輸入參數定義
│   ├── data-sources.md                # 數據來源說明
│   ├── fundamental-factors.md         # 四大因子計算邏輯
│   └── backsolve-math.md              # 反推數學公式
├── templates/
│   ├── output-json.md                 # JSON 輸出模板
│   └── output-markdown.md             # Markdown 報告模板
├── scripts/
│   ├── fundamental_analyzer.py        # 主計算腳本
│   ├── visualize_factors.py           # 視覺化儀表板腳本
│   └── scenario_path_simulator.py     # 共同上漲情境模擬器
└── examples/
    └── sample-output.json             # 範例輸出

</directory_structure>

<reference_index>

輸入參數: references/input-schema.md

  • 完整參數定義
  • 預設值與建議範圍
  • 各方法選項說明

數據來源: references/data-sources.md

  • 價格數據(yfinance / stooq / alphavantage)
  • 財報數據(SEC EDGAR / SEDAR+ / 公司 IR)
  • ETF 持股(官方 CSV / N-PORT / 手動 URL)

因子計算: references/fundamental-factors.md

  • AISC 成本因子
  • 槓桿因子
  • 倍數因子
  • 稀釋因子

反推數學: references/backsolve-math.md

  • 單因子反推公式
  • 雙因子組合網格
  • 校準常數估計

</reference_index>

<workflows_index>

WorkflowPurpose使用時機
analyze.md完整分析需要抓取財報並計算因子
data-fetch.md數據抓取了解如何抓取 ETF 持股與財報
</workflows_index>

<templates_index>

TemplatePurpose
output-json.mdJSON 輸出結構定義
output-markdown.mdMarkdown 報告模板
</templates_index>

<scripts_index>

ScriptCommandPurpose
fundamental_analyzer.py--quick快速分析 SIL/SI=F
fundamental_analyzer.py--miner-universe etf:SILJ自訂礦業股 ETF
fundamental_analyzer.py--backsolve-target 1.7指定反推目標比率
fundamental_analyzer.py--event-study --min-separation 180執行事件研究
visualize_factors.py--quick --output output/生成四面板視覺化儀表板
visualize_factors.py--input result.json從 JSON 結果生成圖表
scenario_path_simulator.py--quick共同上漲情境路徑模擬
scenario_path_simulator.py--silver-monthly 5 --months 6自訂銀價月漲幅與模擬月數
scenario_path_simulator.py--ratio-start 1.10 --ratio-end 1.20自訂比率起終點
scenario_path_simulator.py--heatmap同時生成收益率熱力圖
</scripts_index>

<input_schema_summary>

核心參數

參數類型預設值說明
metal_symbolstringSI=F金屬價格代碼(SI=F 白銀、GC=F 黃金)
miner_universeobjectetf:SIL礦業股/ETF 定義
region_profilestringus_sec監管與揭露來源(us_sec / canada_sedar)
time_range.startstring5 年前分析起點(YYYY-MM-DD)
time_range.endstringtoday分析終點
time_range.frequencystringweekly取樣頻率(daily/weekly/monthly)

因子方法選擇

參數類型預設值說明
fundamental_methods.aiscstringhybridAISC 抽取方法
fundamental_methods.leveragestringnet_debt_to_ev槓桿計算方法
fundamental_methods.multiplestringev_to_ebitda倍數計算方法
fundamental_methods.dilutionstringweighted_avg_shares稀釋計算方法

分位門檻

參數類型預設值說明
ratio_thresholds.bottomfloat0.20底部分位數門檻
ratio_thresholds.topfloat0.80頂部分位數門檻

完整參數定義見 references/input-schema.md

</input_schema_summary>

<output_schema_summary>

{
  "skill": "backsolve_miner_vs_metal_ratio_with_fundamentals",
  "inputs": {
    "metal_symbol": "SI=F",
    "miner_universe": {"type": "etf_holdings", "etf_ticker": "SIL"},
    "region_profile": "us_sec"
  },
  "now": {
    "metal_price": 94.4,
    "miner_price": 103.4,
    "ratio": 1.13,
    "ratio_percentile": 0.111
  },
  "thresholds": {
    "bottom_ratio": 1.20,
    "top_ratio": 1.70,
    "median_ratio": 1.51
  },
  "fundamentals_weighted": {
    "aisc_usd_per_oz": 28.0,
    "net_debt_to_ev": 0.25,
    "ev_to_ebitda": 6.4,
    "shares_yoy_change": 0.12
  },
  "factors_now": {
    "cost_factor_C": 0.7034,
    "leverage_factor_1_minus_L": 0.75,
    "multiple_M": 6.4,
    "dilution_discount_D": 0.89
  },
  "backsolve_to_top": {
    "multiple_only_need": 9.1,
    "deleverage_only_need_1_minus_L": 1.12,
    "cost_only_implied_aisc": 15.6,
    "dilution_only_need_D": 1.26,
    "two_factor_grid_examples": [
      {"multiple_up": 1.20, "metal_down": -0.15, "hits_top": true},
      {"deleverage": -0.10, "multiple_up": 1.15, "hits_top": true}
    ]
  },
  "event_study": {
    "bottom_events": [
      {
        "date": "2026-01-02",
        "ratio": 1.13,
        "aisc": 29.1,
        "net_debt_to_ev": 0.27,
        "ev_to_ebitda": 5.8,
        "shares_yoy": 0.14,
        "dominant_driver": "multiple_compression"
      }
    ]
  },
  "summary": "比率處於歷史底部,主要驅動為倍數壓縮...",
  "notes": [
    "AISC 使用 hybrid 方法回算,部分公司為 proxy 值",
    "建議交叉驗證:COT 持倉、ETF 流量、美元/實質利率"
  ]
}

完整輸出結構見 templates/output-json.md。 </output_schema_summary>

<success_criteria> 執行成功時應產出:

  • 當前比率與歷史分位數
  • 四大基本面因子(AISC、槓桿、倍數、稀釋)
  • 權重加總後的組合因子
  • 門檻反推結果(單因子 + 雙因子組合)
  • 歷史底部事件的因子驅動排名
  • 結果輸出為指定格式(JSON 或 Markdown)
  • 數據來源與方法標註(aisc_method 等)
  • 風險提示與後續研究建議
  • 視覺化儀表板(PNG 格式,檔名含日期) </success_criteria>

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

list-china-today-macro-news

No summary provided by upstream source.

Repository SourceNeeds Review
General

monitor-etf-holdings-drawdown-risk

No summary provided by upstream source.

Repository SourceNeeds Review
General

usd-reserve-loss-gold-revaluation

No summary provided by upstream source.

Repository SourceNeeds Review
General

compute-precious-miner-gross-margin

No summary provided by upstream source.

Repository SourceNeeds Review