analyze-move-risk-gauges-leadlag

📁 fatfingererr/macro-skills 📅 Jan 24, 2026
9
总安装量
6
周安装量
#32285
全站排名
安装命令
npx skills add https://github.com/fatfingererr/macro-skills --skill analyze-move-risk-gauges-leadlag

Agent 安装分布

claude-code 4
opencode 3
antigravity 3
replit 2
windsurf 2

Skill 文档

<essential_principles>

MOVE Index(美林期權波動率指數)是衡量美國國債選擇權隱含波動率的指標:

  • MOVE 低/下降:利率市場對未來波動預期降低,風險偏好上升
  • MOVE 高/上升:利率市場恐慌,避險需求增加

MOVE 常被視為「債市的 VIX」,可作為其他風險指標的領先訊號。

使用 Cross-Correlation 判斷兩序列的領先/落後關係:

  • 在 [-L, +L] 位移範圍內計算相關係數
  • 最大相關出現在 lag > 0:X 領先 Y
  • 最大相關出現在 lag < 0:X 落後 Y
  • 最大相關出現在 lag ≈ 0:同步移動

典型設定:L = 20(交易日),配合平滑處理降低噪音。

檢驗「利率事件(如 JGB 殖利率跳升)發生時,MOVE 是否恐慌」:

  1. 定義衝擊事件:|ΔY[t-k:t]| ≥ threshold(如 15bp)
  2. 檢查事件窗內 MOVE 變化
  3. 若 MOVE 反應 < 歷史分布中位數 → “not spooked”

此邏輯可驗證「利率波動率對某事件不敏感」的敘事。

本 skill 使用 Chrome CDP 連接到 MacroMicro 抓取真實數據:

重要:MOVE 和 JGB 需要透過 Chrome CDP 爬蟲取得,請參照 <quick_start> 的步驟啟動 Chrome。

</essential_principles>

  1. 數據抓取:從公開來源取得 MOVE、VIX、信用利差、JGB 殖利率
  2. 標準化處理:Z 分數、平滑處理、頻率對齊
  3. 領先落後分析:交叉相關找出 MOVE vs VIX / 信用利差的 lead/lag
  4. 事件窗檢定:JGB 衝擊事件中 MOVE 是否「不恐慌」
  5. 方向一致性:MOVE 下行時,其他風險指標是否同步下行

輸出:領先落後判定、恐慌檢定結果、方向一致性比例、量化證據。

<quick_start>

執行分析前,必須先啟動 Chrome 調試模式

Step 1:關閉所有 Chrome 視窗

Step 2:用調試端口啟動 Chrome(Windows)

"C:\Program Files\Google\Chrome\Application\chrome.exe" ^
  --remote-debugging-port=9222 ^
  --remote-allow-origins=* ^
  --user-data-dir="%USERPROFILE%\.chrome-debug-profile" ^
  "https://en.macromicro.me/charts/35584/us-treasury-move-index"

Step 3:在瀏覽器中開啟第二個分頁,載入 JGB 頁面

https://en.macromicro.me/charts/944/jp-10-year-goverment-bond-yield

Step 4:等待兩個頁面的圖表都完全載入(約 30-40 秒)

Step 5:執行分析

cd .claude/skills/analyze-move-risk-gauges-leadlag/scripts
pip install pandas numpy yfinance requests websocket-client matplotlib  # 首次使用
python analyze.py --start 2024-01-01 --end 2026-01-31 --output-mode markdown

Step 6(可選):生成 Bloomberg 風格視覺化圖表

# 方式一:分析時同時生成圖表
python analyze.py --start 2024-01-01 --end 2026-01-31 --output-mode markdown --chart

# 方式二:單獨生成圖表(自動使用快取數據)
python visualize.py --start 2024-01-01 --end 2026-01-31

圖表預設輸出路徑:{專案根目錄}/output/move-leadlag-YYYY-MM-DD.png

輸出範例:

## 結論

