analyze-copper-stock-resilience-dependency
npx skills add https://github.com/fatfingererr/macro-skills --skill analyze-copper-stock-resilience-dependency
Agent 安装分布
Skill 文档
<essential_principles>
é å¹çéå¡çªç ´èåè£ï¼ä¸¦éå®ç´ç±é æ¬èº«æ±ºå®ï¼èæ¯é«åº¦ä¾è³´è¡å¸éæ§ï¼
é
å¹èµ°å¢ = f(æè¡é¢éå¡çæ
) à f(è¡å¸éæ§) à f(ä¸åå©çç°å¢)
é鵿´å¯ï¼
- è¡å¸éæ§é«æï¼é çªç ´éå¡å¾ãçºèªãæ©çæ´é«
- è¡å¸éæ§ä½æï¼é æ´å®¹æåºç¾ãback-and-fillãåè£å°æ¯æå
- ä¸å10Yæ®å©çï¼ä½çºé¢¨éªå£å/æ¿ç寬é¬çéé¢è¨è
é å¹çéè¦å¿çæ´æ¸ä½ï¼å¦ 10,000 / 13,000 USD/tonï¼æ¯å¤æ·çªç ´èåè£çééµï¼
| çæ | æ¢ä»¶ | å«ç¾© |
|---|---|---|
| up | close > SMA(60) 䏿ççºæ£ | ä¸åè¶¨å¢ |
| down | close < SMA(60) 䏿ççºè² | ä¸éè¶¨å¢ |
| range | å ¶ä» | åéæ´ç |
éå¡å¤å®ï¼
near_resistance: æ¥è¿ä¸æ¹éå¡near_support: æ¥è¿ä¸æ¹æ¯æ
å°ãè¡å¸éæ§ãéåçºå¯è¨ç®ç忏ï¼
| å å | æ¬é | è¨ç®æ¹å¼ |
|---|---|---|
| 12åæåè½ | 40% | 12m å ±é ¬å使¸ï¼vs æ·å²ï¼ |
| åç·ä½ç½® | 40% | æ¯å¦ç«ä¸ 12 æåç·ï¼æ¯=100ï¼å¦=0ï¼ |
| è¿æåæ¤ | 20% | è¿ 3m 忤è¶å°è¶å¥½ï¼ååè¨åï¼ |
è©åè§£è®ï¼
- 70-100ï¼é«éæ§ï¼é çªç ´éå¡å¾çºèªæ©çè¼é«
- 30-70ï¼ä¸æ§ï¼éè§å¯å ¶ä»å å
- 0-30ï¼ä½éæ§ï¼åè£é¢¨éªé¡¯èä¸å
è¨ç®é å¹å°è¡å¸èä¸åæ®å©ççæ»¾åè²å¡ä¿æ¸ï¼
Îcopper ~ β1 à Îequity + β2 à Îchina_yield + ε
- β1ï¼è¡å¸è²å¡ï¼è¶å¤§è¶æ£ï¼é è¶å風éªè³ç¢ï¼è¶ä¾è³´è¡å¸
- β1 é«åä½ï¼å¸å ´æ£å¨æé ç¶é¢¨éªè³ç¢ä¸èµ·äº¤æ
- β1 < 0ï¼è² ç¸éï¼ï¼é èè¡å¸è«é¤ï¼å±ç¾ç¨ç«é輯ï¼é¿éª/ä¾çµ¦/è½æºè½åæäºï¼
- β2ï¼æ®å©çè²å¡ï¼ï¼æ£ = æ®å©çä¸åå©å¥½é ï¼éè¨æäºï¼ï¼è² = åä¹
æ¬ skill 使ç¨ä»¥ä¸å ¬éæ¸æä¾æºï¼
| æ¸æ | 代碼/便º | å徿¹å¼ |
|---|---|---|
| é æè²¨å¹æ ¼ | COMEX Copper (HG=F) | Yahoo Finance |
| å ¨çè¡å¸å¸å¼ | VT (Vanguard Total World Stock ETF) | Yahoo Finance |
| ä¸å10Yæ®å©ç | MacroMicro | Selenium + Highcharts |
å®ä½æç®ï¼
- HG=F çº $/lbï¼èªåä¹ä»¥ 2204.62262 è½æçº $/ton
- VT ETF 广 ¼ä¹ä»¥ä¿æ¸è½æçºå ¨çå¸å¼ä¼°è¨ï¼å ç¾å ï¼
- ä¸å10Y çºç¾åæ¯ï¼%ï¼
</essential_principles>
- è³ææ·åï¼æåé å¹ãå ¨çè¡å¸ãä¸å10Yæ®å©ç
- 趨å¢èéå¡å¤å®ï¼è¨ç® SMAã趨å¢çæ ãæ¥è¿åªåéå¡
- è¡å¸éæ§è©åï¼è¨ç® equity_resilience_score
- ä¾è³´éä¿éåï¼æ»¾åè¿´æ¸è¨ç® β ä¿æ¸
- åè£æ©çä¼°è¨ï¼æ·å²çµ±è¨åè£é »çï¼é«éæ§ vs ä½éæ§ï¼
- æ å¢å¤è®ï¼è¼¸åºç¶åæ¯ãçºèªã鿝ãåè£ãæ å¢
輸åºï¼ç¶åçæ ãä¾è³´å¼·åº¦ãåè£æ©çãå¯å·è¡è¦å ±ææ¨ã
<quick_start>
æå¿«çæ¹å¼ï¼å·è¡é è¨åæ
cd skills/analyze-copper-stock-resilience-dependency
pip install pandas numpy yfinance scipy statsmodels matplotlib # 馿¬¡ä½¿ç¨
python scripts/copper_stock_analyzer.py --quick
輸åºç¯ä¾ï¼
{
"as_of": "2026-01-22",
"latest_state": {
"copper_price_usd_per_ton": 12727,
"copper_trend": "up",
"equity_resilience_score": 83,
"rolling_beta_equity_24m": -0.80
},
"diagnosis": {
"narrative": "é
å¹ä¸å趨å¢ä¸ï¼æ¥è¿ 13,000 éå¡ï¼è¡å¸éæ§é«æªã"
}
}
çæ Bloomberg é¢¨æ ¼å表ï¼
python scripts/visualize.py \
--start 2015-01-01 \
-o output/copper_resilience_2026-01-22.png
å表å å«ï¼
- é å¹æç· + SMA60ï¼å³è»¸ï¼æ©ç´ /é»è²ï¼
- å ¨çè¡å¸å¸å¼ï¼å·¦è»¸ï¼æ©è²é¢ç©åï¼
- ä¸å 10Y æ®å©çï¼å·¦è»¸ï¼é»ç·ï¼
- éå¡ç·ï¼10,000 / 13,000ï¼
çæä¾è³´åº¦åæå表ï¼ä¸é¢æ¿ç¶ååï¼ï¼
python scripts/plot_dependency_analysis.py \
--start 2015-01-01 \
-o ../../output/copper-dependency-analysis-2026-01-22.png
å表å å«ä¸å颿¿ï¼
- é å¹é¢æ¿ï¼é å¹ + SMA60 + 趨å¢èæ¯è²ï¼ç¶ =ä¸åï¼ç´ =ä¸éï¼+ éå¡ç·
- Î²ä¿æ¸é¢æ¿ï¼æ»¾å β æéåºå + ±1Ï åé + ç¶åå使¸ + è² å¼è¦ç¤º
- 鿧颿¿ï¼è¡å¸éæ§è©å + é«/ä½é¾å¼ç·
宿´åæï¼
python scripts/copper_stock_analyzer.py \
--start 2015-01-01 \
--end 2026-01-22 \
--copper HG=F \
--equity ACWI \
--output result.json
</quick_start>
- å¿«éæª¢æ¥ – æ¥çç®åé å¹ãè¡å¸éæ§ãéå¡çæ
- 宿´åæ – åææéåéå §çä¾è³´éä¿èåè£æ©ç
- è¦è¦ºåå表 – çæé å¹èä¾è³´å åçè¦è¦ºåå表
- ä¾è³´åº¦åæå – çæä¸é¢æ¿ä¾è³´åº¦åæå表ï¼é å¹+Î²ä¿æ¸+éæ§ï¼
- æ¹æ³è«å¸ç¿ – äºè§£è·¨è³ç¢ä¾è³´æ¨¡åçé輯
è«é¸ææç´æ¥æä¾åæåæ¸ã
è·¯ç±å¾ï¼é±è®å°ææä»¶ä¸¦å·è¡ã
<directory_structure>
analyze-copper-stock-resilience-dependency/
âââ SKILL.md # æ¬æä»¶ï¼è·¯ç±å¨ï¼
âââ skill.yaml # å端å±ç¤ºå
æ¸æ
âââ manifest.json # æè½å
æ¸æ
âââ workflows/
â âââ analyze.md # 宿´åæå·¥ä½æµ
â âââ quick-check.md # å¿«éæª¢æ¥å·¥ä½æµ
â âââ visualize.md # è¦è¦ºå工使µ
âââ references/
â âââ methodology.md # è·¨è³ç¢ä¾è³´æ¹æ³è«
â âââ data-sources.md # æ¸æä¾æºèç¬è²èªªæ
â âââ input-schema.md # 宿´è¼¸å
¥åæ¸å®ç¾©
âââ templates/
â âââ output-json.md # JSON è¼¸åºæ¨¡æ¿
â âââ output-markdown.md # Markdown å ±åæ¨¡æ¿
âââ scripts/
â âââ copper_stock_analyzer.py # 主åæè
³æ¬
â âââ fetch_data.py # æ¸ææåå·¥å
·
â âââ visualize.py # Bloomberg é¢¨æ ¼å表
â âââ plot_dependency_analysis.py # ä¸é¢æ¿ä¾è³´åº¦åæå表
âââ data/
â âââ cache/ # æ¸æå¿«åç®é
âââ examples/
âââ sample-output.json # ç¯ä¾è¼¸åº
</directory_structure>
<reference_index>
æ¹æ³è«: references/methodology.md
- è·¨è³ç¢ä¾è³´æ¦å¿µèç ç©¶å ±åå°ç §
- è¡å¸éæ§è©åè¨è¨
- 滾åè¿´æ¸èè²å¡è§£è®
- Back-and-fill åè£å¤å®é輯
è³æä¾æº: references/data-sources.md
- Yahoo Finance (yfinance) 使ç¨èªªæ
- ä¸å10Yæ®å©çç¬è²è¨è¨
- æ¸æé »çèå°é½æ¹æ³
è¼¸å ¥åæ¸: references/input-schema.md
- 宿´åæ¸å®ç¾©
- é è¨å¼è建è°ç¯å
</reference_index>
<workflows_index>
| Workflow | Purpose | ä½¿ç¨ææ© |
|---|---|---|
| analyze.md | 宿´åæ | éè¦è©³ç´°ä¾è³´éä¿èåè£åæ |
| quick-check.md | å¿«éæª¢æ¥ | åªæ³çç¶åçæ |
| visualize.md | çæè¦è¦ºåå表 | éè¦å表å±ç¤º |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON 輸åºçµæ§å®ç¾© |
| output-markdown.md | Markdown å ±åæ¨¡æ¿ |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| copper_stock_analyzer.py | --quick |
å¿«éæª¢æ¥ç¶åçæ |
| copper_stock_analyzer.py | --start DATE --end DATE |
宿´åæ |
| fetch_data.py | --series HG=F,ACWI |
æåå¸å ´æ¸æ |
| visualize.py | --start 2015-01-01 -o output/chart.png |
çæ Bloomberg é¢¨æ ¼å表 |
| plot_dependency_analysis.py | --start 2015-01-01 -o output/chart.png |
çæä¸é¢æ¿ä¾è³´åº¦åæå表 |
| </scripts_index> |
<input_schema_summary>
æ ¸å¿åæ¸
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| start_date | string | 2020-01-01 | åæèµ·é» |
| end_date | string | today | åæçµé» |
| freq | string | 1mo | é »çï¼æï¼ |
| copper_series | string | HG=F | é å¹åºå代碼 |
| equity_proxy_series | string | ACWI | è¡å¸ä»£çåºå |
| china_10y_yield_series | string | ç¬å | ä¸å10Yæ®å©ç |
模å忏
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| ma_window | int | 60 | ç§»åå¹³åè¦çª |
| rolling_window | int | 24 | 滾åè¿´æ¸è¦çªï¼æï¼ |
| round_levels | list | [10000, 13000] | éå¡ä½ç½® |
| backfill_max_drawdown | float | 0.25 | åè£å¹ 度ä¸é |
宿´åæ¸å®ç¾©è¦ references/input-schema.mdã
</input_schema_summary>
<output_schema_summary>
{
"skill": "analyze-copper-stock-resilience-dependency",
"as_of": "2026-01-22",
"inputs": {
"copper_series": "HG=F (converted to USD/ton)",
"equity_proxy_series": "ACWI",
"ma_window": 60,
"rolling_window": 24
},
"latest_state": {
"copper_price_usd_per_ton": 12727,
"copper_sma_60": 9355,
"copper_trend": "up",
"near_resistance_levels": [13000],
"near_support_levels": [],
"equity_resilience_score": 91,
"rolling_beta_equity_24m": -0.80,
"rolling_beta_yield_24m": -0.05
},
"diagnosis": {
"narrative": "é
å¹ä¸å趨å¢ä¸ï¼æ¥è¿ 13,000 éå¡ï¼è¡å¸éæ§é«æªã",
"scenario": "çºèªæ©çè¼é«",
"dependency_status": "滾å β çºè² å¼ (-0.80)ï¼é
èè¡å¸åååéä¿ï¼è«é¢å³çµ±é¢¨éªè³ç¢æ¨¡å¼"
},
"actionable_flags": [
{
"flag": "APPROACHING_RESISTANCE",
"meaning": "æ¥è¿éè¦é»åä½ï¼é注è½å¦çªç ´"
},
{
"flag": "NEGATIVE_BETA_REGIME",
"meaning": "é
èè¡å¸åååéä¿ï¼è«é¢å³çµ±é¢¨éªè³ç¢æ¨¡å¼"
},
{
"flag": "LOW_BETA_ANOMALY",
"meaning": "β èæ¼æ·å²æ¥µç«¯ä½ä½ï¼é
æ£å±ç¾ç¨ç«æ¼è¡å¸ç䏿¼²é輯"
}
]
}
宿´è¼¸åºçµæ§è¦ templates/output-json.mdã
</output_schema_summary>
<success_criteria> å·è¡æåææç¢åºï¼
- ç¶åé å¹è趨å¢çæ ï¼up/down/rangeï¼
- æ¥è¿çéå¡ä½ç½®ï¼resistance/supportï¼
- è¡å¸éæ§è©åï¼0-100ï¼
- 滾åè²å¡ä¿æ¸ï¼Î²_equity, β_yieldï¼
- åè£æ©çä¼°è¨ï¼overall / high_resilience / low_resilienceï¼
- æ å¢å¤è®æè¿°
- å¯å·è¡è¦å ±ææ¨
- è¦è¦ºåå表ï¼å¯é¸ï¼è¼¸åºè³
output/ç®éï¼ </success_criteria>