ClaudeMods
☰
JA
● 0 人がオンライン ・閲覧 0 回
スポンサー作品を投稿
GitHub リポジトリ · 投稿者 ruvnet

ruflo-market-data

市場データの取り込み——フィードの正規化、OHLCV のベクトル化、HNSW インデックスによるパターン照合。

ruvnet@ruvnet

ruvnet/ruflo/tree/main/plugins/ruflo-market-data

翻訳済み

この mod について

ruflo-market-data

市場データの取り込み——フィードの正規化、OHLCV のベクトル化、HNSW インデックスによるパターン照合。

概要

REST API と WebSocket フィードから市場データを取り込み、スケーリングを統一した OHLCV ベクトルに正規化する。さらに、ローソク足パターンをベクトル化して HNSW 類似度検索に利用する。信頼度スコアを付け、単一ローソク足(doji、hammer)と複数ローソク足(engulfing、morning star、head & shoulders)の形成パターンを検出する。

インストール

claude --plugin-dir plugins/ruflo-market-data

Agents

| Agent | Model | 役割 | |-------|-------|------| | data-engineer | sonnet | 市場フィードの取り込み、OHLCV の正規化、ローソク足パターンのベクトル化、HNSW インデックスによるパターン照合 |

Skills

| Skill | 使用方法 | 説明 | |-------|----------|------| | market-ingest | /market-ingest <symbol> [--source api] | 市場データを取り込み、HNSW インデックス付きの OHLCV ベクトルに正規化する | | market-pattern | /market-pattern <symbol> [--period 1D] | 取り込んだデータからローソク足パターンを検出・分類する |

Commands (5 subcommands)

market ingest <symbol> [--period 1D]    # Ingest and normalize OHLCV data
market patterns <symbol>                 # Detect candlestick patterns
market search <pattern-name>             # Search historical pattern occurrences
market history <symbol>                  # Show ingestion history and data coverage
market compare <sym1> <sym2>             # Compare pattern profiles between symbols

OHLCV の正規化

| フィールド | 正規化 | |-----------|--------| | Open | 前回の終値に対する相対値:(open - prev_close) / prev_close | | High | 始値に対する相対値:(high - open) / open | | Low | 始値に対する相対値:(low - open) / open | | Close | 始値に対する相対値:(close - open) / open | | Volume | Z-score:(vol - mean_vol) / std_vol |

パターンライブラリ

| パターン | 種類 | ローソク足 | 信頼度 | |----------|------|------------|--------| | Doji | 反転 | 1 | 中 | | Hammer | 反転 | 1 | 中〜高 | | Engulfing | 反転 | 2 | 高 | | Morning/Evening Star | 反転 | 3 | 高 | | Three White Soldiers | 継続 | 3 | 高 | | Head & Shoulders | 反転 | 5-7 | 非常に高 | | Double Top/Bottom | 反転 | 可変 | 高 |

各パターンは 64 次元のパディング済みベクトルとしてエンコードされ、HNSW インデックスに登録される。

互換性

  • CLI:@claude-flow/cli の v3.6 メジャーおよびマイナーバージョンに固定。
  • **検証:**bash plugins/ruflo-market-data/scripts/smoke.sh が契約となる。

Namespace coordination

このプラグインは 2 つの AgentDB 名前空間を所有する(kebab-case を使用し、ruflo-agentdb ADR-0001 の「Namespace convention」に従う)。

  • market-data — symbol+date ごとの正規化済み OHLCV ベクトル
  • market-patterns — 信頼度スコア付きで検出されたローソク足パターン

どちらも名前空間にルーティングされる memory_* からアクセスする。予約済み名前空間(pattern、claude-memories、default)を上書きしてはならない。

*ルーティングに関する注記:これらのスキルの初期バージョンは、名前空間引数を持つ agentdb_hierarchical- と agentdb_pattern- を使用していた。これらのツール群は階層/ReasoningBank によってルーティングされ、名前空間文字列を無視する。ADR-0001 により、名前空間付きの読み書きには memory_ を使うよう修正された。

検証

bash plugins/ruflo-market-data/scripts/smoke.sh
# Expected: "11 passed, 0 failed"

アーキテクチャ決定

関連プラグイン

  • ruflo-agentdb — 名前空間規約の所有者。ADR-0001 が違反を修正する際のルーティング規則を定義する
  • ruflo-neural-trader -- 市場パターンを戦略シグナルとして利用する
  • ruflo-ruvector -- パターン類似度検索のための HNSW インデックスエンジン
  • ruflo-observability -- データフィードの健全性と取り込み遅延のダッシュボード

ライセンス

MIT

Mod として

このプラグインは関数フック mod(ADR-445、hooks/register.ts)を提供する。ネットワーク呼び出し、プロセスの生成、モデル呼び出しは行わない。

  • Guard(締め付けのみ、デフォルトで有効):market* 名前空間(memory_store、agentdb_pattern-store、agentdb_hierarchical-store、ruvllm_hnsw_add)への書き込みにキーまたは token が含まれる場合、またはクエリ文字列に認証情報を含む feed URL や user:pass@host 形式の場合は拒否する。他の名前空間には影響しない。拒否時に秘密情報をエコーしない。
  • /market-mod:status、recent、tools(このプラグインのどのツールが接続されているか)、scan <text>(Guard が拒否するか)を提供する。いずれもローカルで回答する。
  • ステータスファイル:.claude-flow/market-mod/status.json({version: 1, updatedMs, guard, calls, total, blocked, recent}。カウンターのみを保持し、ツール入力は保存しない)をセッション開始時と、このプラグインのツールを呼び出すたびに書き込む。

