数据与研究

trader-signal

ruvnet/ruflo

Generate trading signals using npx neural-trader anomaly detection engine with Z-score scoring and neural prediction

  • 745 次安装
  • 8万 星标
  • 收录于

安装命令

npx skills add https://github.com/ruvnet/ruflo --skill trader-signal

SKILL.md

Generate trading signals using neural-trader's anomaly detection engine.

Steps:

  1. Ensure neural-trader is available: npm ls neural-trader 2>/dev/null || npm install --ignore-scripts neural-trader
  2. Scan for signals:
    npx neural-trader --signal scan --symbols <TICKERS> --live
    
    With a specific strategy:
    npx neural-trader --signal scan --strategy <name> --symbols <TICKERS> --live
    
    Without --live the scan runs on deterministic synthetic bars (dataSource: "synthetic"). Check dataSource in the result; if it is not yahoo-finance (including when the live fetch failed and fell back), present the result as a demo and propose no entry, stop or target.
  3. If --strategy specified, load strategy filters: mcp__plugin_ruflo-core_ruflo__memory_retrieve({ key: "strategy-NAME", namespace: "trading-strategies" })
  4. neural-trader classifies anomalies automatically:
    • spike (maxZ > 5): breakout — momentum entry or mean-reversion fade
    • drift (sustained high Z): trend forming — trend-following signal
    • flatline (low Z): consolidation — prepare for breakout
    • oscillation (alternating): range-bound — mean-reversion at extremes
    • pattern-break (multiple dims): regime change — close and reassess
    • cluster-outlier (>50% dims): multi-factor dislocation — arbitrage
  5. Use SONA for regime prediction: mcp__plugin_ruflo-core_ruflo__neural_predict({ input: "anomaly types: [DETECTED], scores: [SCORES]" })
  6. Search historical pattern matches: mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search({ query: "ANOMALY_TYPE score RANGE", namespace: "trading-signals" })
  7. Present ranked signals: instrument, direction, confidence, anomaly type, entry/stop/target
  8. Store signals with a 24-hour TTL (intraday signals shouldn't pollute long-running memory; the MemoryConsolidator.sweepExpired() pass introduced in ADR-125 Phase 4 — shipped in @claude-flow/memory@3.0.0-alpha.18 — sweeps them out after they expire): mcp__plugin_ruflo-core_ruflo__memory_store({ key: "signal-TIMESTAMP", value: "SIGNALS_JSON", namespace: "trading-signals", ttl: 86400 }) (ttl is in seconds; expiresAt is not a memory_store parameter and would be ignored, leaving the signal in memory forever)