analyze-platinum-to-brazil-equities-transmission

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<essential_principles>
<principle name="transmission_verification"> **傳導驗證而非預測**
本技能專注於「用數據驗證敘事」:
  • 輸入:社群/新聞宣稱「白金走勢可能領先或驅動巴西股市」
  • 輸出:長週期時間序列上的傳導假說檢驗結果
不做價格預測,只回答:「白金→巴西股市的傳導結構在數據上是否存在?」 </principle>
<principle name="lead_lag_cross_correlation"> **交叉相關判斷領先落後**
使用 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。 </principle>
<principle name="regime_awareness"> **Regime-Dependent 關聯**
白金與巴西股市的關聯具有週期性特徵:
  • linked_upcycle:兩者趨勢同向上行,傳導結構穩固
  • decoupled:關聯斷裂,各走各的
  • brazil_idiosyncratic:巴西特有風險(政治/匯率/商品結構)主導
長期 regime 判斷使用 regime_window(預設 104 週 ≈ 2 年)內的趨勢一致性。 </principle>
<principle name="transmission_strength_score"> **傳導強度分數(0–100)**
綜合三個維度量化傳導可信度:
維度權重說明
best_lead_lag_corr30%最佳領先落後相關係數
rolling_corr_stability30%rolling corr > 0 的佔比與連續性
trend_agreement40%長期趨勢一致程度
分數解讀:≥70 強傳導、50-69 中等、<50 弱/不穩定。 </principle>
<principle name="data_source"> **資料來源**
主要使用 Yahoo Finance(免費、無需 API key):
  • 白金期貨
    PL=F
  • 巴西股市 ETF
    EWZ
頻率建議:1wk(週頻)用於長週期分析,避免日頻噪音干擾。 對齊方式:inner join(只保留共同交易日),避免補值造成假相關。 </principle>
</essential_principles>
<objective> 量化驗證「白金(Platinum)→ 巴西股市(EWZ)」的長週期傳導關係:
  1. 數據取得:從 Yahoo Finance 取得白金期貨與 EWZ 歷史價格
  2. 雙軸圖與正規化圖:Bloomberg 風格原值雙軸圖 + 正規化同軸對比
  3. 領先落後分析:交叉相關找出白金是否領先 EWZ 及滯後期數
  4. Rolling Correlation:滾動相關觀察關聯的時變結構
  5. Regime 判斷:長期趨勢一致性判斷當前處於哪種傳導體制
  6. 傳導強度分數:綜合評分(0-100)量化傳導可信度
輸出:傳導強度分數、領先落後判定、regime label、監控清單、Bloomberg 風格圖表。 </objective>
<quick_start>
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
<essential_principles>
<principle name="transmission_verification"> **Transmission Verification Instead of Prediction**
This skill focuses on "verifying narratives with data":
  • Input: Community/news claims that "Platinum trends may lead or drive the Brazilian stock market"
  • Output: Results of transmission hypothesis testing on long-term time series
No price prediction, only answers: "Does the transmission structure from Platinum to the Brazilian stock market exist in the data?" </principle>
<principle name="lead_lag_cross_correlation"> **Lead-Lag Judgment via Cross-Correlation**
Use Cross-Correlation to scan the range [-lead_lag_max, +lead_lag_max]:
  • corr(r_ewz, r_platinum.shift(lag))
  • lag > 0: Platinum leads EWZ
  • lag < 0: EWZ leads Platinum
  • lag ≈ 0: Synchronous movement
Typical setting: Weekly frequency with lag max = 52 (one year), find the lag with the maximum |corr|. </principle>
<principle name="regime_awareness"> **Regime-Dependent Correlation**
The correlation between Platinum and the Brazilian stock market has cyclical characteristics:
  • linked_upcycle: Both trends move upward in the same direction, with a stable transmission structure
  • decoupled: Correlation breaks, each moves independently
  • brazil_idiosyncratic: Brazil-specific risks (politics/exchange rate/commodity structure) dominate
Long-term regime judgment uses trend consistency within the regime_window (default 104 weeks ≈ 2 years). </principle>
<principle name="transmission_strength_score"> **Transmission Strength Score (0–100)**
Quantify transmission credibility by integrating three dimensions:
DimensionWeightDescription
best_lead_lag_corr30%Best lead-lag correlation coefficient
rolling_corr_stability30%Proportion and continuity of rolling corr > 0
trend_agreement40%Degree of long-term trend consistency
Score interpretation: ≥70 Strong transmission, 50-69 Moderate, <50 Weak/unstable. </principle>
<principle name="data_source"> **Data Sources**
Mainly use Yahoo Finance (free, no API key required):
  • Platinum Futures:
    PL=F
  • Brazilian Stock Market ETF:
    EWZ
