Macro-skills analyze-gas-fertilizer-contract-shock
displayName: 分析天然氣暴漲對化肥價格衝擊
git clone https://github.com/fatfingererr/macro-skills
skills/analyze-gas-fertilizer-contract-shock/skill.yamldisplayName: 分析天然氣暴漲對化肥價格衝擊 emoji: "\U0001F4A8" authorUrl: https://github.com/fatfingererr/macro-skills
tools:
- claude-code
featured: false installCount: 0
testQuestions:
-
question: '最近天然氣暴漲是否導致化肥價格跟隨上漲?' imagePath: images/gas-fert-shock-2026-01-29.png expectedResult: | 結論:敘事有數據支撐,但相關性偏低
關鍵發現
- 天然氣 Shock Regimes(9 個) ┌────────────────────┬───────────────┬─────────────────────┐ │ 時間 │ 峰值 │ 漲幅 │ ├────────────────────┼───────────────┼─────────────────────┤ │ 2026-01-20 ~ 01-22 │ $5.045/MMBtu │ +29.1% ← 最近的暴漲 │ ├────────────────────┼───────────────┼─────────────────────┤ │ 2025-11-06 ~ 11-14 │ $4.646 │ +6.6% │ ├────────────────────┼───────────────┼─────────────────────┤ │ 2025-11-19 ~ 11-20 │ $4.667 │ +2.6% │ ├────────────────────┼───────────────┼─────────────────────┤ │ 2025-03 月多次 │ $4.45 ~ $4.49 │ 短暫 spike │ └────────────────────┴───────────────┴─────────────────────┘
- 化肥(Urea)Spike Regimes(2 個) ┌────────────┬─────────────┐ │ 時間 │ 價格 │ ├────────────┼─────────────┤ │ 2025-10-27 │ $394/ton │ ├────────────┼─────────────┤ │ 2025-05-01 │ $473.25/ton │ └────────────┴─────────────┘
- 領先落後分析
- 天然氣領先化肥約 21 天(在合理範圍 7-56 天內)
- 交叉相關係數:0.131(偏低)
- 同期相關:0.041(幾乎無關)
三段式因果檢驗 ┌─────────────────────────┬────────┬───────────────────────────────────┐ │ 條件 │ 結果 │ 說明 │ ├─────────────────────────┼────────┼───────────────────────────────────┤ │ A. 天然氣出現 shock │ ✓ 通過 │ 9 個 shock regime,最大漲幅 29.1% │ ├─────────────────────────┼────────┼───────────────────────────────────┤ │ B. 化肥在之後出現 spike │ ✓ 通過 │ 化肥 spike 晚於天然氣約 59 天 │ ├─────────────────────────┼────────┼───────────────────────────────────┤ │ C. 領先落後支持因果 │ ✓ 通過 │ lag=21 天在合理範圍內 │ └─────────────────────────┴────────┴───────────────────────────────────┘
解讀
最近的天然氣暴漲(2026/1/20-22,+29.1%)尚未完全傳導至化肥價格,原因可能是:
- 傳導需要時間(歷史顯示約 21 天)
- 化肥目前價格 $409/ton,相對 2025 年高點 $473 仍有空間
- 相關係數僅 0.131,說明化肥價格還受其他因素影響(運費、季節性需求、政策等)
若敘事成立,預期化肥價格在未來 2-4 週內可能開始反應。
替代解釋
- 化肥價格可能受庫存、出口政策、農業需求週期等因素主導
- 低相關係數表明天然氣成本傳導不是唯一驅動因素
-
question: '如何判斷天然氣價格是否出現衝擊?' expectedResult: | 根據這個技能的方法論,判斷天然氣價格是否出現「衝擊(shock)」使用的是 雙重確認機制:
- Rolling Z-Score 偵測
z_t = (r_t - rolling_mean(r, window)) / rolling_std(r, window)
- r_t = 當日報酬率(日變動)
- window = 60 天滾動視窗
- 閾值:z ≥ 3.0 視為 shock
意義:當天的價格變動超過過去 60 天均值 3 個標準差以上,代表是統計上的極端事件。
- 斜率偵測(補充確認)
slope_t = (price_t / price_{t-k} - 1) / k
- 閾值:每日漲幅 ≥ 1.5%
- 捕捉的是「持續快速上漲」而非單日跳動
- Regime 合併
連續觸發 shock 的交易日會被合併為一個 shock regime(衝擊區間),輸出:
- 起始日 / 結束日 / 峰值日
- 區間累計漲幅
判斷流程 ┌──────────────────────────────────┬─────────────────────┐ │ 條件 │ 狀態 │ ├──────────────────────────────────┼─────────────────────┤ │ z-score ≥ 3.0 或 日斜率 ≥ 1.5% │ 單日 shock │ ├──────────────────────────────────┼─────────────────────┤ │ 連續多日觸發 │ 合併為 shock regime │ ├──────────────────────────────────┼─────────────────────┤ │ 有 regime 且化肥隨後也出現 spike │ 敘事成立的前提 │ └──────────────────────────────────┴─────────────────────┘ 簡單來說:價格變動相對於近期歷史極端異常(3σ)或持續快速上漲(1.5%/天),就判定為 shock。這是統計驅動的方法,不依賴主觀判斷。
- Rolling Z-Score 偵測
qualityScore: overall: 65 badge: 白銀 evaluatedAt: "2026-01-28"
metrics: problemFit: 75 correctness: 65 dataGovernance: 60 robustness: 55 maintainability: 70 usability: 65
metricDetails: problemFit: score: 75 strengths: - 問題定義精準:「檢驗天然氣→化肥敘事」 - 三段式因果檢驗架構完整 - 輸入參數設計詳盡(te_symbols, spike_detection, lead_lag) improvements: - 可增加更多化肥種類(DAP, 磷肥等) - 缺資料分支處理可更系統化
correctness: score: 65 strengths: - 方法論清晰(z-score + 斜率) - 領先落後分析邏輯合理 - 有完整的 pseudo-code 說明 improvements: - 需實際運行驗證 - 可增加更多 golden case - 數學公式可更精確 dataGovernance: score: 60 strengths: - Chrome CDP 爬蟲已實作完成 - 有 FRED + World Bank 備援方案 - 快取策略已規劃(12 小時有效期) improvements: - TradingEconomics 爬蟲授權需注意 - 缺少 cross-validate 流程 robustness: score: 55 strengths: - 有多種數據來源可選 - 有參數預設值 - CDP 連線失敗有明確錯誤訊息 improvements: - 缺少獨立的 failure-modes.md - 錯誤處理策略可更完善 - 降級輸出機制待完善 maintainability: score: 70 strengths: - manifest.json 完整 - 目錄結構清晰 - 模組化腳本設計 - Chrome CDP 實作乾淨(無 Selenium 依賴) improvements: - 長期維護性需觀察 - 版本更新記錄待建立 usability: score: 65 strengths: - 輸出結構設計完整 - 視覺化腳本已實作 - 有解讀說明與範例輸出 improvements: - 待實際運行產生真實範例 - 可增加歷史案例對照
details: | 任務適配度(75/100)— 良好 - 問題定義精準,三段式檢驗架構完整 - 待改進:擴展化肥種類、系統化缺資料處理
**正確性(65/100)— 中等** - 方法論清晰,邏輯合理 - 待改進:實際運行驗證、增加 golden case **資料治理(60/100)— 中等** - Chrome CDP 爬蟲已實作,有備援方案 - 待改進:授權說明、交叉驗證 **穩健性(55/100)— 待改進** - 有基本參數配置 - 待改進:failure-modes、降級機制 **可維護性(70/100)— 良好** - 結構清晰,純 CDP 實作無額外依賴 - 待改進:長期維護驗證 **輸出可用性(65/100)— 中等** - 輸出設計完整,視覺化已實作 - 待改進:真實範例、歷史對照
bestPractices:
- title: 使用多個化肥指標交叉驗證 description: Urea、DAP、磷肥等可能有不同走勢,多指標一致性更可靠
- title: 關注 regime 時序而非單點 description: 重點是「A 段之後 B 段才出現」的時序關係,非單日波動
- title: 結合新聞事件驗證 description: 價格 shock 配合 force majeure 新聞,敘事更有說服力
- title: 區分現貨與期貨 description: TradingEconomics 數據可能是現貨或近月期貨,需注意區分
pitfalls:
- title: 過度解讀相關性 description: 相關不代表因果,需配合時序與機制分析 consequence: 錯誤歸因價格變動
- title: 忽略全球供需因素 description: 化肥價格受多因素影響,不只天然氣 consequence: 錯誤單一歸因於天然氣 shock
- title: 數據頻率不匹配 description: 天然氣日頻與化肥可能週/月頻 consequence: 領先落後分析失準
- title: 地區差異 description: 美國天然氣與歐洲/亞洲化肥市場關聯可能不同 consequence: 區域性分析結論無法泛化
faq:
-
question: 天然氣和化肥價格真的有關嗎? answer: | 是的,天然氣是生產氨肥(如尿素)的主要原料。
傳導機制:
- 天然氣價格上漲 → 氨生產成本上升
- 成本上升 → 部分廠商減產或停產(force majeure)
- 供給減少 → 化肥價格上漲
時間滯後:
- 通常 1-8 週
- 取決於庫存緩衝和合約安排
-
question: 什麼是不可抗力 (Force Majeure)? answer: | Force Majeure(不可抗力)是合約條款,允許供應商在極端情況下 不履行合約義務而不承擔違約責任。
天然氣→化肥場景:
- 天然氣成本飆升超過合約價格
- 生產商宣布 force majeure 停產
- 化肥供給驟減,價格飆漲
本技能作用:
- 用價格數據檢驗這個敘事是否在時序上成立
- 不能證明具體公司是否毀約,只能看價格關係
-
question: 為什麼使用 Z 分數偵測事件衝擊? answer: | Z 分數可以標準化不同商品的波動性:
優點:
- 適應性:不同商品有不同波動水平
- 可比性:跨商品的衝擊強度可比較
- 動態閾值:隨市場波動調整
公式: z = (當日報酬 - 60日平均報酬) / 60日報酬標準差
當 z >= 3,代表報酬偏離歷史均值 3 個標準差,屬於異常事件。
about: repository: https://github.com/fatfingererr/macro-skills branch: main additionalInfo: | ## 數據來源
**TradingEconomics(主要)** - Natural Gas: https://tradingeconomics.com/commodity/natural-gas - Urea: https://tradingeconomics.com/commodity/urea - DAP: https://tradingeconomics.com/commodity/dap - 使用 Chrome CDP 爬取 Highcharts 圖表數據 **FRED(備援)** - DHHNGSP: Henry Hub Natural Gas Spot Price - 使用 CSV endpoint 直接下載 **World Bank Pink Sheet(備援)** - 月頻化肥價格數據 - Excel 下載 ## 使用場景 1. 社群帖文驗證:看到「天然氣暴漲導致化肥危機」的說法時 2. 研究筆記:撰寫天然氣→化肥傳導機制的分析報告 3. 投資假說:評估天然氣 shock 對農業/化工股的影響 ## 技術架構 - **爬蟲方法**:Chrome CDP(透過 WebSocket 連接調試端口) - **數據提取**:從 Highcharts.charts 全域變數取得圖表數據 - **分析方法**:Rolling z-score + 斜率偵測 + Cross-correlation