---
name: analyze-retail-inverse-etf-allocation
description: 以槓桿反向 ETF(做空)相對槓桿正向 ETF(做多)的交易占比,作為散戶風險偏好代理指標,評估 SPX 後續下行風險。
---
**散戶槓桿反向 ETF 做空配置分析 核心原則**
**以美元成交量比率作為散戶做空配置代理**
槓桿 ETF 交易以短線散戶為主,反向群組(SPXU/SDS/SH)的美元成交量占比越低,代表散戶避險/看空參與度越低,市場越自滿(complacency)。公式:`short_alloc = inv_dollar_vol / (inv_dollar_vol + long_dollar_vol)`。
**分位數標準化**
將做空配置比率以滾動分位數標準化(預設回看 260 週 ≈ 5 年),轉為 0~1 的分位數。分位數 ≤ 5% 為「極低做空配置」觸發條件,代表自滿程度極高。
**事件研究與前瞻風險評估**
找出歷史上做空配置極低的事件日期,計算每次事件後的前瞻報酬、最大回撤、波動率。彙總命中率(如 63 天內最大回撤 ≤ -8% 的比例)與中位數風險,作為當前風險分布的參考。
**歷史類比匹配**
取最近 N 次(預設 4 次)歷史觸發事件作為類比案例,比較當前狀態與歷史情境的相似度,評估前瞻下行風險的一致性。
**風險分布訊號,非精準擇時**
此指標反映「散戶自滿程度偏高時,下行風險的條件分布偏差」,不是精準的頂部擇時工具。結論必須附帶 caveat:proxy 可能混入機構對沖/做市流量。
**資料透明度**
所有資料來源為公開市場行情(Yahoo Finance),使用美元成交量(Close × Volume)重建。若使用 AUM proxy 需額外資料。明確標示資料覆蓋率與 ETF 上市日期限制。
**目標**:量化散戶透過槓桿反向 ETF 的做空參與度,偵測「自滿」極端值,並以事件研究法評估 SPX 後續下行風險。
**步驟**:
1. 下載反向/正向槓桿 ETF 與基準指數的 OHLCV 資料
2. 計算美元成交量比率(或 AUM proxy)作為做空配置指標
3. 以滾動分位數標準化,偵測極低做空配置事件
4. 找出歷史類比事件,計算前瞻風險統計
5. 產生結論與圖表
**不適用情境**:
- 非美股市場(ETF 標的不同)
- 極短期日內交易擇時
- 機構級避險策略監控(本指標偏散戶行為)
**快速開始**
```bash
# 安裝依賴
pip install yfinance pandas numpy matplotlib
# 完整分析(預設參數)
python scripts/inverse_etf_analyzer.py --start 2012-01-01 --end 2026-02-01
# 快速檢查當前狀態
python scripts/inverse_etf_analyzer.py --start 2012-01-01 --end 2026-02-01 --quick
# 自訂 ETF 清單
python scripts/inverse_etf_analyzer.py --start 2012-01-01 --end 2026-02-01 \
--inverse SPXU SDS SH --long UPRO SSO SPY
```
**您想要執行什麼分析?**
1. **完整分析** - 計算做空配置比率、偵測極端值、事件研究、前瞻風險統計
2. **視覺化** - 產生 SPX + 做空配置 + 事件標記圖表
3. **歷史事件對照** - 列出歷史上做空配置極低的事件及後續市場表現
4. **快速檢查** - 僅查看當前做空配置狀態與分位數
**等待回應後再繼續。**
| Response | Workflow | Description |
|---------------------------------------|-----------------------------------|------------------------------------------|
| 1, "完整分析", "full", "analyze" | workflows/analyze.md | 完整分析流程:資料→指標→事件→風險→結論 |
| 2, "視覺化", "chart", "visualize" | workflows/visualize.md | 產生圖表:SPX + 做空配置 + 事件標記 |
| 3, "歷史", "episodes", "history" | workflows/historical-episodes.md | 歷史事件對照與前瞻表現統計 |
| 4, "快速", "quick", "check" | workflows/analyze.md | 快速模式:僅當前狀態 |
**讀取工作流程後,請完全遵循其步驟。**
**參考文件** (`references/`)
| 文件 | 內容 |
|------|------|
| methodology.md | 做空配置比率計算方法、分位數標準化、事件研究框架 |
| data-sources.md | 資料來源說明(Yahoo Finance ETF OHLCV)、fallback、授權 |
| input-schema.md | 所有輸入參數定義、型別、預設值、驗證規則 |
| Workflow | Purpose |
|----------|---------|
| analyze.md | 完整分析工作流(資料取得→指標計算→事件偵測→風險統計→結論生成) |
| visualize.md | 圖表生成工作流(SPX + 做空配置雙軸圖 + 事件垂直線) |
| historical-episodes.md | 歷史事件對照工作流(列出過去觸發事件與後續表現) |
| Template | Purpose |
|----------|---------|
| output-json.md | JSON 輸出模板(程式/儀表板消費) |
| output-markdown.md | Markdown 輸出模板(人類閱讀/社群分享) |
| Script | Purpose |
|--------|---------|
| inverse_etf_analyzer.py | 主分析腳本:資料取得、指標計算、事件偵測、風險統計 |
| visualize_allocation.py | 視覺化腳本:雙軸圖表生成 |
Skill 成功執行時:
- [ ] 成功下載所有指定 ETF 的 OHLCV 資料
- [ ] 計算出做空配置比率(short_alloc)與分位數
- [ ] 偵測出歷史觸發事件(若存在)
- [ ] 計算每次事件的前瞻風險統計
- [ ] 產生 JSON + Markdown 結論輸出
- [ ] 結論包含 caveat(風險分布訊號,非擇時工具)
**範例輸出** (`examples/`)
| 文件 | 內容 |
|------|------|
| sample_output.json | 完整分析的 JSON 範例輸出 |