Frequency recommendation: 1wk (weekly) for long-term analysis, avoid daily frequency noise interference. Alignment method: inner join (only retain common trading days) to avoid false correlation caused by filling values. </principle>
</essential_principles>
<objective> Quantitatively verify the long-term transmission relationship between "Platinum → Brazilian Stock Market (EWZ)":
  1. Data Acquisition: Obtain historical prices of Platinum futures and EWZ from Yahoo Finance
  2. Dual-Axis Chart and Normalized Chart: Bloomberg-style original value dual-axis chart + normalized single-axis comparison
  3. Lead-Lag Analysis: Use cross-correlation to determine whether Platinum leads EWZ and the lag period
  4. Rolling Correlation: Observe the time-varying structure of the correlation via rolling correlation
  5. Regime Judgment: Determine the current transmission regime based on long-term trend consistency
  6. Transmission Strength Score: Comprehensive score (0-100) to quantify transmission credibility
Output: Transmission strength score, lead-lag determination, regime label, monitoring list, Bloomberg-style charts. </objective>
<quick_start>
Step 1: Install Dependencies
bash
pip install yfinance pandas numpy matplotlib scipy
Step 2: Execute Complete Analysis
bash
cd scripts
python analyze.py --start 2003-01-01
Step 3: Generate Bloomberg-Style Visualization Charts
bash
python visualize.py --start 2003-01-01

輸出到: output/platinum_vs_ewz_YYYY-MM-DD.png

Output to: 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"
  ]
}
</quick_start>
<intake> 需要進行什麼分析?
  1. 快速檢查 - 查看白金與巴西股市目前的傳導狀態
  2. 完整分析 - 執行完整傳導檢驗並生成報告
  3. 視覺化圖表 - 生成 Bloomberg 風格雙軸圖與相關分析圖表
  4. 方法論學習 - 了解傳導分析、交叉相關與 regime 判斷的原理
請選擇或直接提供分析參數。 </intake>
<routing> | 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` 並使用參數執行 |
路由後,閱讀對應文件並執行。 </routing>
<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>
WorkflowPurpose使用時機
analyze.md完整傳導分析需要驗證傳導敘事時
visualize.md生成視覺化圖表需要 Bloomberg 風格圖表時
</workflows_index>
<templates_index>
TemplatePurpose
output-json.mdJSON 輸出結構定義
output-markdown.mdMarkdown 報告模板
</templates_index>
<scripts_index>
ScriptCommandPurpose
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>
<parameter name="start_date" required="true"> **Type**: string (ISO YYYY-MM-DD) **Description**: 分析起始日期 **Example**: "2003-01-01" **Note**: EWZ 上市於 2000 年 7 月,建議不早於 2000-07-01 </parameter> <parameter name="end_date" required="false"> **Type**: string (ISO YYYY-MM-DD) **Description**: 分析結束日期(預設今日) **Example**: "2026-01-28" </parameter> <parameter name="frequency" required="false"> **Type**: string **Default**: "1wk" **Options**: "1d" / "1wk" / "1mo" **Description**: 資料頻率。建議 1wk 或 1mo 用於長週期分析 </parameter> <parameter name="platinum_ticker" required="false"> **Type**: string **Default**: "PL=F" **Description**: 白金價格 ticker </parameter> <parameter name="brazil_ticker" required="false"> **Type**: string **Default**: "EWZ" **Description**: 巴西股市 proxy ticker </parameter> <parameter name="normalize_base" required="false"> **Type**: number **Default**: 100 **Description**: 正規化基準 </parameter> <parameter name="corr_window" required="false"> **Type**: int **Default**: 52 **Description**: Rolling correlation 視窗(以 frequency 單位) </parameter> <parameter name="lead_lag_max" required="false"> **Type**: int **Default**: 52 **Description**: 領先/落後最大掃描期數 </parameter> <parameter name="regime_window" required="false"> **Type**: int **Default**: 104 **Description**: 長期 regime 判斷窗口 </parameter> <parameter name="output_mode" required="false"> **Type**: string **Default**: "both" **Options**: "markdown" / "json" / "both" </parameter>
</input_schema>
<output_schema> 參見
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"]
  }
}
</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>

**Output Example**:
```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": [
    "If PL=F breaks through the long-term range, observe whether EWZ turns bullish within 8-16 weeks",
    "Require 52-week rolling corr to remain positive for at least 26 weeks as confirmation",
    "If Platinum surges but EWZ stays flat and corr turns negative, it is regarded as a regime break"
  ]
}
</quick_start>
<intake> What analysis do you need?
  1. Quick Check - View the current transmission status between Platinum and the Brazilian stock market
  2. Complete Analysis - Execute full transmission verification and generate a report
  3. Visualization Charts - Generate Bloomberg-style dual-axis charts and related analysis charts
  4. Methodology Learning - Understand the principles of transmission analysis, cross-correlation, and regime judgment
