Detects Follow-Through Day (FTD) signals for market bottom confirmation using William O'Neil's methodology. Dual-index tracking (S&P 500 + NASDAQ) with state machine for rally attempt, FTD qualification, and post-FTD health monitoring. Use when user asks about market bottom signals, follow-through days, rally attempts, re-entry timing after corrections, or whether it's safe to increase equity exposure. Complementary to market-top-detector (defensive) - this skill is offensive (bottom confirmation).
Detect Follow-Through Day (FTD) signals that confirm a market bottom, using William O'Neil's proven methodology. Generates a quality score (0-100) with exposure guidance for re-entering the market after corrections.
Complementary to Market Top Detector:
English:
Japanese:
| Aspect | FTD Detector | Market Top Detector |
|---|---|---|
| Focus | Bottom confirmation (offensive) | Top detection (defensive) |
| Trigger | Market correction (3%+ decline) | Market at/near highs |
| Signal | Rally attempt → FTD → Re-entry | Distribution → Deterioration → Exit |
| Score | 0-100 FTD quality | 0-100 top probability |
| Action | When to increase exposure | When to reduce exposure |
Run the FTD detector script:
python3 skills/ftd-detector/scripts/ftd_detector.py --api-key $FMP_API_KEY
The script will:
API Budget: 4 calls (well within free tier of 250/day)
Present the generated Markdown report to the user, highlighting:
Based on the market state, provide additional guidance:
If FTD Confirmed (score 60+):
If Rally Attempt (Day 1-3):
If No Correction:
NO_SIGNAL → CORRECTION → RALLY_ATTEMPT → FTD_WINDOW → FTD_CONFIRMED
↑ ↓ ↓ ↓
└── RALLY_FAILED ←─────────────┘ FTD_INVALIDATED
| State | Definition |
|---|---|
| NO_SIGNAL | Uptrend, no qualifying correction |
| CORRECTION | 3%+ decline with 3+ down days |
| RALLY_ATTEMPT | Day 1-3 of rally from swing low |
| FTD_WINDOW | Day 4-10, waiting for qualifying FTD |
| FTD_CONFIRMED | Valid FTD signal detected |
| RALLY_FAILED | Rally broke below swing low |
| FTD_INVALIDATED | Close below FTD day's low |
| Score | Signal | Exposure |
|---|---|---|
| 80-100 | Strong FTD | 75-100% |
| 60-79 | Moderate FTD | 50-75% |
| 40-59 | Weak FTD | 25-50% |
| <40 | No FTD / Failed | 0-25% |
FMP_API_KEY environment variable or pass via --api-key flag.requests library installed.ftd_detector_YYYY-MM-DD_HHMMSS.jsonftd_detector_YYYY-MM-DD_HHMMSS.mdskills/ftd-detector/references/ftd_methodology.mdskills/ftd-detector/references/post_ftd_guide.mdskills/ftd-detector/references/ftd_methodology.md for full understandingskills/ftd-detector/references/post_ftd_guide.md