---
name: analyze-platinum-to-brazil-equities-transmission
description: 使用公開市場資料量化驗證鉑/白金對巴西股市(EWZ)的長週期傳導/連動關係,輸出雙軸圖、領先落後分析、關聯強度分數與監控訊號。
---
**傳導驗證而非預測**
本技能專注於「用數據驗證敘事」:
- 輸入:社群/新聞宣稱「白金走勢可能領先或驅動巴西股市」
- 輸出:長週期時間序列上的傳導假說檢驗結果
不做價格預測,只回答:「白金→巴西股市的傳導結構在數據上是否存在?」
**交叉相關判斷領先落後**
使用 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。
**Regime-Dependent 關聯**
白金與巴西股市的關聯具有週期性特徵:
- **linked_upcycle**:兩者趨勢同向上行,傳導結構穩固
- **decoupled**:關聯斷裂,各走各的
- **brazil_idiosyncratic**:巴西特有風險(政治/匯率/商品結構)主導
長期 regime 判斷使用 regime_window(預設 104 週 ≈ 2 年)內的趨勢一致性。
**傳導強度分數(0–100)**
綜合三個維度量化傳導可信度:
| 維度 | 權重 | 說明 |
|------------------------|------|---------------------------------|
| 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(只保留共同交易日),避免補值造成假相關。
量化驗證「白金(Platinum)→ 巴西股市(EWZ)」的長週期傳導關係:
1. **數據取得**:從 Yahoo Finance 取得白金期貨與 EWZ 歷史價格
2. **雙軸圖與正規化圖**:Bloomberg 風格原值雙軸圖 + 正規化同軸對比
3. **領先落後分析**:交叉相關找出白金是否領先 EWZ 及滯後期數
4. **Rolling Correlation**:滾動相關觀察關聯的時變結構
5. **Regime 判斷**:長期趨勢一致性判斷當前處於哪種傳導體制
6. **傳導強度分數**:綜合評分(0-100)量化傳導可信度
輸出:傳導強度分數、領先落後判定、regime label、監控清單、Bloomberg 風格圖表。
**Step 1:安裝依賴**
```bash
pip install yfinance pandas numpy matplotlib scipy
```
**Step 2:執行完整分析**
```bash
cd scripts
python analyze.py --start 2003-01-01
```
**Step 3:生成 Bloomberg 風格視覺化圖表**
```bash
python visualize.py --start 2003-01-01
# 輸出到: output/platinum_vs_ewz_YYYY-MM-DD.png
```
**輸出範例**:
```json
{
"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"
]
}
```
需要進行什麼分析?
1. **快速檢查** - 查看白金與巴西股市目前的傳導狀態
2. **完整分析** - 執行完整傳導檢驗並生成報告
3. **視覺化圖表** - 生成 Bloomberg 風格雙軸圖與相關分析圖表
4. **方法論學習** - 了解傳導分析、交叉相關與 regime 判斷的原理
**請選擇或直接提供分析參數。**
| Response | Action |
|------------------------------|----------------------------------------------|
| 1, "快速", "quick", "check" | 閱讀 `workflows/analyze.md` 並以預設參數執行 |
| 2, "完整", "full", "analyze" | 閱讀 `workflows/analyze.md` 並執行 |
| 3, "視覺化", "chart", "plot" | 閱讀 `workflows/visualize.md` 並執行 |
| 4, "學習", "方法論", "why" | 閱讀 `references/methodology.md` |
| 提供參數 (如日期/ticker) | 閱讀 `workflows/analyze.md` 並使用參數執行 |
**路由後,閱讀對應文件並執行。**
```
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 # 範例輸出
```
**方法論**: 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 等
| Workflow | Purpose | 使用時機 |
|--------------|----------------|---------------------------|
| analyze.md | 完整傳導分析 | 需要驗證傳導敘事時 |
| visualize.md | 生成視覺化圖表 | 需要 Bloomberg 風格圖表時 |
| Template | Purpose |
|--------------------|-------------------|
| output-json.md | JSON 輸出結構定義 |
| output-markdown.md | Markdown 報告模板 |
| 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 風格視覺化 |
**Type**: string (ISO YYYY-MM-DD)
**Description**: 分析起始日期
**Example**: "2003-01-01"
**Note**: EWZ 上市於 2000 年 7 月,建議不早於 2000-07-01
**Type**: string (ISO YYYY-MM-DD)
**Description**: 分析結束日期(預設今日)
**Example**: "2026-01-28"
**Type**: string
**Default**: "1wk"
**Options**: "1d" / "1wk" / "1mo"
**Description**: 資料頻率。建議 1wk 或 1mo 用於長週期分析
**Type**: string
**Default**: "PL=F"
**Description**: 白金價格 ticker
**Type**: string
**Default**: "EWZ"
**Description**: 巴西股市 proxy ticker
**Type**: number
**Default**: 100
**Description**: 正規化基準
**Type**: int
**Default**: 52
**Description**: Rolling correlation 視窗(以 frequency 單位)
**Type**: int
**Default**: 52
**Description**: 領先/落後最大掃描期數
**Type**: int
**Default**: 104
**Description**: 長期 regime 判斷窗口
**Type**: string
**Default**: "both"
**Options**: "markdown" / "json" / "both"
參見 `templates/output-json.md` 的完整結構定義。
**摘要**:
```json
{
"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"]
}
}
```
分析成功時應產出:
- [ ] 白金與 EWZ 的領先落後天(週)數與相關係數
- [ ] 52 週 Rolling Correlation 最新值與正值佔比
- [ ] 傳導強度分數(0-100)
- [ ] 當前 Regime Label(linked_upcycle / decoupled / brazil_idiosyncratic)
- [ ] 傳導結論與替代解釋
- [ ] 監控清單(非短線)
- [ ] **Bloomberg 風格雙軸圖**(output/platinum_vs_ewz_YYYY-MM-DD.png)
- [ ] 明確標註資料限制與假設