compute-precious-miner-gross-margin
npx skills add https://github.com/fatfingererr/macro-skills --skill compute-precious-miner-gross-margin
Agent 安装分布
Skill 文档
<essential_principles>
ç¤¦æ¥æ¯å©ç代çï¼Margin Proxyï¼ä½¿ç¨ç°¡åå ¬å¼ï¼
gross_margin_proxy = (metal_price - unit_cost) / metal_price
å ¶ä¸ï¼
- metal_priceï¼é屬ç¾è²¨å¹ææè²¨è¿æå¹
- unit_costï¼AISC (All-In Sustaining Cost)ãç¾éææ¬(C1)æå ¨ææ¬
æ¤ææ¨ä¸çåæè¨å ±è¡¨çæ¯å©çï¼ä½è½å¿«éææå¹æ ¼-ææ¬éä¿çééè®åã
| å£å¾ | å å«é ç® | é©ç¨å ´æ¯ |
|---|---|---|
| Cash Cost (C1) | ç¾å ´æ¡æ + å å·¥ + å ´å §è¡æ¿ | ç¾éæµå£å測試 |
| AISC | C1 + ç¶æè³æ¬éæ¯ + 忢 + è¡æ¿ | è¡æ¥æ¨æºï¼WGC å®ç¾©ï¼ |
| All-In Cost (AIC) | AISC + æé·è³æ¬éæ¯ | 宿´ç¶æ¿ææ¬ |
建è°åªå ä½¿ç¨ AISCï¼å å ¶å¯æ¯æ§æä½³ä¸è³æå¯å¾æ§é«ã
| æ¹æ³ | å ¬å¼ | ç´è¦º |
|---|---|---|
| equal_weight | Σ margin_i / N | ç°¡å®å¹³åï¼æ¯å®¶å ¬å¸çæ¬ |
| production_weighted | Σ (margin_i à prod_i) / Σ prod_i | ç¢éå æ¬ï¼åæ ãç¢æ¥æ¯å©ã |
| marketcap_weighted | Σ (margin_i à mcap_i) / Σ mcap_i | å¸å¼å æ¬ï¼åæ ãè¡æ¬æéªã |
建è°ä½¿ç¨ production_weighted ä»¥æ´æºç¢ºåæ ç¢æ¥æ´é«æ¯å©çµæ§ã
- é屬广 ¼ï¼æ¥é »ææåå¹
- ç¤¦æ¥ææ¬ï¼å£åº¦ï¼å¤æ¸å ¬å¸å å¨å£å ±æé² AISCï¼
- å°é½æ¹å¼ï¼
- å°ææ¬ forward-fill è³å£åº¦å §åæ
- æä½¿ç¨åå£åå¹ï¼æ´ä¹¾æ·¨ï¼
æ¬ Skill 建è°ä½¿ç¨ å£åº¦é »ç ä½çºåºæºï¼é¿å é度平æ»ã
æ¬ skill 使ç¨å ¬éæ¸æï¼
- éå¹ï¼LBMA Gold Price / COMEX è¿ææè²¨
- éå¹ï¼LBMA Silver Price / COMEX è¿ææè²¨
- AISCï¼å ¬å¸ IR æè³äººç°¡å ± / å£å ± MD&A / æ°è稿
- ç¢éï¼åä¸ï¼å®ä½ oz / GEO / AgEq oz
è
³æ¬ä½æ¼ scripts/ ç®éï¼å¯ç´æ¥å·è¡ã
</essential_principles>
- æ¸ææ´åï¼æåé屬广 ¼åºåèç¤¦æ¥ææ¬/ç¢éæ¸æ
- è¨ç®æ¯å©ç代çï¼å®ä¸å ¬å¸å±¤ç´ + ç±åèå
- æ·å²å使¸ï¼å¤æ·ç¶åæ°´ä½å¨æ·å²åéçä½ç½®
- é© åæè§£ï¼åå广 ¼é© å vs ææ¬é© å
- è¨èçæï¼æ¥µç«¯é«/使ªå鿍è¨
輸åºï¼æ¯å©çæåºãæ·å²åä½ãé© åæè§£ã交æ/ç ç©¶é£çµã
<quick_start>
æå¿«çæ¹å¼ï¼å·è¡é è¨æ å¢åæ
cd skills/compute-precious-miner-gross-margin
pip install pandas numpy requests yfinance beautifulsoup4 lxml # 馿¬¡ä½¿ç¨
python scripts/margin_calculator.py --quick --metal gold
輸åºç¯ä¾ï¼
{
"skill": "compute_precious_miner_margin_proxy",
"metal": "gold",
"frequency": "quarterly",
"cost_metric": "AISC",
"basket": {
"miners": ["NEM", "GOLD", "AEM"],
"aggregation": "production_weighted"
},
"latest": {
"date": "2025-Q4",
"metal_price_usd_oz": 2650.0,
"unit_cost_proxy_usd_oz": 1320.0,
"gross_margin_proxy": 0.502,
"history_percentile": 0.78,
"regime_label": "high_margin"
}
}
宿´æ å¢åæï¼
python scripts/margin_calculator.py \
--metal silver \
--miners CDE,HL,AG \
--start-date 2015-01-01 \
--frequency quarterly \
--cost-metric AISC \
--aggregation production_weighted \
--output result.json
</quick_start>
- å¿«éè¨ç® – 使ç¨é è¨åæ¸è¨ç®ä¸»è¦ç¤¦æ¥ç±åçæ¯å©ç代ç
- 宿´åæ – èªè¨åæ¸é²è¡æ å¢åæï¼å¯é¸æé屬ã礦æ¥ãææ¬å£å¾ï¼
- æ¸æç ç©¶ – äºè§£å¦ä½ç²å AISC / ææ¬æ¸æï¼ç¬è²è¨è¨ï¼
- è¨èçæ – å°æ¯å©çè½çºäº¤æ/ç ç©¶è¨è
- æ¹æ³è«å¸ç¿ – äºè§£è¨ç®éè¼¯èæ¸æä¾æº
è«é¸ææç´æ¥æä¾åæåæ¸ã
è·¯ç±å¾ï¼é±è®å°ææä»¶ä¸¦å·è¡ã
<directory_structure>
compute-precious-miner-gross-margin/
âââ SKILL.md # æ¬æä»¶ï¼è·¯ç±å¨ï¼
âââ skill.yaml # å端å±ç¤ºå
æ¸æ
âââ manifest.json # æè½å
æ¸æ
âââ workflows/
â âââ analyze.md # 宿´æ
å¢åæå·¥ä½æµ
â âââ data-research.md # æ¸ææºç ç©¶èç¬è²è¨è¨
â âââ signal-generation.md # è¨èçæå·¥ä½æµ
âââ references/
â âââ data-sources.md # æ¸æä¾æºèç²åæ¹å¼
â âââ methodology.md # æ¹æ³è«èè¨ç®é輯
â âââ input-schema.md # 宿´è¼¸å
¥åæ¸å®ç¾©
âââ templates/
â âââ output-json.md # JSON è¼¸åºæ¨¡æ¿
â âââ output-markdown.md # Markdown å ±åæ¨¡æ¿
âââ scripts/
â âââ margin_calculator.py # 主è¨ç®è
³æ¬
âââ examples/
âââ sample-output.json # ç¯ä¾è¼¸åº
</directory_structure>
<reference_index>
æ¹æ³è«: references/methodology.md
- æ¯å©ç代çå¼å®ç¾©
- ææ¬å£å¾å±¤æ¬¡è§£æ
- èåæ¹æ³èç´è¦º
- æ·å²å使¸è¨ç®
è³æä¾æº: references/data-sources.md
- éé广 ¼æ¸æä¾æº
- AISC / ç¾éææ¬æ¸æä¾æº
- ç¢éæ¸æä¾æº
- ç¬è²è¨è¨æå¼
è¼¸å ¥åæ¸: references/input-schema.md
- 宿´åæ¸å®ç¾©
- é è¨å¼è建è°ç¯å
- é è¨ç¤¦æ¥ç±å
</reference_index>
<workflows_index>
| Workflow | Purpose | ä½¿ç¨ææ© |
|---|---|---|
| analyze.md | 宿´æ å¢åæ | éè¦èªè¨åæ¸è¨ç®æ¯å©ç |
| data-research.md | æ¸ææºç ç©¶ | äºè§£å¦ä½ç²åææ¬æ¸æ |
| signal-generation.md | è¨èçæ | å°æ¯å©çè½çºäº¤æ/ç ç©¶è¨è |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON 輸åºçµæ§å®ç¾© |
| output-markdown.md | Markdown å ±åæ¨¡æ¿ |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| margin_calculator.py | --quick --metal gold |
å¿«éè¨ç®é»éç¤¦æ¥ |
| margin_calculator.py | --quick --metal silver |
å¿«éè¨ç®ç½éç¤¦æ¥ |
| margin_calculator.py | --miners NEM,GOLD --freq Q |
èªè¨ç¤¦æ¥èé »ç |
| margin_calculator.py | --decompose |
é© åæè§£åæ |
| </scripts_index> |
<input_schema_summary>
æ ¸å¿åæ¸
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| metal | string | gold | ç®æ¨é屬ï¼gold/silverï¼ |
| miners | array | é è¨ç±å | 礦æ¥ä»£èæ¸ å® |
| start_date | string | 10 å¹´å | è¨ç®èµ·å§æ¥ï¼YYYY-MM-DDï¼ |
| end_date | string | today | è¨ç®çµææ¥ |
| frequency | string | quarterly | é »çï¼daily/weekly/monthly/quarterlyï¼ |
| cost_metric | string | AISC | ææ¬å£å¾ |
| aggregation | string | production_weighted | èåæ¹å¼ |
é²é忏
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| price_series | string | spot | 广 ¼å£å¾ |
| fx_mode | string | none | å¯çèç |
| outlier_rule | string | winsorize_1_99 | é¢ç¾¤èç |
| history_window_years | int | 20 | æ·å²å使¸è¦çª |
宿´åæ¸å®ç¾©è¦ references/input-schema.mdã
</input_schema_summary>
<output_schema_summary>
{
"skill": "compute_precious_miner_margin_proxy",
"metal": "silver",
"frequency": "quarterly",
"cost_metric": "AISC",
"basket": {
"miners": ["CDE", "HL", "AG"],
"aggregation": "production_weighted"
},
"latest": {
"date": "2025-Q4",
"metal_price_usd_oz": 31.50,
"unit_cost_proxy_usd_oz": 6.30,
"gross_margin_proxy": 0.80,
"history_percentile": 0.94,
"regime_label": "extreme_high_margin"
},
"decomposition": {
"last_3m_price_change_pct": 0.12,
"last_3m_cost_change_pct": -0.03,
"driver": "mostly_price_up"
},
"notes": [
"gross_margin_proxy ä½¿ç¨ (price - AISC)/price ä½çºè¿ä¼¼ï¼ä¸çåæè¨å ±è¡¨çæ¯å©çå£å¾ã",
"è¥ææ¬çºå£åº¦è³æï¼å·²ä»¥å£åº¦å
§ forward-fill/åå£åå¹å°é½ã"
],
"recommended_next_checks": [
"ç¨åä¸å¥ margin proxy å°ç
§ SIL/SILJ æåè¡ç 3/6/12 åæåç»å ±é
¬ï¼äºä»¶ç ç©¶ï¼",
"æª¢æ¥æ¯å¦åºç¾è³æ¬éæ¯/ä½µè³¼åæº«ãæææ¬åéè¨ï¼æ´æ²¹/å·¥è³/試åï¼å°è´æ¯å©åè½"
]
}
宿´è¼¸åºçµæ§è¦ templates/output-json.mdã
</output_schema_summary>
<success_criteria> å·è¡æåææç¢åºï¼
- æ¯å©ç代çå¼æåºæ¸æ
- å礦æ¥çå®ä½ææ¬èæ¯å©ç
- ç±åè忝å©ç
- æ·å²å使¸èå鿍è¨ï¼extreme_high/high/neutral/low/extreme_lowï¼
- é© åæè§£ï¼å¹æ ¼é© å vs ææ¬é© åï¼
- çµæè¼¸åºçºæå®æ ¼å¼ï¼JSON æ Markdownï¼
- å¾çºç ç©¶å»ºè° </success_criteria>