- 利率波動率(MOVE)對「JGB 殖利率衝擊」反應偏弱 / 未顯著升溫 → **not spooked**
- MOVE 的變化在統計上呈現 **領先 4-6 天** 的特徵
- MOVE 下行時,VIX / 信用利差同步走低的比例:VIX = 62%、Credit = 60%

</quick_start>

  1. 快速檢查 – 查看目前 MOVE 的領先落後狀態與恐慌程度
  2. 完整分析 – 執行完整的領先落後與事件窗分析
  3. 視覺化圖表 – 生成多面板分析結果圖表
  4. 方法論學習 – 了解 Lead/Lag 分析與事件窗檢定的邏輯

請選擇或直接提供分析參數。

重要:執行分析前必須確保 Chrome CDP 已啟動並載入 MOVE 和 JGB 頁面。

<directory_structure>

analyze-move-risk-gauges-leadlag/
├── SKILL.md                           # 本文件(路由器)
├── skill.yaml                         # 前端展示元數據
├── manifest.json                      # 技能元數據
├── cache/                             # 數據快取目錄
├── workflows/
│   ├── analyze.md                     # 完整分析工作流
│   └── visualize.md                   # 視覺化工作流
├── references/
│   ├── data-sources.md                # 資料來源與替代方案
│   ├── methodology.md                 # Lead/Lag 與事件窗方法論
│   └── input-schema.md                # 完整輸入參數定義
├── templates/
│   ├── output-json.md                 # JSON 輸出模板
│   └── output-markdown.md             # Markdown 報告模板
└── scripts/
    ├── analyze.py                     # 主分析腳本
    ├── fetch_data.py                  # 數據抓取工具 (CDP + FRED + Yahoo)
    ├── visualize.py                   # Lead/Lag 綜合圖表繪圖工具
    └── visualize_rates_move.py        # 利率 vs MOVE 恐慌專題圖表(可帶入任何國家債券)

</directory_structure>

<reference_index>

方法論: references/methodology.md

  • Lead/Lag 交叉相關分析
  • Z 分數標準化
  • 事件窗檢定邏輯

資料來源: references/data-sources.md

  • MOVE Index: MacroMicro CDP
  • JGB 10Y: MacroMicro CDP
  • VIX: Yahoo Finance
  • Credit (IG OAS): FRED
  • 數據頻率與對齊

輸入參數: references/input-schema.md

  • 完整參數定義
  • 預設值與建議範圍

</reference_index>

<workflows_index>

Workflow Purpose 使用時機
analyze.md 完整領先落後分析 需要詳細分析報告時
visualize.md 生成視覺化圖表 需要圖表展示時
</workflows_index>

<templates_index>

Template Purpose
output-json.md JSON 輸出結構定義
output-markdown.md Markdown 報告模板
</templates_index>

<scripts_index>

Script Command Purpose
analyze.py --quick 快速檢查當前狀態
analyze.py --start DATE --end DATE 完整分析
analyze.py --start DATE --end DATE --chart 分析並生成 Lead/Lag 綜合圖表
analyze.py --start DATE --end DATE --rates-chart 分析並生成利率 vs MOVE 專題圖表
analyze.py --rates-chart --rates-col BUND10Y --rates-name "Bund 10Y" 指定其他國家債券分析
fetch_data.py --start DATE --end DATE 單獨抓取數據
visualize.py --start DATE --end DATE 獨立生成 Lead/Lag 綜合圖表
visualize_rates_move.py --start DATE --end DATE --rates-col JGB10Y --rates-name "JGB 10Y" 獨立生成利率 vs MOVE 恐慌專題圖表
</scripts_index>

<input_schema_summary>

核心參數

參數 類型 預設值 說明
start_date string 起始日期 (YYYY-MM-DD)
end_date string 結束日期 (YYYY-MM-DD)
rates_vol_symbol string MOVE 利率波動率指標
equity_vol_symbol string VIX 股市波動率指標
credit_spread_symbol string CDX_IG_PROXY 信用利差/風險指標
jgb_yield_symbol string JGB10Y 日本 10Y 殖利率

分析參數

