← 返回 Skills 市场
clawdiri-ai

Follow-Through Day (FTD) Detector

作者 RunByDaVinci · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
111
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install einstein-research-ftd-dv
功能描述
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...
使用说明 (SKILL.md)

Follow-Through Day (FTD) Detector

Goal Chain: L0 Medici Enterprises → L1 Einstein Research → L2 Market Timing

Purpose

Detects Follow-Through Day (FTD) signals for market bottom confirmation using William O'Neil's methodology. This skill helps identify when it's safer to increase equity exposure after a market correction. It is the offensive counterpart to the defensive market-top-detector skill.

How It Works

This skill implements a state machine that tracks the S&P 500 (SPY) and NASDAQ (QQQ) for signs of a market bottom.

State Machine:

  1. Correction: The market is in a downtrend. The skill is looking for a potential bottom.
  2. Rally Attempt: A significant up-day occurs after a new low, initiating a "rally attempt". The skill starts a day count.
  3. FTD Watch: Between days 4 and 10 of the rally attempt, the skill looks for a Follow-Through Day.
  4. FTD Confirmed: A valid FTD occurs. The market is considered to be in a "confirmed uptrend".
  5. Post-FTD Monitoring: The skill monitors the health of the confirmed uptrend for signs of failure (e.g., immediate sharp reversals).

