FTD Detector Skill
Purpose
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:
- Market Top Detector = defensive (detects distribution, rotation, deterioration)
- FTD Detector = offensive (detects rally attempts, bottom confirmation)
When to Use This Skill
English:
- User asks "Is the market bottoming?" or "Is it safe to buy again?"
- User observes a market correction (3%+ decline) and wants re-entry timing
- User asks about Follow-Through Days or rally attempts
- User wants to assess if a recent bounce is sustainable
- User asks about increasing equity exposure after a correction
- Market Top Detector shows elevated risk and user wants bottom signals
Japanese:
- 「底打ちした?」「買い戻して良い?」
- 調整局面(3%以上の下落)からのエントリータイミング
- フォロースルーデーやラリーアテンプトについて
- 直近の反発が持続可能か評価したい
- 調整後のエクスポージャー拡大の判断
- Market Top Detectorが高リスク表示の後の底打ちシグナル確認
Difference from Market Top Detector
| 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 |
Execution Workflow
Phase 1: Execute Python Script
Run the FTD detector script:
python3 skills/ftd-detector/scripts/ftd_detector.py --api-key $FMP_API_KEY
The script will:
- Fetch S&P 500 and QQQ historical data (60+ trading days) from FMP API
- Fetch current quotes for both indices
- Run dual-index state machine (correction → rally → FTD detection)
- Assess post-FTD health (distribution days, invalidation, power trend)
- Calculate quality score (0-100)
- Generate JSON and Markdown reports
API Budget: 4 calls (well within free tier of 250/day)
Phase 2: Present Results
Present the generated Markdown report to the user, highlighting:
- Current market state (correction, rally attempt, FTD confirmed, etc.)
- Quality score and signal strength
- Recommended exposure level
- Key watch levels (swing low, FTD day low)
- Post-FTD health (distribution days, power trend)
Phase 3: Contextual Guidance
Based on the market state, provide additional guidance:
If FTD Confirmed (score 60+):
- Suggest looking at leading stocks in proper bases
- Reference CANSLIM screener for candidate stocks
- Remind about position sizing and stops
If Rally Attempt (Day 1-3):
- Advise patience, do not buy ahead of FTD
- Suggest building watchlists
If No Correction:
- FTD analysis is not applicable in uptrend
- Redirect to Market Top Detector for defensive signals
State Machine
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 |
Quality Score (0-100)
| 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% |
Prerequisites
- FMP API Key: Required. Set
FMP_API_KEYenvironment variable or pass via--api-keyflag. - Python 3.8+: With
requestslibrary installed. - API Budget: 4 calls per execution (well within FMP free tier of 250/day).
Output Files
- JSON:
ftd_detector_YYYY-MM-DD_HHMMSS.json - Markdown:
ftd_detector_YYYY-MM-DD_HHMMSS.md
Reference Documents
skills/ftd-detector/references/ftd_methodology.md
- O'Neil's FTD rules in detail
- Rally attempt mechanics and day counting
- Historical FTD examples (2020 March, 2022 October)
skills/ftd-detector/references/post_ftd_guide.md
- Post-FTD distribution day failure rates
- Power Trend definition and conditions
- Success vs failure pattern comparison
When to Load References
- First use: Load
skills/ftd-detector/references/ftd_methodology.mdfor full understanding - Post-FTD questions: Load
skills/ftd-detector/references/post_ftd_guide.md - Regular execution: References not needed - script handles analysis