detect-atr-squeeze-regime
npx skills add https://github.com/fatfingererr/macro-skills --skill detect-atr-squeeze-regime
Agent 安装分布
Skill 文档
<essential_principles>
å³çµ± ATR æ¯çµå°å¼ï¼å¹æ ¼å®ä½ï¼ï¼ä¸åå¹ä½è³ç¢ç¡æ³æ¯è¼ã å° ATR è½æçºç¾åæ¯ï¼ATR / Close * 100ï¼å¾ï¼
- å¯è·¨è³ç¢æ¯è¼æ³¢å強度
- è½å»ºç«ã常æ åºæºãï¼3 å¹´ç§»ååå¼ï¼
- ç¨ãåçãå¤å®æ¯å¦é²å ¥ç°å¸¸æ³¢åå
ATR% = (14-day EMA of True Range) / Close * 100
Ratio = Current ATR% / 3-year Rolling Mean ATR%
| è¡æ | ATR% æ¢ä»¶ | Ratio æ¢ä»¶ | å¸å ´ç¹å¾µ |
|---|---|---|---|
orderly_market |
常æ åé | < 1.2 | æè¡ä½ææãåæç²¾æºã趨å¢è¿½è¹¤å¯é |
elevated_volatility_trend |
åé« | 1.2 – 2.0 | æè¡ä½æ¸æã鿾坬åæã仿æ¹åæ§ |
volatility_dominated_squeeze |
>= 髿³¢é檻 | >= 2.0 | æè¡ä½å¤±éãåæé »è¢«æãå身æ§ä¸»å° |
æ å£è¡æ çå¤å®éè¦åææ»¿è¶³ï¼
- ATR% >=
high_vol_threshold_pctï¼é è¨ 6%ï¼ - Ratio >=
spike_threshold_xï¼é è¨ 2.0ï¼
ç¶é²å
¥ volatility_dominated_squeeze è¡æ
ï¼
广 ¼éå被ã被迫æµã主å°ï¼
- ä¿èéèª¿æ´ / æ§æ¡¿å»å
- ææ¬ Delta/Gamma é¿éª
- 空é åè£
- 被å風éªå¹³å¹å平衡
æè¡ä½å¯é 度ä¸éï¼
- çªç ´/è·ç ´æ´å¸¸æ¯æµåæ§è風æ§è§¸ç¼ççµæ
- ä¸ä»£è¡¨åºæ¬é¢æ¹è®æè¶¨å¢ç¢ºèª
åæèå¼±æ§ï¼
- åä¸å£æ³¢å坿éå¤å±¤ stops
- 使é尺度ç conviction tradingãçµæ§æ§åæã
- å®è§çå°ä¹é£æï¼çæéè¨å¤§å°è¶³ä»¥è®æ¹åæ£ç¢ºçé¨ä½å è¢«æ´æ
ç¶åµæ¸¬å°æ å£è¡æ æï¼
| 調æ´é ç® | ç§©åºå¸å ´ | æ å£è¡æ |
|---|---|---|
| åæåæ¸ | 1.0-1.5 ATR | 2.0-3.0 ATR |
| åä½ç¸®æ¾ | æ£å¸¸ | éè³ 1/ATR% |
| æéæ¡æ¶ | æ¥å §/çç· | åæå°è¼é·é±æ |
| å·¥å ·é¸æ | 裸åä½ | ææ¬/å¹å·®çµæ§ |
| æè¡ä½ä¿¡ä»» | é« | ä½ï¼è¦çºéè¨ï¼ |
</essential_principles>
- è¨ç® ATR%ï¼14 æ¥ EMA å¹³æ»ççå¯¦æ³¢å¹ ç¾åæ¯
- 建ç«åºæºï¼3 年滾ååå¼ä½çºã常æ ãåç §
- å¤å®è¡æ ï¼æ¯è¼ç¶åå¼èåºæºçåç
- 輸åºå»ºè°ï¼åæèª¿æ´ãåä½ç¸®æ¾ãæè¡ä½ä¿¡ä»»åº¦
輸åºï¼è¡æ å¤å®ãATR% æ¸å¼ãåçã坿ä½ç風æ§å»ºè°ã
<quick_start>
æå¿«çæ¹å¼ï¼åµæ¸¬ç½éï¼SI=Fï¼
cd skills/detect-atr-squeeze-regime
pip install pandas numpy yfinance pandas_ta # 馿¬¡ä½¿ç¨
python scripts/atr_squeeze.py --symbol SI=F --quick
輸åºç¯ä¾ï¼
{
"symbol": "SI=F",
"as_of": "2026-01-14",
"regime": "volatility_dominated_squeeze",
"atr_pct": 7.23,
"atr_ratio_to_baseline": 2.41,
"tech_level_reliability": "low",
"tech_level_reliability_score": 28,
"suggested_stop_atr_mult": 2.5,
"position_scale": 0.41
}
宿´åæï¼
python scripts/atr_squeeze.py --symbol XAGUSD --start 2020-01-01 --end 2026-01-01 --output result.json
çæè¦è¦ºåå表ç¤ï¼
pip install matplotlib # 馿¬¡ä½¿ç¨
python scripts/plot_atr_squeeze.py --symbol SI=F --output output/
å表ç¤å å«ï¼
- 广 ¼èµ°å¢å
- ATR% æ³¢åçæéåºå
- ATR åçå表ç¤
- ç¶åçæ è風æ§å»ºè°é¢æ¿
</quick_start>
- å¿«é嵿¸¬ – 檢æ¥å®ä¸è³ç¢çç¶åè¡æ çæ
- å¤è³ç¢ææ – ææå¤åè³ç¢å°æ¾æ å£è¡æ
- æ·å²å測 – åæº¯èå¥éå»çæ 壿é
- æçºç£æ§ – è¨å®è¦å ±ç¶è¡æ åææéç¥
- æ¹æ³è«å¸ç¿ – äºè§£ ATR æ å£è¡æ ççè«åºç¤
è«é¸ææç´æ¥æä¾è³ç¢ä»£ç¢¼éå§åæã
è·¯ç±å¾ï¼é±è®å°ææä»¶ä¸¦å·è¡ã
<directory_structure>
detect-atr-squeeze-regime/
âââ SKILL.md # æ¬æä»¶ï¼è·¯ç±å¨ï¼
âââ skill.yaml # å端å±ç¤ºå
æ¸æ
âââ manifest.json # æè½å
æ¸æ
âââ workflows/
â âââ detect.md # å®è³ç¢åµæ¸¬å·¥ä½æµ
â âââ monitor.md # å¤è³ç¢ç£æ§å·¥ä½æµ
â âââ backtest.md # æ·å²åæ¸¬å·¥ä½æµ
âââ references/
â âââ methodology.md # ATR æ å£è¡æ
æ¹æ³è«
â âââ input-schema.md # 宿´è¼¸å
¥åæ¸å®ç¾©
â âââ data-sources.md # è³æä¾æºèªªæ
âââ templates/
â âââ output-json.md # JSON è¼¸åºæ¨¡æ¿
â âââ output-markdown.md # Markdown å ±åæ¨¡æ¿
âââ scripts/
â âââ atr_squeeze.py # 䏻嵿¸¬è
³æ¬
â âââ plot_atr_squeeze.py # è¦è¦ºåå表ç¤è
³æ¬
âââ examples/
âââ xagusd-squeeze-2024.json # ç¯ä¾è¼¸åº
</directory_structure>
<reference_index>
æ¹æ³è«: references/methodology.md
- ATR% æ¨æºååç
- ä¸è¡æ åé¡é輯
- åèº«æ§æ©å¶è§£è®
- Ole Hansen ç½éæ 壿¡ä¾
è³æä¾æº: references/data-sources.md
- Yahoo Finance æè²¨ä»£ç¢¼
- Stooq æ¿ä»£ä¾æº
- æ¸æé »çèå°é½
è¼¸å ¥åæ¸: references/input-schema.md
- 宿´åæ¸å®ç¾©
- é è¨å¼è建è°ç¯å
</reference_index>
<workflows_index>
| Workflow | Purpose | ä½¿ç¨ææ© |
|---|---|---|
| detect.md | å®è³ç¢åµæ¸¬ | éè¦æª¢æ¥ç¹å®è³ç¢ |
| monitor.md | å¤è³ç¢ç£æ§ | æ¥å¸¸æææè¦å ± |
| backtest.md | æ·å²å測 | é©èè奿ºç¢ºæ§ |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON 輸åºçµæ§å®ç¾© |
| output-markdown.md | Markdown å ±åæ¨¡æ¿ |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| atr_squeeze.py | --symbol SI=F --quick |
å¿«éæª¢æ¥ç¶åçæ |
| atr_squeeze.py | --symbol SI=F --start DATE |
宿´æ·å²åæ |
| atr_squeeze.py | --scan SI=F,GC=F,CL=F |
å¤è³ç¢ææ |
| plot_atr_squeeze.py | --symbol SI=F --output output/ |
çæè¦è¦ºååè¡¨ç¤ |
| </scripts_index> |
<input_schema_summary>
æ ¸å¿åæ¸
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| symbol | string | (required) | è³ç¢ä»£ç¢¼ |
| start_date | string | today-5y | 忍£éå§æ¥ |
| end_date | string | today | 忍£çµææ¥ |
| timeframe | string | 1d | 广 ¼é »ç |
ATR 忏
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| atr_period | int | 14 | ATR 鱿 |
| atr_smoothing | string | ema | å¹³æ»æ³ï¼ema/wilderï¼ |
| use_percent_atr | bool | true | æ¯å¦è½çºç¾åæ¯ |
è¡æ å¤å®åæ¸
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| baseline_window_days | int | 756 | é·æåºæºçªå£ï¼ç´ 3 å¹´ï¼ |
| spike_threshold_x | number | 2.0 | åçéæª» |
| high_vol_threshold_pct | number | 6.0 | çµå° ATR% 髿³¢åéæª» |
宿´åæ¸å®ç¾©è¦ references/input-schema.mdã
</input_schema_summary>
<output_schema_summary>
{
"skill": "detect-atr-squeeze-regime",
"symbol": "SI=F",
"as_of": "2026-01-14",
"regime": "volatility_dominated_squeeze",
"atr_pct": 7.23,
"atr_ratio_to_baseline": 2.41,
"baseline_atr_pct": 3.0,
"tech_level_reliability": "low",
"tech_level_reliability_score": 28,
"risk_adjustments": {
"suggested_stop_atr_mult": 2.5,
"position_scale": 0.41,
"recommended_timeframe": "weekly",
"instrument_suggestion": "options_or_spreads"
},
"interpretation": {
"regime_explanation": "...",
"tactics": ["...", "..."]
}
}
宿´è¼¸åºçµæ§è¦ templates/output-json.mdã
</output_schema_summary>
<success_criteria> å·è¡æåææç¢åºï¼
- ç¶åè¡æ å¤å®ï¼orderly / elevated / squeezeï¼
- ATR% æ¸å¼èå°åºæºçåç
- æè¡ä½å¯é 度è©åï¼0-100ï¼
- 建è°åæåæ¸
- 建è°åä½ç¸®æ¾ä¿æ¸
- è¡æ è§£éèæ°è¡å»ºè°
- æéåºåè³æï¼å¯é¸ï¼ç¨æ¼è¦è¦ºåï¼
- è¦è¦ºååè¡¨ç¤ PNGï¼å¯é¸ï¼ä½¿ç¨ plot_atr_squeeze.pyï¼ </success_criteria>