參數 類型 預設值 說明
freq string D 頻率(D=日 / W=週)
smooth_window int 5 平滑移動平均窗
zscore_window int 60 Z 分數回看窗
lead_lag_max_days int 20 交叉相關最大位移天數
shock_window_days int 5 事件窗天數
shock_threshold_bps float 15 JGB 衝擊門檻 (bps)
output_mode string markdown 輸出格式

完整參數定義見 references/input-schema.md。

</input_schema_summary>

<output_schema_summary>

{
  "skill": "analyze-move-risk-gauges-leadlag",
  "as_of": "2026-01-23",
  "status": "ok",
  "headline": "MOVE not spooked by JGB yield moves and appears to lead VIX/Credit lower.",
  "leadlag": {
    "MOVE_vs_VIX": {"best_lag_days": 6, "corr": 0.72},
    "MOVE_vs_CREDIT": {"best_lag_days": 4, "corr": 0.61}
  },
  "spooked_check": {
    "shock_definition": "abs(JGB10Y change over 5d) >= 15bp",
    "shock_count": 3,
    "mean_MOVE_reaction_on_shocks": 0.8,
    "MOVE_zscore_now": -0.4
  },
  "direction_alignment": {
    "MOVE_down_and_VIX_down_ratio": 0.58,
    "MOVE_down_and_CREDIT_down_ratio": 0.55
  }
}

完整輸出結構見 templates/output-json.md。 </output_schema_summary>

<success_criteria> 執行成功時應產出:

  • MOVE vs VIX / Credit 的最佳領先天數與相關係數
  • JGB 衝擊事件數量與 MOVE 平均反應
  • MOVE 當前 Z 分數(恐慌程度)
  • 方向一致性比例
  • 一句話結論與量化證據
  • 視覺化圖表(可選) </success_criteria>

<chrome_cdp_reference>

Chrome CDP 啟動指令

Windows

"C:\Program Files\Google\Chrome\Application\chrome.exe" ^
  --remote-debugging-port=9222 ^
  --remote-allow-origins=* ^
  --user-data-dir="%USERPROFILE%\.chrome-debug-profile" ^
  "https://en.macromicro.me/charts/35584/us-treasury-move-index"

macOS

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --remote-allow-origins=* \
  --user-data-dir="$HOME/.chrome-debug-profile" \
  "https://en.macromicro.me/charts/35584/us-treasury-move-index"

驗證連線

curl -s http://127.0.0.1:9222/json

需要開啟的頁面

  1. MOVE Index: https://en.macromicro.me/charts/35584/us-treasury-move-index
  2. JGB 10Y: https://en.macromicro.me/charts/944/jp-10-year-goverment-bond-yield

</chrome_cdp_reference>

<visualization_reference>

Bloomberg 風格視覺化圖表

本 skill 生成的圖表遵循 thoughts/shared/guide/bloomberg-style-chart-guide.md 規範。

圖表結構(2×3 佈局)

┌──────────────┬─────────────────────────────────┐
│ 交叉相關分析  │ 波動率指標時間序列               │
│   (1,1)      │      (1,2) + (1,3)              │
├──────────────┼─────────────────────────────────┤
│ 事件反應分布  │ 標準化序列(Z 分數)            │
│   (2,1)      │      (2,2) + (2,3)              │
└──────────────┴─────────────────────────────────┘
位置 面板名稱 內容
左上 (1,1) 交叉相關分析 MOVE vs VIX/Credit 的 lead/lag 曲線
左下 (2,1) 事件反應分布 JGB 衝擊時 MOVE 變化直方圖 + 判定結果
右上 (跨2格) 波動率時間序列 MOVE Index + VIX(雙軸)+ 衝擊事件標記
右下 (跨2格) 標準化序列 MOVE/VIX/Credit Z 分數 + 當前 MOVE 標記

配色方案

