analyze-rolex-market-index-liquidity-proxy
npx skills add https://github.com/fatfingererr/macro-skills --skill analyze-rolex-market-index-liquidity-proxy
Agent 安装分布
Skill 文档
<essential_principles> 以ååå£«ææ¸åææµåæ§ææ©ç¨åº¦ æ ¸å¿åå
æ·¨æµåæ§ä¸å â éèé«ç³»å¯¦éå¯ç¨è³éå¢å â 風éªè³ç¢èåå士äºç´å¸å ´åç
以åå士å¸å ´ææ¸çºæ ¸å¿ï¼å°ç § Fed æ·¨æµåæ§è實質å©çï¼å®æä»¥ä¸å¤æ·ï¼
- 確èªåæ¸ï¼æéç¯åãé »çãæµåæ§æ¨¡å
- å徿¸æï¼å¾ FRED å徿µåæ§èå©çæ¸æï¼éé CDP æååå士å¸å ´ææ¸
- è¨ç®ææ¨ï¼z-scoreãæ»¾åæçãæ»¾å βãè·å³°å¼è·é¢
- å¤è®çæ ï¼grinding_higherï¼ç·©æ ¢ç£¨é«ï¼æ speculative_feverï¼ææ©çç±ï¼
- ç¢åºå ±åï¼çµæ§å JSON + Markdown æè¦
- æä¾å»ºè°ï¼ä¸ä¸æ¥ç£æ§éé»è交åé©èæ¹å
<quick_start> å¿«ééå§
# 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
</quick_start>
- 宿´åæ – 徿¸æåå¾å°çæ å¤è®ç宿´æµç¨ï¼æ¨è¦ï¼
- å å徿¸æ – åªåå¾ FRED æ¸æèéé CDP æååå士å¸å ´ææ¸
- å è¨ç®ææ¨ – åè¨æ¸æå·²å妥ï¼ç´æ¥è¨ç®ææææ¨
- å å¤è®çæ – åè¨ææ¨å·²è¨ç®ï¼å¤è® grinding/fever çæ
çå¾ åæå¾åç¹¼çºã
è®å工使µç¨å¾ï¼è«å®å ¨éµå¾ªå ¶æ¥é©ã
<directory_structure>
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 # ç¯ä¾è¼¸åº
</directory_structure>
<reference_index>
åèæä»¶ (references/)
| æä»¶ | å §å®¹ |
|---|---|
| methodology.md | æ¹æ³è«ï¼z-scoreãæ»¾åæçãæ»¾å βãgrinding/fever å¤è®è¦å |
| input-schema.md | ææè¼¸å ¥åæ¸çå®ç¾©ãåå¥ãé è¨å¼ãå¯é¸å¼ |
| data-sources.md | FRED ç³»å代碼ãWatchCharts CDP æåãfallback æ¹æ¡ |
| </reference_index> |
<workflows_index>
| Workflow | Purpose |
|---|---|
| analyze.md | 宿´åææµç¨ï¼6 æ¥é©ï¼ç¢ºèªåæ¸âå徿¸æâè¨ç®ææ¨âå¤è®çæ âç¢åºå ±åâ建è°ï¼ |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | çµæ§å JSON è¼¸åºæ¨¡æ¿ï¼å« summaryãmetricsãsignalsãdiagnosticsï¼ |
| output-markdown.md | Markdown å ±åæ¨¡æ¿ï¼å« TL;DRã便ã風éªãä¸ä¸æ¥ï¼ |
| </templates_index> |
<scripts_index>
| 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 ç±åå |
å·è¡ç¯ä¾ï¼
# 宿´åæï¼éå
åå 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/
</scripts_index>
<input_schema_summary> è¼¸å ¥åæ¸æè¦
| 忏 | åå¥ | å¿ è¦ | é è¨å¼ | 說æ |
|---|---|---|---|---|
| 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ã
</input_schema_summary>
<output_schema_summary> 輸åºçµæ§æè¦
{
"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ã
</output_schema_summary>
<success_criteria> 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ï¼æ£ç¢ºåæ ç¶åä½ç½® </success_criteria>