オプション(userConfig):guard(on)。

テスト:claude plugin validate plugins/ruflo-market-data、claude plugin test plugins/ruflo-market-data、bash plugins/ruflo-market-data/scripts/smoke.sh。

インストール

まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。

claude plugin marketplace add ruvnet/ruflo
claude plugin install ruflo-market-data
原文 / README

ruflo-market-data

Market data ingestion -- feed normalization, OHLCV vectorization, and HNSW-indexed pattern matching.

Overview

Ingests market data from REST APIs and WebSocket feeds, normalizes to OHLCV vectors with consistent scaling, and vectorizes candlestick patterns for HNSW similarity search. Detects single-candle (doji, hammer) and multi-candle (engulfing, morning star, head & shoulders) formations with reliability scoring.

Installation

claude --plugin-dir plugins/ruflo-market-data

Agents

| Agent | Model | Role | |-------|-------|------| | data-engineer | sonnet | Ingest market feeds, normalize OHLCV, vectorize candlestick patterns, HNSW-indexed pattern matching |

Skills

| Skill | Usage | Description | |-------|-------|-------------| | market-ingest | /market-ingest <symbol> [--source api] | Ingest and normalize market data into OHLCV vectors with HNSW indexing | | market-pattern | /market-pattern <symbol> [--period 1D] | Detect and classify candlestick patterns from ingested data |

Commands (5 subcommands)

market ingest <symbol> [--period 1D]    # Ingest and normalize OHLCV data
market patterns <symbol>                 # Detect candlestick patterns
market search <pattern-name>             # Search historical pattern occurrences
market history <symbol>                  # Show ingestion history and data coverage
market compare <sym1> <sym2>             # Compare pattern profiles between symbols

OHLCV Normalization

| Field | Normalization | |-------|--------------| | Open | Relative to previous close: (open - prev_close) / prev_close | | High | Relative to open: (high - open) / open | | Low | Relative to open: (low - open) / open | | Close | Relative to open: (close - open) / open | | Volume | Z-score: (vol - mean_vol) / std_vol |

Pattern Library

| Pattern | Type | Candles | Reliability | |---------|------|---------|-------------| | Doji | Reversal | 1 | Medium | | Hammer | Reversal | 1 | Medium-High | | Engulfing | Reversal | 2 | High | | Morning/Evening Star | Reversal | 3 | High | | Three White Soldiers | Continuation | 3 | High | | Head & Shoulders | Reversal | 5-7 | Very High | | Double Top/Bottom | Reversal | Variable | High |

Each pattern is encoded as a 64-dimension padded vector for HNSW indexing.

Compatibility

  • CLI: pinned to @claude-flow/cli v3.6 major+minor.
  • Verification: bash plugins/ruflo-market-data/scripts/smoke.sh is the contract.

Namespace coordination

This plugin owns two AgentDB namespaces (kebab-case, follows the convention from ruflo-agentdb ADR-0001 §"Namespace convention"):

  • market-data — normalized OHLCV vectors per symbol+date
  • market-patterns — detected candlestick patterns with reliability scores

Both accessed via memory_* (namespace-routed). Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.

Routing note: Earlier versions of these skills used agentdb_hierarchical-* and agentdb_pattern-* with namespace arguments — those tool families route by tier/ReasoningBank and ignore namespace strings. ADR-0001 fixed the skills to use memory_* for namespaced reads/writes.

Verification

bash plugins/ruflo-market-data/scripts/smoke.sh
# Expected: "11 passed, 0 failed"

Architecture Decisions

Related Plugins

  • ruflo-agentdb — namespace convention owner; defines the routing rules ADR-0001 fixes violations of
  • ruflo-neural-trader -- Consumes market patterns as strategy signals
  • ruflo-ruvector -- HNSW indexing engine for pattern similarity search
  • ruflo-observability -- Data feed health and ingestion latency dashboards

License

MIT

As a mod

This plugin ships a function-hook mod (ADR-445, hooks/register.ts). It makes no network call, spawns no process and makes no model call.

  • Guard (tighten-only, on by default): Refuses writes to a market* namespace (memory_store, agentdb_pattern-store, agentdb_hierarchical-store, ruvllm_hnsw_add) that hold a key or token, or a feed URL with a credential in its query string or as user:pass@host. Other namespaces are untouched. A refusal never echoes the secret.
  • /market-mod: status, recent, tools (which of this plugin's tools are connected) and scan <text> (would the guard refuse it). Answered locally.
  • Status file: .claude-flow/market-mod/status.json ({version: 1, updatedMs, guard, calls, total, blocked, recent}, counters only, never tool input), written at session start and after every call to this plugin's tools.

Options (userConfig): guard (on).

Test it: claude plugin validate plugins/ruflo-market-data, claude plugin test plugins/ruflo-market-data, bash plugins/ruflo-market-data/scripts/smoke.sh.

関連作品