analyze-platinum-to-brazil-equities-transmission
npx skills add https://github.com/fatfingererr/macro-skills --skill analyze-platinum-to-brazil-equities-transmission
Agent 安装分布
Skill 文档
<essential_principles>
æ¬æè½å°æ³¨æ¼ãç¨æ¸æé©èæäºãï¼
- è¼¸å ¥ï¼ç¤¾ç¾¤/æ°è宣稱ãç½éèµ°å¢å¯è½é å æé© å巴西è¡å¸ã
- 輸åºï¼é·é±ææéåºåä¸çå³å°å說檢é©çµæ
ä¸å广 ¼é 測ï¼åªåçï¼ãç½éâ巴西è¡å¸çå³å°çµæ§å¨æ¸æä¸æ¯å¦åå¨ï¼ã
ä½¿ç¨ Cross-Correlation ææ [-lead_lag_max, +lead_lag_max] ç¯åï¼
corr(r_ewz, r_platinum.shift(lag))- lag > 0ï¼ç½éé å EWZï¼platinum leadsï¼
- lag < 0ï¼EWZ é å ç½é
- lag â 0ï¼åæ¥ç§»å
å ¸åè¨å®ï¼é±é » lag max = 52ï¼ä¸å¹´ï¼ï¼æ¾ |corr| æå¤§ç lagã
ç½éè巴西è¡å¸çéè¯å ·æé±ææ§ç¹å¾µï¼
- linked_upcycleï¼å ©è 趨å¢ååä¸è¡ï¼å³å°çµæ§ç©©åº
- decoupledï¼éè¯æ·è£ï¼åèµ°åç
- brazil_idiosyncraticï¼å·´è¥¿ç¹æé¢¨éªï¼æ¿æ²»/å¯ç/ååçµæ§ï¼ä¸»å°
é·æ regime 夿·ä½¿ç¨ regime_windowï¼é è¨ 104 é± â 2 å¹´ï¼å §ç趨å¢ä¸è´æ§ã
ç¶åä¸åç¶åº¦éåå³å°å¯ä¿¡åº¦ï¼
| ç¶åº¦ | æ¬é | 說æ |
|---|---|---|
| best_lead_lag_corr | 30% | æä½³é å è½å¾ç¸éä¿æ¸ |
| rolling_corr_stability | 30% | rolling corr > 0 ç使¯èé£çºæ§ |
| trend_agreement | 40% | é·æè¶¨å¢ä¸è´ç¨åº¦ |
åæ¸è§£è®ï¼â¥70 å¼·å³å°ã50-69 ä¸çã<50 å¼±/ä¸ç©©å®ã
主è¦ä½¿ç¨ Yahoo Financeï¼å è²»ãç¡é API keyï¼ï¼
- ç½éæè²¨ï¼
PL=F - 巴西è¡å¸ ETFï¼
EWZ
é »ç建è°ï¼1wkï¼é±é »ï¼ç¨æ¼é·é±æåæï¼é¿å æ¥é »åªé³å¹²æ¾ã å°é½æ¹å¼ï¼inner joinï¼åªä¿çå ±åäº¤ææ¥ï¼ï¼é¿å è£å¼é æåç¸éã
</essential_principles>
- æ¸æåå¾ï¼å¾ Yahoo Finance åå¾ç½éæè²¨è EWZ æ·å²å¹æ ¼
- é軸åèæ£è¦ååï¼Bloomberg é¢¨æ ¼åå¼é軸å + æ£è¦ååè»¸å°æ¯
- é å è½å¾åæï¼äº¤åç¸éæ¾åºç½éæ¯å¦é å EWZ åæ»¯å¾ææ¸
- Rolling Correlationï¼æ»¾åç¸éè§å¯éè¯çæè®çµæ§
- Regime 夿·ï¼é·æè¶¨å¢ä¸è´æ§å¤æ·ç¶åèæ¼åªç¨®å³å°é«å¶
- å³å°å¼·åº¦åæ¸ï¼ç¶åè©åï¼0-100ï¼éåå³å°å¯ä¿¡åº¦
輸åºï¼å³å°å¼·åº¦åæ¸ãé å è½å¾å¤å®ãregime labelãç£æ§æ¸ å®ãBloomberg é¢¨æ ¼å表ã
<quick_start>
Step 1ï¼å®è£ä¾è³´
pip install yfinance pandas numpy matplotlib scipy
Step 2ï¼å·è¡å®æ´åæ
cd scripts
python analyze.py --start 2003-01-01
Step 3ï¼çæ Bloomberg é¢¨æ ¼è¦è¦ºåå表
python visualize.py --start 2003-01-01
# 輸åºå°: output/platinum_vs_ewz_YYYY-MM-DD.png
輸åºç¯ä¾ï¼
{
"signal": "transmission_moderate",
"confidence": "medium",
"transmission_strength_score": 74,
"best_lead_lag": {
"lag_weeks": 12,
"meaning": "Platinum leads EWZ by ~12 weeks",
"corr": 0.52
},
"rolling_corr": {
"window": 52,
"latest": 0.41,
"positive_share_5y": 0.68
},
"regime_label": "linked_upcycle",
"monitoring_notes": [
"è¥ PL=F çªç ´é·æåéï¼è§å¯ EWZ å¨ 8-16 é±å
§æ¯å¦è¶¨å¢ç¿»å¤",
"è¦æ± 52 é± rolling corr ç¶ææ£å¼è³å° 26 é±ä½çºç¢ºèª",
"è¥ç½é大漲è EWZ ä¸åä¸ corr è½è² ï¼è¦çº regime break"
]
}
</quick_start>
- å¿«éæª¢æ¥ – æ¥çç½éè巴西è¡å¸ç®åçå³å°çæ
- 宿´åæ – å·è¡å®æ´å³å°æª¢é©ä¸¦çæå ±å
- è¦è¦ºåå表 – çæ Bloomberg é¢¨æ ¼é軸åèç¸éåæå表
- æ¹æ³è«å¸ç¿ – äºè§£å³å°åæã交åç¸éè regime 夿·çåç
è«é¸ææç´æ¥æä¾åæåæ¸ã
è·¯ç±å¾ï¼é±è®å°ææä»¶ä¸¦å·è¡ã
<directory_structure>
analyze-platinum-to-brazil-equities-transmission/
âââ SKILL.md # æ¬æä»¶ï¼è·¯ç±å¨ï¼
âââ skill.yaml # å端å±ç¤ºå
æ¸æ
âââ manifest.json # æè½å
è³æ
âââ workflows/
â âââ analyze.md # 宿´å³å°åæå·¥ä½æµ
â âââ visualize.md # è¦è¦ºå工使µ
âââ references/
â âââ data-sources.md # è³æä¾æºèæ¿ä»£æ¹æ¡
â âââ methodology.md # å³å°åææ¹æ³è«
â âââ input-schema.md # 宿´è¼¸å
¥åæ¸å®ç¾©
âââ templates/
â âââ output-json.md # JSON è¼¸åºæ¨¡æ¿
â âââ output-markdown.md # Markdown å ±åæ¨¡æ¿
âââ scripts/
â âââ analyze.py # 主åæè
³æ¬
â âââ fetch_data.py # æ¸ææåå·¥å
·ï¼Yahoo Financeï¼
â âââ visualize.py # Bloomberg é¢¨æ ¼è¦è¦ºå
âââ examples/
âââ sample_output.json # ç¯ä¾è¼¸åº
</directory_structure>
<reference_index>
æ¹æ³è«: references/methodology.md
- 交åç¸éé å è½å¾åæ
- Rolling Correlation æè®çµæ§
- Regime 夿·é輯
- å³å°å¼·åº¦åæ¸è¨ç®
è³æä¾æº: references/data-sources.md
- Yahoo Financeï¼PL=F, EWZï¼
- é »çèçèå°é½
- åæ´æ¸ææº
è¼¸å ¥åæ¸: references/input-schema.md
- 宿´åæ¸å®ç¾©èé è¨å¼
- start_date, frequency, corr_window, lead_lag_max ç
</reference_index>
<workflows_index>
| Workflow | Purpose | ä½¿ç¨ææ© |
|---|---|---|
| analyze.md | 宿´å³å°åæ | éè¦é©èå³å°æäºæ |
| visualize.md | çæè¦è¦ºåå表 | éè¦ Bloomberg é¢¨æ ¼å表æ |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON 輸åºçµæ§å®ç¾© |
| output-markdown.md | Markdown å ±åæ¨¡æ¿ |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| analyze.py | --start DATE [--end DATE] [--freq 1wk] |
宿´å³å°åæ |
| fetch_data.py | --start DATE [--end DATE] [--freq 1wk] |
æ¸ææåèå¿«å |
| visualize.py | --start DATE [--end DATE] |
Bloomberg é¢¨æ ¼è¦è¦ºå |
| </scripts_index> |
<input_schema>
</input_schema>
<output_schema>
åè¦ templates/output-json.md ç宿´çµæ§å®ç¾©ã
æè¦ï¼
{
"signal": "transmission_strong | transmission_moderate | transmission_weak | inconclusive",
"confidence": "high | medium | low",
"transmission_strength_score": 74,
"best_lead_lag": {
"lag_weeks": 12,
"corr": 0.52,
"meaning": "Platinum leads EWZ by ~12 weeks"
},
"rolling_corr": {
"window": 52,
"latest": 0.41,
"positive_share_5y": 0.68
},
"regime_label": "linked_upcycle | decoupled | brazil_idiosyncratic",
"monitoring_notes": ["..."],
"artifacts": {
"charts": ["output/platinum_vs_ewz_YYYY-MM-DD.png"]
}
}
</output_schema>
<success_criteria> åææåææç¢åºï¼
- ç½éè EWZ çé å è½å¾å¤©ï¼é±ï¼æ¸èç¸éä¿æ¸
- 52 é± Rolling Correlation ææ°å¼èæ£å¼ä½æ¯
- å³å°å¼·åº¦åæ¸ï¼0-100ï¼
- ç¶å Regime Labelï¼linked_upcycle / decoupled / brazil_idiosyncraticï¼
- å³å°çµè«èæ¿ä»£è§£é
- ç£æ§æ¸ å®ï¼éçç·ï¼
- Bloomberg é¢¨æ ¼é軸åï¼output/platinum_vs_ewz_YYYY-MM-DD.pngï¼
- æç¢ºæ¨è¨»è³æéå¶èåè¨ </success_criteria>