ftd-detector

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…

INSTALLATION
npx skills add https://github.com/tradermonty/claude-trading-skills --skill ftd-detector
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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_KEY environment variable or pass via --api-key flag.
  • Python 3.8+: With requests library 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.md for full understanding
  • Post-FTD questions: Load skills/ftd-detector/references/post_ftd_guide.md
  • Regular execution: References not needed - script handles analysis
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card