Please choose or directly provide analysis parameters. </intake>
<routing> | Response | Action | |------------------------------|----------------------------------------------| | 1, "quick", "check" | Read `workflows/analyze.md` and execute with default parameters | | 2, "full", "analyze" | Read `workflows/analyze.md` and execute | | 3, "chart", "plot" | Read `workflows/visualize.md` and execute | | 4, "learn", "methodology", "why" | Read `references/methodology.md` | | Provide parameters (e.g., date/ticker) | Read `workflows/analyze.md` and execute with parameters |
After routing, read the corresponding document and execute. </routing>
<directory_structure>
analyze-platinum-to-brazil-equities-transmission/
├── SKILL.md                           # This file (router)
├── skill.yaml                         # Frontend display metadata
├── manifest.json                      # Skill metadata
├── workflows/
│   ├── analyze.md                     # Full transmission analysis workflow
│   └── visualize.md                   # Visualization workflow
├── references/
│   ├── data-sources.md                # Data sources and alternatives
│   ├── methodology.md                 # Transmission analysis methodology
│   └── input-schema.md                # Complete input parameter definition
├── templates/
│   ├── output-json.md                 # JSON output template
│   └── output-markdown.md             # Markdown report template
├── scripts/
│   ├── analyze.py                     # Main analysis script
│   ├── fetch_data.py                  # Data fetching tool (Yahoo Finance)
│   └── visualize.py                   # Bloomberg-style visualization
└── examples/
    └── sample_output.json             # Sample output
</directory_structure>
<reference_index>
Methodology: references/methodology.md
  • Cross-correlation lead-lag analysis
  • Rolling Correlation time-varying structure
  • Regime judgment logic
  • Transmission strength score calculation
Data Sources: references/data-sources.md
  • Yahoo Finance (PL=F, EWZ)
  • Frequency processing and alignment
  • Backup data sources
Input Parameters: references/input-schema.md
  • Complete parameter definitions and default values
  • start_date, frequency, corr_window, lead_lag_max, etc.
</reference_index>
<workflows_index>
WorkflowPurposeUsage Scenario
analyze.mdFull transmission analysisWhen verifying transmission narratives
visualize.mdGenerate visualization chartsWhen needing Bloomberg-style charts
</workflows_index>
<templates_index>
TemplatePurpose
output-json.mdJSON output structure definition
output-markdown.mdMarkdown report template
</templates_index>
<scripts_index>
ScriptCommandPurpose
analyze.py
--start DATE [--end DATE] [--freq 1wk]
Full transmission analysis
fetch_data.py
--start DATE [--end DATE] [--freq 1wk]
Data fetching and caching
visualize.py
--start DATE [--end DATE]
Bloomberg-style visualization
</scripts_index>
<input_schema>
<parameter name="start_date" required="true"> **Type**: string (ISO YYYY-MM-DD) **Description**: Analysis start date **Example**: "2003-01-01" **Note**: EWZ was listed in July 2000, it is recommended not to set earlier than 2000-07-01 </parameter> <parameter name="end_date" required="false"> **Type**: string (ISO YYYY-MM-DD) **Description**: Analysis end date (default: today) **Example**: "2026-01-28" </parameter> <parameter name="frequency" required="false"> **Type**: string **Default**: "1wk" **Options**: "1d" / "1wk" / "1mo" **Description**: Data frequency. 1wk or 1mo is recommended for long-term analysis </parameter> <parameter name="platinum_ticker" required="false"> **Type**: string **Default**: "PL=F" **Description**: Platinum price ticker </parameter> <parameter name="brazil_ticker" required="false"> **Type**: string **Default**: "EWZ" **Description**: Brazilian stock market proxy ticker </parameter> <parameter name="normalize_base" required="false"> **Type**: number **Default**: 100 **Description**: Normalization base </parameter> <parameter name="corr_window" required="false"> **Type**: int **Default**: 52 **Description**: Rolling correlation window (in frequency units) </parameter> <parameter name="lead_lag_max" required="false"> **Type**: int **Default**: 52 **Description**: Maximum scan period for lead/lag </parameter> <parameter name="regime_window" required="false"> **Type**: int **Default**: 104 **Description**: Long-term regime judgment window </parameter> <parameter name="output_mode" required="false"> **Type**: string **Default**: "both" **Options**: "markdown" / "json" / "both" </parameter>
</input_schema>
<output_schema> Refer to the complete structure definition in
templates/output-json.md
.
Summary:
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"]
  }
}
</output_schema>
<success_criteria> When the analysis is successful, it should produce:
  • Lead-lag days (weeks) and correlation coefficient between Platinum and EWZ
  • Latest value and positive proportion of 52-week Rolling Correlation
  • Transmission strength score (0-100)
  • Current Regime Label (linked_upcycle / decoupled / brazil_idiosyncratic)
  • Transmission conclusion and alternative explanations
  • Monitoring list (non-short-term)
  • Bloomberg-style dual-axis chart (output/platinum_vs_ewz_YYYY-MM-DD.png)
  • Clear annotation of data limitations and assumptions </success_criteria>