COLORS = {
    "background": "#1a1a2e",   # 深藍黑色背景
    "primary": "#ff6b35",       # 橙紅色(MOVE)
    "secondary": "#ffaa00",     # 橙黃色(VIX)
    "tertiary": "#ffff00",      # 黃色(Credit)
    "jgb": "#00ff88",           # 綠色(JGB/未恐慌)
    "shock_line": "#ff4444",    # 紅色(衝擊/恐慌)
}

圖表輸出

  • 預設路徑: {專案根目錄}/output/move-leadlag-YYYY-MM-DD.png
  • 解析度: 150 DPI
  • 尺寸: 18×10 英寸
  • 格式: PNG

CLI 參數

# 分析時自動生成 Lead/Lag 綜合圖表
python analyze.py --start 2024-01-01 --end 2026-01-31 --chart

# 生成利率 vs MOVE 恐慌專題圖表(預設 JGB 10Y)
python analyze.py --start 2024-01-01 --end 2026-01-31 --rates-chart

# 指定其他國家債券(如 Bund 10Y)
python analyze.py --start 2024-01-01 --end 2026-01-31 --rates-chart \
  --rates-col BUND10Y --rates-name "Bund 10Y"

# 同時生成兩種圖表
python analyze.py --start 2024-01-01 --end 2026-01-31 --chart --rates-chart

# 單獨生成圖表
python visualize.py --start 2024-01-01 --end 2026-01-31
python visualize_rates_move.py --start 2024-01-01 --end 2026-01-31 --rates-col JGB10Y --rates-name "JGB 10Y"

</visualization_reference>

<rates_move_chart_reference>

利率 vs MOVE 恐慌專題圖表

通用的利率波動率恐慌分析圖表,可帶入任何國家/地區的債券殖利率。

專注於回答:「MOVE 是否對 [指定債券] 殖利率變動感到恐慌?」

支援的債券(需在數據中存在)

參數值 (–rates-col) 顯示名稱 (–rates-name) 說明
JGB10Y “JGB 10Y” 日本 10 年期公債(預設)
UST10Y “UST 10Y” 美國 10 年期公債
BUND10Y “Bund 10Y” 德國 10 年期公債
GILT10Y “Gilt 10Y” 英國 10 年期公債
(自訂) (自訂) 任何在數據中存在的利率欄位

使用範例

# 分析 JGB 10Y vs MOVE(預設)
python analyze.py --start 2024-01-01 --end 2026-01-31 --rates-chart

# 分析 Bund 10Y vs MOVE
python analyze.py --start 2024-01-01 --end 2026-01-31 --rates-chart \
  --rates-col BUND10Y --rates-name "Bund 10Y"

# 獨立生成圖表
python visualize_rates_move.py --start 2024-01-01 --end 2026-01-31 \
  --rates-col JGB10Y --rates-name "JGB 10Y"

圖表結構

┌─────────────────────────────────────────────────┐
│           [利率名稱] vs MOVE 時序圖              │
│           (雙軸對比 + 衝擊事件標記)            │
├───────────────────────┬─────────────────────────┤
│   利率變化 vs MOVE    │     恐慌判定儀表板       │
│   反應散點圖 + 回歸線  │   (統計數據 + 結論)    │
└───────────────────────┴─────────────────────────┘
位置 面板名稱 內容
上方 時序對比 指定利率(綠)+ MOVE(橙)雙軸圖,黃色虛線標記衝擊事件
左下 散點分析 利率變化(bps) vs MOVE 變化,含回歸線與相關係數
右下 判定儀表板 恐慌/未恐慌判定結果、統計數據、解讀說明

配色方案

COLORS = {
    "move": "#ff6b35",          # 橙紅色(MOVE)
    "rates": "#00ff88",         # 綠色(利率)
    "spooked": "#ff4444",       # 紅色(恐慌判定)
    "not_spooked": "#00ff88",   # 綠色(未恐慌判定)
    "shock_marker": "#ffff00",  # 黃色(衝擊事件標記)
}

輸出路徑

  • 預設路徑: {專案根目錄}/output/{rates-name}-move-panic-YYYY-MM-DD.png
  • 範例:output/jgb-10y-move-panic-2026-01-23.png

</rates_move_chart_reference>