---
name: analyze-rolex-market-index-liquidity-proxy
description: 用勞力士市場指數(WatchCharts Rolex Market Index)作為高 β 的風險偏好/流動性代理,判讀「流動性改善但未到投機狂熱」的狀態
---
**以勞力士指數分析流動性投機程度 核心原則**
**勞力士市場指數是全球流動性與財富效應的高 β 代理**
勞力士二級市場價格對流動性環境極為敏感。當全球流動性擴張時,勞力士二手錶價格率先上漲;當流動性收縮時,也率先下跌。其波動幅度(β)遠高於傳統金融資產,是觀察流動性週期的敏感指標。
**區分「緩慢磨高」與「投機狂熱」**
- **Grinding Higher(緩慢磨高)**:斜率為正、價格在均線之上、但距離歷史峰值仍遠。代表流動性改善的早中期階段。
- **Speculative Fever(投機狂熱)**:z-score 極端(≥2.0)、實質利率為負或大幅下行、流動性加速擴張。代表 2021/22 式的泡沫頂部。
**Fed 淨流動性公式**
```
Net Liquidity ≈ WALCL − RRPONTSYD − WTREGEN
```
- WALCL:Fed 資產負債表總資產
- RRPONTSYD:隔夜逆回購(ON RRP)
- WTREGEN:美國財政部一般帳戶(TGA)
淨流動性上升 → 金融體系實際可用資金增加 → 風險資產與勞力士二級市場受益
**實質利率區間決定 β 強度**
在不同 DFII10(10Y TIPS 實質利率)區間下,勞力士市場指數對流動性的敏感度不同:
- DFII10 < 0(負實質利率):高 β,最容易出現投機狂熱
- DFII10 ≈ 0~1%(接近零):中 β,改善中但未到狂熱
- DFII10 > 1.5%(正高檔):低 β,流動性改善效果被高利率壓制
**數據可重現性優先**
勞力士市場指數透過 Chrome CDP 自動從 WatchCharts 頁面抓取,本地快取 TTL 24 小時。FRED 數據(DFII10、WALCL、RRPONTSYD、WTREGEN)透過公開 CSV endpoint 取得,確保完全可重現。
**分析目標**
以勞力士市場指數為核心,對照 Fed 淨流動性與實質利率,完成以下判斷:
1. **確認參數**:時間範圍、頻率、流動性模型
2. **取得數據**:從 FRED 取得流動性與利率數據,透過 CDP 抓取勞力士市場指數
3. **計算指標**:z-score、滾動斜率、滾動 β、距峰值距離
4. **判讀狀態**:grinding_higher(緩慢磨高)或 speculative_fever(投機狂熱)
5. **產出報告**:結構化 JSON + Markdown 摘要
6. **提供建議**:下一步監控重點與交叉驗證方向
**快速開始**
```bash
# 1. 安裝依賴
pip install pandas numpy requests websocket-client matplotlib
# 2. 啟動 Chrome 調試模式並開啟 WatchCharts 頁面
# Windows:
# "C:\Program Files\Google\Chrome\Application\chrome.exe" ^
# --remote-debugging-port=9222 ^
# --remote-allow-origins=* ^
# --user-data-dir="%USERPROFILE%\.chrome-debug-profile" ^
# "https://watchcharts.com/watches/brand_index/rolex"
#
# macOS:
# /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
# --remote-debugging-port=9222 \
# --remote-allow-origins=* \
# --user-data-dir="$HOME/.chrome-debug-profile" \
# "https://watchcharts.com/watches/brand_index/rolex"
# 3. 等待頁面完全載入(圖表顯示),然後執行分析
python scripts/rolex_market_index_analyzer.py \
--start-date 2019-01-01 \
--end-date 2026-01-29 \
--freq W \
--liquidity-model fed_net_liquidity \
--cdp-port 9222 \
--output result.json
```
**您想要分析什麼?**
1. **完整分析** - 從數據取得到狀態判讀的完整流程(推薦)
2. **僅取得數據** - 只取得 FRED 數據與透過 CDP 抓取勞力士市場指數
3. **僅計算指標** - 假設數據已備妥,直接計算所有指標
4. **僅判讀狀態** - 假設指標已計算,判讀 grinding/fever 狀態
**等待回應後再繼續。**
| Response | Workflow | Description |
|----------------------------------|----------------------|-------------------------------------|
| 1, "完整分析", "full", "analyze" | workflows/analyze.md | 完整的端到端分析流程 |
| 2, "取得數據", "fetch", "data" | workflows/analyze.md | 執行 Step 1~2(數據取得與載入) |
| 3, "計算指標", "compute" | workflows/analyze.md | 執行 Step 3~4(指標計算與狀態判讀) |
| 4, "判讀狀態", "interpret" | workflows/analyze.md | 執行 Step 4~5(狀態判讀與報告產出) |
**讀取工作流程後,請完全遵循其步驟。**
```
skills/analyze-rolex-market-index-liquidity-proxy/
├── SKILL.md # 本檔案(路由與核心原則)
├── skill.yaml # 前端展示設定
├── manifest.json # 技能元資料
├── workflows/
│ └── analyze.md # 主要分析工作流(6 步驟)
├── references/
│ ├── methodology.md # 方法論(公式、規則、判讀邏輯)
│ ├── input-schema.md # 輸入參數定義
│ └── data-sources.md # 數據來源文檔
├── templates/
│ ├── output-json.md # JSON 輸出模板
│ └── output-markdown.md # Markdown 報告模板
├── scripts/
│ ├── fetch_rolex_index.py # CDP 爬蟲(WatchCharts Rolex Index)
│ ├── rolex_market_index_analyzer.py # 主要分析腳本
│ └── rolex_market_index_plotter.py # 視覺化腳本(選配)
└── examples/
└── sample-output.json # 範例輸出
```
**參考文件** (`references/`)
| 文件 | 內容 |
|-----------------|------------------------------------------------------------|
| methodology.md | 方法論:z-score、滾動斜率、滾動 β、grinding/fever 判讀規則 |
| input-schema.md | 所有輸入參數的定義、型別、預設值、可選值 |
| data-sources.md | FRED 系列代碼、WatchCharts CDP 抓取、fallback 方案 |
| Workflow | Purpose |
|------------|---------------------------------------------------------------------------|
| analyze.md | 完整分析流程(6 步驟:確認參數→取得數據→計算指標→判讀狀態→產出報告→建議) |
| Template | Purpose |
|--------------------|-------------------------------------------------------------------|
| output-json.md | 結構化 JSON 輸出模板(含 summary、metrics、signals、diagnostics) |
| output-markdown.md | Markdown 報告模板(含 TL;DR、依據、風險、下一步) |
| Script | Purpose |
|--------------------------------|------------------------------------------------------------------|
| fetch_rolex_index.py | CDP 爬蟲:從 WatchCharts 自動抓取 Rolex Market Index |
| rolex_market_index_analyzer.py | 主要分析腳本:FRED 數據取得、CDP 抓取、指標計算、狀態判讀 |
| rolex_market_index_plotter.py | 視覺化腳本:雙軸圖(勞力士市場指數 vs 淨流動性)、z-score 熱力圖 |
**執行範例:**
```bash
# 完整分析(需先啟動 Chrome 調試模式並開啟 WatchCharts 頁面)
python scripts/rolex_market_index_analyzer.py \
--start-date 2019-01-01 \
--end-date 2026-01-29 \
--freq W \
--liquidity-model fed_net_liquidity \
--cdp-port 9222 \
--output result.json
# 視覺化(選配)
python scripts/rolex_market_index_plotter.py \
--input result.json \
--output-dir output/
```
**輸入參數摘要**
| 參數 | 型別 | 必要 | 預設值 | 說明 |
|--------------------|---------|------|---------------------|--------------------------|
| start_date | string | ✅ | - | 分析起始日(YYYY-MM-DD) |
| end_date | string | ✅ | - | 分析結束日(YYYY-MM-DD) |
| frequency | string | ❌ | "W" | 頻率:D/W/M |
| liquidity_scope | string | ❌ | "US" | US 或 GLOBAL |
| include_real_yield | boolean | ❌ | true | 是否加入 DFII10 |
| real_yield_series | string | ❌ | "DFII10" | FRED 實質利率代號 |
| liquidity_model | string | ❌ | "fed_net_liquidity" | 流動性模型 |
| benchmark_assets | array | ❌ | [] | 參考資產代號 |
| fever_threshold_z | number | ❌ | 2.0 | 投機狂熱 z-score 閾值 |
| grind_window | int | ❌ | 13 | 斜率/均線滾動窗口 |
完整定義請見 `references/input-schema.md`。
**輸出結構摘要**
```json
{
"skill": "analyze_veblen_goods_liquidity_proxy",
"inputs": { "..." },
"summary": {
"state": "grinding_higher | speculative_fever | neutral | declining",
"interpretation": ["..."]
},
"metrics": {
"latest_index": 28400,
"pct_below_peak": -0.33,
"grind_slope": 12.4,
"rolex_zscore": 0.6,
"dfii10_level": 1.9,
"net_liquidity_change": 2.1e10,
"rolling_beta_vs_net_liquidity": 1.8
},
"signals": {
"grinding_higher": true,
"speculative_fever": false
},
"diagnostics": { "..." }
}
```
完整模板請見 `templates/output-json.md`。
Skill 成功執行時:
- [ ] FRED 數據(DFII10、WALCL、RRPONTSYD、WTREGEN)成功取得
- [ ] WatchCharts Rolex Market Index CDP 自動抓取成功且缺值比例 < 5%
- [ ] 所有頻率對齊完成(resample + forward-fill)
- [ ] z-score、滾動斜率、滾動 β 計算完成
- [ ] grinding_higher / speculative_fever 狀態判讀完成
- [ ] JSON 輸出包含 summary、metrics、signals、diagnostics
- [ ] Markdown 報告包含 TL;DR、依據、風險、下一步
- [ ] 距峰值百分比(pct_below_peak)正確反映當前位置