FTD Rules (O'Neil Methodology)

  • Rally Attempt Start (Day 1): The index closes higher after a new low, or holds above the low for a second day.
  • FTD Qualification (Day 4-10): A major index (SPY or QQQ) must close up >1.5% on higher volume than the previous day.
  • Confirmation: Both SPY and QQQ should ideally confirm the FTD within a day or two of each other for the strongest signal.
  • Failure: An FTD is considered failed if the index undercuts the low of the rally attempt day.

Usage

This skill is run via a CLI tool, typically as part of a daily market analysis cron job.

# Run the FTD analysis for the latest market data
einstein-research ftd

# Output (example)
{
  "status": "FTD_CONFIRMED",
  "details": "Follow-Through Day confirmed on 2026-03-14 for SPY.",
  "spy": {
    "state": "FTD_CONFIRMED",
    "rally_attempt_start_date": "2026-03-10",
    "day_count": 5,
    "ftd_date": "2026-03-14",
    "ftd_price_change_pct": 1.8,
    "ftd_volume_change_pct": 25.1
  },
  "qqq": {
    "state": "FTD_WATCH",
    "rally_attempt_start_date": "2026-03-11",
    "day_count": 4,
    "ftd_date": null
  },
  "recommendation": "Market in confirmed uptrend. Consider increasing equity exposure cautiously. Monitor for confirmation on QQQ."
}

Data Sources

  • yfinance: Daily OHLCV data for SPY and QQQ.
  • Local Cache: Data is cached locally to avoid redundant downloads.

Integration

  • Daily Cron: Run einstein-research ftd after market close each day.
  • Alerting: If status changes to RALLY_ATTEMPT or FTD_CONFIRMED, send a notification to Omer.
  • DaVinciOS Dashboard: The output of this skill can be used to update a market-timing indicator on the main dashboard.

When to Use

  • After a market correction of 10% or more.
  • When looking for a signal to start buying stocks again.
  • To confirm if a recent market bounce has strength.

This skill should be used in conjunction with other indicators (like market breadth, sentiment, and the market-top-detector) for a complete picture.

安全使用建议
This package appears to implement the FTD detector code it claims, but there are clear inconsistencies you should resolve before running it: - Expectation vs reality: The registry/metadata says no environment variables, yet the code requires an FMP API key (FMP_API_KEY) and will raise if it's missing. Decide whether you'll provide an FMP key or update the code to use yfinance (or another declared source). - Undeclared dependencies: fmp_client.py imports requests; README suggests yfinance and pandas. Install and verify Python 3.8+ and the correct Python packages (requests, pandas, yfinance if intended). Prefer running in a virtualenv or container. - Notifications are vague: SKILL.md mentions sending alerts to 'Omer' and updating a 'DaVinciOS Dashboard' but no endpoints/credentials are provided. Ask the author how alerts are delivered (email, Slack, webhook?) and inspect any notification code before allowing it to run with network access. - Network calls: The scripts make outbound HTTPS calls to financialmodelingprep.com. If you provide an API key, treat it as a secret — store it securely and only provide it to code you trust. Review fmp_client.py to confirm it only calls expected endpoints. - Safe testing: Run the scripts in a sandboxed environment (offline or with egress controls) first, inspect generated reports, and confirm no unexpected outbound destinations are used. If you plan to run it on a schedule/cron, add explicit, auditable notification configuration rather than relying on unspecified behavior. If you cannot get clarifications from the publisher, consider the skill suspicious and either (a) run locally in a sandbox with no secret keys, or (b) decline installation until metadata and notification behavior are fixed.
功能分析
Type: OpenClaw Skill Name: einstein-research-ftd-dv Version: 0.1.0 The skill bundle is a legitimate financial analysis tool designed to detect market bottom signals using the William O'Neil Follow-Through Day (FTD) methodology. It utilizes a standard API client (fmp_client.py) to fetch data from the Financial Modeling Prep API and implements a transparent state machine for market tracking (rally_tracker.py). No indicators of data exfiltration, malicious execution, or harmful prompt injection were found; the code and documentation (SKILL.md, README.md) are consistent and focused entirely on market timing analysis.
能力评估
Purpose & Capability
The skill's stated purpose (detect Follow-Through Days for SPY/QQQ) matches the code's functionality, but the registry/metadata claims no required environment variables or binaries while the code clearly expects an FMP API key (FMP_API_KEY) and Python HTTP libraries. README and SKILL.md also mention yfinance as an alternative data source, but the main orchestrator (scripts/ftd_detector.py) imports and instantiates an FMPClient that requires a key — the 'use Yahoo Finance' path is not implemented in the shown main script. These mismatches are incoherent with what someone would expect from the declared metadata.
Instruction Scope
SKILL.md directs the agent to run a CLI and to 'send a notification to Omer' and 'update DaVinciOS Dashboard' when signals change, but no delivery endpoints, credentials, or implementation details for those notifications are included in the repository. That vagueness grants broad discretion (where/how to send alerts) and could be abused. The instructions otherwise stay within market-analysis scope (fetch prices, run state machine), but they reference sending notifications and dashboard updates without defined targets.
Install Mechanism
There is no install spec (instruction-only registry entry) which reduces installation risk, but the repository contains Python scripts that require packages (requests is imported in fmp_client.py; README lists yfinance and pandas). The metadata does not declare these dependencies or provide a reproducible install. No downloads from external or untrusted URLs are present in the manifest; code uses an external API (financialmodelingprep.com) via HTTPS.
Credentials
The registry says 'Required env vars: none', but fmp_client.py will raise if FMP_API_KEY is not provided (it reads FMP_API_KEY from env and errors). That is a direct mismatch: a network-facing API key is required by the code yet not declared. Additionally, README suggests optional FMP API key vs Yahoo, further increasing ambiguity. Secrets/credentials are therefore requested by the code but not surfaced in metadata or SKILL.md, which is disproportionate and unexpected.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or platform configuration, and is user-invocable only. There is no install-time persistent agent privilege requested in the metadata. Running the scripts will make outbound API calls (to FMP) but that is proportional to the declared data-source purpose.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install einstein-research-ftd-dv
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /einstein-research-ftd-dv 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial release
元数据
Slug einstein-research-ftd-dv
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Follow-Through Day (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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 111 次。

如何安装 Follow-Through Day (FTD) Detector?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install einstein-research-ftd-dv」即可一键安装,无需额外配置。

Follow-Through Day (FTD) Detector 是免费的吗?

是的,Follow-Through Day (FTD) Detector 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Follow-Through Day (FTD) Detector 支持哪些平台?

Follow-Through Day (FTD) Detector 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Follow-Through Day (FTD) Detector?

由 RunByDaVinci(@clawdiri-ai)开发并维护,当前版本 v0.1.0。

💬 留言讨论