detect-fed-unamortized-discount-pattern
npx skills add https://github.com/fatfingererr/macro-skills --skill detect-fed-unamortized-discount-pattern
Agent 安装分布
Skill 文档
<essential_principles>
æ ¸å¿èªç¥ï¼æãèç¼é¡æ¯ãè½æå¯éåçãå½¢çæ¯å°ãï¼ä½ãåãä¸çæ¼ãæç¼çãï¼
- ç¸éä¿æ¸ (corr)ï¼è¿æçªå£ vs. åºæºçªå£çç·æ§å½¢çç¸ä¼¼
- åæ æéæ ¡æ£ (DTW)ï¼å 許ãå¿«ä¸é»/æ ¢ä¸é»ãä½å½¢çç¸ä¼¼
- å½¢çç¹å¾µ (shape_features)ï¼è¶¨å¢æçãæé»çµæ§ãæ³¢åæ´å¼µ
輸åºãpattern_similarity_scoreãåªåçãåä¸åãï¼ä¸åçãæä¸æç¼çãã
æãå½¢çç¸ä¼¼ãèãå£åé©èãæéï¼
- pattern_similarity_scoreï¼åªæ¸¬éå½¢çç¸ä¼¼åº¦
- stress_confirmation_scoreï¼æ¸¬é交åé©èææ¨æ¯å¦åæ¥æ¡å
- composite_risk_scoreï¼å æ¬åæï¼ä½å¿ é éä¸ãåªäºææ¨æ¯æ/åå°ã
åç´è¦ºæª¢æ¥ï¼
- è¥ç¸ä¼¼åº¦å¾é«ï¼ä½äº¤åé©èææ¨æ²æå£åè¨è â å¯è½åªæ¯å©ç/ææçµæ§/æè¨æ¤é·é æçåå½¢ç¸ä¼¼
- è¥ç¸ä¼¼åº¦ä¸çï¼ä½å¤æ¸å£åææ¨åæ¥æ¡å â åèè¦æé«è¦è¦º
WUDSHOï¼Unamortized Discountsï¼æå ï¼
- è¯æºæè³¼è²·åµå¸æï¼è¥è²·å ¥å¹ä½æ¼é¢å¼ï¼å·®é¡è¨çºãæªæ¤é·æå¹ã
- å©çä¸åæï¼å¸å¹ä¸è· â è³¼å ¥åµå¸æå¹å¢å â WUDSHO ä¸å
- å©çä¸éæï¼å¸å¹ä¸å â è³¼å ¥åµå¸æº¢å¹å¢å â WUDSHO ä¸é
éè¦ï¼WUDSHO è®åå¯è½åæ ï¼
- å©çç°å¢è®åï¼æå¸¸è¦ï¼
- ææåµå¸ä¹ æçµæ§
- æè¨æ¤é·æç¨
- çæ£çéèå£åï¼é交åé©èæè½ç¢ºèªï¼
社群常è¦çãå形顿¯æäºãå¾å¾ç¼ºä¹åèï¼
- âã鿢ç·è¤è£½ COVIDï¼60 å¤©å §é»å¤©éµãâ åªæé¡æ¯ï¼æ²æé©è
- â æ¬æè½è¼¸åºï¼ãå½¢çç¸ä¼¼åº¦ 0.88ï¼ä½ä¿¡ç¨å©å·®ä¸æ§ãè¡å¸æ³¢ååä½ â 䏿¯æç³»çµ±æ§å£åå說ã
å¿ é 輸åºçåèé ç®ï¼
- ãå½¢çç¸ä¼¼ãçæ¿ä»£è§£éï¼å©çææãæè¨ææï¼
- ãå£åææ¨ãçç¾æ³ï¼æ¯æ/åå°é¢¨éªå說ï¼
- ãæ·å²å¾çºãçæ¢ä»¶åå¸ï¼ä¸æ¯é 測ï¼
æ¬æè½ä½¿ç¨ FRED å ¬éé±è³æï¼
- WUDSHO: Fed ææèå¸çæªæ¤é·æå¹
- 交åé©èææ¨ï¼ä¿¡ç¨å©å·®ãæ³¢åçãç端å©å·®ç
å¿ é æé²ï¼
- FRED é±è³æå¯è½æ T+1 ~ T+3 å»¶é²
- é¨åææ¨ï¼å¦çªå£å·¥å ·ç¨éï¼éè¦æ¿ä»£ä»£ç
- å½¢çæ¯å°çµæå resample é »çå½±é¿
</essential_principles>
- åå¾ç®æ¨åºåï¼å¾ FRED åå¾ WUDSHOï¼ææå®åºåï¼çé±è³æ
- çªå£æ¯å°ï¼å°è¿æçªå£èæ·å²åºæºçªå£ï¼å¦ COVID 2020ï¼åå½¢çæ¯å°
- ç¸ä¼¼åº¦è¨ç®ï¼ä½¿ç¨ç¸éä¿æ¸ãDTWãå½¢çç¹å¾µçå¤ç¨®æ¹æ³
- 交åé©èï¼æª¢æ¥ä¿¡ç¨å©å·®ãæ³¢åçãæµåæ§ææ¨æ¯å¦åæ¥æ¡å
- 風éªåæ¸åæï¼è¼¸åºå¯éåç風éªåæ¸èåèåæ
- æ 墿äºï¼æè¿°æ·å²é¡æ¯å¾çºç¼å±ï¼éé æ¸¬ï¼
輸åºï¼å½¢çç¸ä¼¼åº¦ãå£åé©è忏ãåæé¢¨éªåæ¸ãåèåæãæ 墿¨æ¼ã
<quick_start>
æå¿«çæ¹å¼ï¼å·è¡å®æ´åæ
cd skills/detect-fed-unamortized-discount-pattern
pip install pandas numpy requests scipy matplotlib # 馿¬¡ä½¿ç¨
python scripts/pattern_detector.py --quick
輸åºï¼
output/pattern_analysis_YYYY-MM-DD.json– JSON çµæ
宿´åæï¼æå®åæ¸ï¼ï¼
python scripts/pattern_detector.py \
--target_series WUDSHO \
--baseline_windows "COVID_2020:2020-01-01:2020-06-30" \
--recent_window_days 120 \
--output result.json
Bloomberg é¢¨æ ¼è¦è¦ºåï¼è¼¸åºè³å°æ¡æ ¹ç®é output/ï¼ï¼
python scripts/visualize_pattern.py
使ç¨ç¾æåæçµæçæå表ï¼
python scripts/visualize_pattern.py --json output/pattern_analysis_YYYY-MM-DD.json
輸åºå表ï¼
output/fed_unamortized_discount_pattern_YYYY-MM-DD.png– å½¢çæ¯å°èå£åå表æ¿output/fed_unamortized_discount_history_YYYY-MM-DD.png– æ·å²èµ°å¢ç¸½è¦½
</quick_start>
- å¿«éæª¢æ¥ï¼æ¨è¦ï¼ – æ¥çç®åçå½¢çç¸ä¼¼åº¦èå£å忏
- 宿´åæ – å·è¡å®æ´çå½¢çæ¯å°è交åé©è
- è¦è¦ºååæ – çæå½¢çæ¯å°å表
- æ·å²äºä»¶å°ç § – æ·±å ¥äºè§£æ·å²åºæºçªå£çå¾çºç¼å±
- æ¹æ³è«å¸ç¿ – äºè§£å½¢çæ¯å°è交åé©èçé輯
- èªè¨åæ¸ – æå®åºåãçªå£ãéæª»ç忏
è«é¸ææç´æ¥æä¾åæåæ¸ã
è·¯ç±å¾ï¼é±è®å°ææä»¶ä¸¦å·è¡ã
<directory_structure>
detect-fed-unamortized-discount-pattern/
âââ SKILL.md # æ¬æä»¶ï¼è·¯ç±å¨ï¼
âââ skill.yaml # å端å±ç¤ºå
æ¸æ
âââ manifest.json # æè½å
æ¸æ
âââ workflows/
â âââ execute-analysis.md # 宿´åæå·¥ä½æµ
â âââ visualize-analysis.md # è¦è¦ºååæå·¥ä½æµ
â âââ historical-episodes.md # æ·å²äºä»¶å°ç
§å·¥ä½æµ
âââ references/
â âââ methodology.md # å½¢çæ¯å°è交åé©èæ¹æ³è«
â âââ data-sources.md # è³æä¾æºè FRED ç³»å代碼
â âââ wudsho-mechanism.md # WUDSHO ææ¨æ©å¶èªªæ
â âââ input-schema.md # 宿´è¼¸å
¥åæ¸å®ç¾©
âââ templates/
â âââ output-json.md # JSON è¼¸åºæ¨¡æ¿
â âââ output-markdown.md # Markdown å ±åæ¨¡æ¿
âââ scripts/
â âââ pattern_detector.py # 主åæè
³æ¬
â âââ visualize_pattern.py # è¦è¦ºåè
³æ¬
â âââ fetch_data.py # è³ææåå·¥å
·
âââ examples/
âââ sample_output.json # ç¯ä¾è¼¸åº
</directory_structure>
<reference_index>
æ¹æ³è«: references/methodology.md
- å½¢çæ¯å°æ¹æ³ï¼ç¸éä¿æ¸ãDTWãå½¢çç¹å¾µï¼
- æ£è¦åèçªå£å°é½
- ç¸ä¼¼åº¦åæ¸è¨ç®
- 交åé©èé輯
è³æä¾æº: references/data-sources.md
- FRED ç³»åä»£ç¢¼æ¸ å®
- è³æé »çèå»¶é²
- å ¬éæ¿ä»£è³æèªªæ
ææ¨æ©å¶: references/wudsho-mechanism.md
- WUDSHO çæå èè§£è®
- å©çææ vs. å£åææ
- 常è¦èª¤è®èåè
è¼¸å ¥åæ¸: references/input-schema.md
- 宿´åæ¸å®ç¾©
- é è¨å¼è建è°ç¯å
</reference_index>
<workflows_index>
| Workflow | Purpose | ä½¿ç¨ææ© |
|---|---|---|
| execute-analysis.md | 宿´å½¢çæ¯å°åæ | éè¦å®æ´å ±åæ |
| visualize-analysis.md | è¦è¦ºååæ | éè¦å表æ |
| historical-episodes.md | æ·å²äºä»¶æ·±åº¦åæ | çè§£æ·å²é¡æ¯èå¾çºç¼å± |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON 輸åºçµæ§å®ç¾© |
| output-markdown.md | Markdown å ±åæ¨¡æ¿ |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| pattern_detector.py | --quick |
å¿«éæª¢æ¥ç¶åçæ |
| pattern_detector.py | --output FILE |
宿´åæ |
| visualize_pattern.py | ï¼ç¡åæ¸ï¼ | Bloomberg é¢¨æ ¼è¦è¦ºåï¼è¼¸åºè³å°æ¡æ ¹ç®é output/ï¼ |
| visualize_pattern.py | --json FILE |
使ç¨ç¾æ JSON çµæçæå表 |
| fetch_data.py | --series WUDSHO |
æå FRED è³æ |
| </scripts_index> |
<input_schema_summary>
æ ¸å¿åæ¸
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| target_series | string | WUDSHO | ç®æ¨ FRED ç³»å代碼 |
| baseline_windows | array[object] | [COVID] | æ·å²åèäºä»¶çªå£ |
| recent_window_days | int | 120 | è¿ææ¯å°çªå£é·åº¦ |
| resample_freq | string | W | è³æé »ç |
| normalize_method | string | zscore | æ£è¦åæ¹æ³ |
ç¸ä¼¼åº¦åæ¸
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| similarity_metrics | array[string] | [corr, dtw, shape_features] | ç¸ä¼¼åº¦ææ¨ |
| alert_thresholds | object | {corr_min: 0.7, …} | 觸ç¼è¦å ±é檻 |
交åé©è忏
| 忏 | é¡å | é è¨å¼ | 說æ |
|---|---|---|---|
| confirmatory_indicators | array[object] | [ä¿¡ç¨å©å·®…] | 交åé©èææ¨æ¸ å® |
| lookahead_days | int | 60 | åç»æï¼æ 墿äºï¼ |
宿´åæ¸å®ç¾©è¦ references/input-schema.mdã
</input_schema_summary>
<output_schema_summary>
{
"skill": "detect-fed-unamortized-discount-pattern",
"as_of_date": "2026-01-26",
"target_series": "WUDSHO",
"best_match": {
"baseline": "COVID_2020",
"segment_start": "2020-01-08",
"segment_end": "2020-06-17",
"corr": 0.91,
"dtw": 0.38,
"feature_sim": 0.82,
"pattern_similarity_score": 0.88
},
"stress_confirmation": {
"score": 0.22,
"details": [
{"name": "credit_spread", "signal": "neutral", "z": 0.4},
{"name": "equity_vol", "signal": "mild_risk_on", "z": -0.2},
{"name": "funding_stress_proxy", "signal": "neutral", "z": 0.1}
]
},
"composite_risk_score": 0.49,
"interpretation": {
"summary": "èµ°å¢å½¢çè COVID æ©æçæ®µç¸ä¼¼åº¦é«ï¼ä½å£åé©èææ¨å䏿§...",
"what_to_watch_next_60d": ["..."],
"rebuttal_to_claim": ["..."]
},
"caveats": [
"å½¢çç¸ä¼¼ä¸ä»£è¡¨å æç¸åï¼è©²åºåå¯è½å¼·çåå©çãæææéçµæ§èæè¨æ¤é·å½±é¿ã",
"è¥ç¼ºä¹å£åææ¨åæ¥æ¡åï¼ä¸ææå形顿¯ç´æ¥åç´æãé»å¤©éµé è¨ãã"
]
}
宿´è¼¸åºçµæ§è¦ templates/output-json.mdã
</output_schema_summary>
<success_criteria> å·è¡æåææç¢åºï¼
- å½¢çç¸ä¼¼åº¦åæ¸ï¼pattern_similarity_scoreï¼
- æä½³å¹é çæ·å²ç段ï¼baselineãsegment_start/endï¼
- å¤ç¶åº¦ç¸ä¼¼åº¦ï¼corrãdtwãfeature_simï¼
- å£åé©è忏ï¼stress_confirmation_scoreï¼
- åé©èææ¨è©³æ ï¼å稱ãè¨èãz-scoreï¼
- åæé¢¨éªåæ¸ï¼composite_risk_scoreï¼
- è§£è®æ¡æ¶ï¼summaryãwhat_to_watchãrebuttalï¼
- è³æå質說æè風éªè¦èªï¼caveatsï¼
è¦è¦ºå輸åºï¼ä½¿ç¨ visualize_pattern.pyï¼Bloomberg é¢¨æ ¼ï¼ï¼
- å½¢çæ¯å°èå£åå表æ¿åï¼
fed_unamortized_discount_pattern_YYYY-MM-DD.pngï¼- ä¸å·¦ï¼è¿æ vs. æ·å²åºæºçªå£çæ£è¦åå½¢çæ¯å°
- ä¸å³ï¼ç¸ä¼¼åº¦åæ¸é¢æ¿ï¼corrãDTWãfeature_simãç¶å風éªï¼
- ä¸å·¦ï¼å£åé©èææ¨æ°´å¹³æ¢åï¼Z-Scoreï¼
- ä¸å³ï¼è§£è®èªªæï¼è¨èçµ±è¨ãçµè«ï¼
- æ·å²èµ°å¢ç¸½è¦½åï¼
fed_unamortized_discount_history_YYYY-MM-DD.pngï¼- 宿´ WUDSHO æ·å²èµ°å¢
- æ·å²åºæºçªå£æ¨è¨ï¼COVID_2020ãGFC_2008ãTAPER_2013ãRATE_HIKE_2022ï¼
- è¿æçªå£èæä½³å¹é çæ®µé«äº®
- ææ°å¼æ¨è¨» </success_criteria>