ruflo-market-data 插件技术解析:OHLCV 归一化、K 线形态向量化与 HNSW 索引模式匹配
ruflo-market-data 插件技术解析OHLCV 归一化、K 线形态向量化与 HNSW 索引模式匹配【免费下载链接】ruflo The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo在 ruflo 生态中ruflo-market-data插件负责把原始市场行情变成可检索的结构化数据从 REST API 或 WebSocket 数据源摄取行情将 K 线Candlestick归一化为 OHLCV 向量再将其向量化后写入 HNSWHierarchical Navigable Small World索引用于历史形态相似性搜索。读完本文你将掌握该插件的完整命令与技能面5 个子命令 2 个 Skill 1 个 Agent、OHLCV 归一化公式、12 种形态库的可靠性分级、64 维向量编码策略以及它如何通过 AgentDB 命名空间约定market-data/market-patterns与兄弟插件协调存储并能用 11 项冒烟检查作为合同验证插件结构正确性。插件概览与安装插件的定位一句话概括行情数据摄取——feed 归一化、OHLCV 向量化、基于 HNSW 索引的形态匹配Market data ingestion -- feed normalization, OHLCV vectorization, and HNSW-indexed pattern matching。核心能力包括从 REST API 与 WebSocket feed 摄取行情数据归一化为具有一致缩放尺度的 OHLCV 向量将 K 线形态向量化用于 HNSW 相似度搜索检测单 K 线形态doji、hammer与多 K 线形态engulfing、morning star、head shoulders并给出可靠性评分。安装方式为以插件目录加载claude --plugin-dir plugins/ruflo-market-data插件元信息声明于 plugin.json版本0.2.1keywords 包含market-data、ohlcv、time-series、patterns、mcp、candlestick-patterns、namespace-routing。其中后三个关键词是 ADR-0001 修订时补充的对应本文后述的工具名修正、形态库与命名空间路由修复。Agent 与 Skill 面一个>npx claude-flow/clilatest memory store --namespace market-data --key symbol-SYMBOL-DATE --value OHLCV_JSONmarket-pattern形态扫描与双路径存储market-pattern/SKILL.md 的前置条件是数据已经通过market-ingest入库其步骤为Load candles—— 通过mcp__plugin_ruflo-core_ruflo__memory_search或memory_list从market-data命名空间读取该 symbol 与周期的归一化 OHLCV 数据Scan for patterns—— 遍历 K 线序列按形态长度分类扫描单 K 线dojiopen ≈ close、hammer长下影线、inverted hammer双 K 线看涨/看跌 engulfing三 K 线morning star、evening star、three white soldiers、three black crows多 K 线head shoulders、double top/bottom、cup handleClassify—— 为每个检出结果标注形态名、类型reversal/continuation、方向bullish/bearish、可靠性评分0.0–1.0Rank—— 按可靠性评分降序排序Store—— 双路径写入沿用 ruflo-cost-tracker ADR-0001 的双路径模式Pattern-store类型化推荐mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store带type: market-pattern。不要传namespace参数——由 ReasoningBank 负责路由当 bridge 不可用时会回退写入保留命名空间pattern并附controller: memory-store-fallback见 ruflo-agentdb ADR-0001Plain store命名空间可路由mcp__plugin_ruflo-core_ruflo__memory_store --namespace market-patterns—— 因为memory_*工具族按命名空间路由该参数会被真实生效Report—— 展示形态名、日期范围、方向、可靠性、建议操作。CLI 替代路径npx claude-flow/clilatest memory search --query bullish reversal patterns --namespace market-patterns npx claude-flow/clilatest memory store --key pattern-AAPL-2026-05-04-doji --value {...} --namespace market-patternsmarket 命令5 个子命令的完整语义market.md 定义了统一入口market下的 5 个子命令market ingest symbol [--period 1D] # 摄取并归一化 OHLCV 数据 market patterns symbol # 检测 K 线形态 market search pattern-name # 搜索历史形态出现记录 market history symbol # 展示摄取历史与数据覆盖度 market compare sym1 sym2 # 对比两个 symbol 的形态画像各子命令的内部流程market ingest symbol [--period 1D]—— 6 步从配置的数据源获取symbol的 OHLCV 数据归一化open/high/low/close 转为相对百分比volume 转 Z-score将每根 K 线向量化为 64 维填充向量通过mcp__plugin_ruflo-core_ruflo__memory_store --namespace market-data存储memory_*族按命名空间路由agentdb_hierarchical-*按 tier 路由并忽略 namespace 字符串——这一点是 ADR-0001 修复的核心 bug详见下文通过ruvllm_hnsw_add将向量加入 HNSW 索引汇报摄取 K 线数、日期范围、min/max/avg 价格、成交量画像。market patterns symbol—— 5 步从market-data命名空间召回最近的 OHLCV 数据扫描单 K 线doji、hammer与多 K 线engulfing、morning star形态对每个检出分类形态名、类型reversal/continuation、可靠性评分按双路径模式存储agentdb_pattern-store类型化、ReasoningBank 路由——不要传namespace加上memory_store --namespace market-patterns命名空间路由展示形态名、日期、方向bullish/bearish、可靠性、K 线范围。market search pattern-name—— 4 步通过ruvllm_hnsw_route在 HNSW 索引中搜索匹配该形态的向量从market-patterns命名空间召回匹配条目按相似度分数与时间新近度排序展示symbol、日期、形态匹配分、后续价格行为若可得。market history symbol—— 4 步查询market-data命名空间中匹配symbol的全部条目计算已存 K 线总数、日期范围、覆盖缺口gaps展示数据新鲜度最近一次摄取时间戳按类型列出已检出的形态数量。market compare sym1 sym2—— 4 步从market-patterns命名空间召回两个 symbol 的形态数据计算相关性共享形态类型、时间重叠、方向一致性并排展示形态频率与可靠性差异高亮出可能指示交易机会的分歧点。OHLCV 归一化五种字段的统一缩放原始行情在入库前必须归一化这是跨 symbol、跨价格量级做形态比对的先决条件。五个字段的归一化公式字段归一化方式Open相对前一收盘价(open - prev_close) / prev_closeHigh相对开盘价(high - open) / openLow相对开盘价(low - open) / openClose相对开盘价(close - open) / openVolumeZ-score(vol - mean_vol) / std_vol从公式设计可以看出两条原则价格类字段全部转为相对变化无量纲百分比使 50 美元的股票与 500 美元的股票落在同一比较尺度上成交量因其分布与价格不同改用滚动窗口 Z-score刻画放量/缩量的相对强度。market-pattern的形态判定如 doji 的open ~ close、hammer 的长下影线正是在这套归一化空间里进行的。形态库与 64 维向量编码策略插件内置的形态库data-engineer.md 中列出的完整版本比 README 摘要更细形态类型K 线数可靠性DojiReversal1MediumHammerReversal1Medium-HighEngulfing看涨Reversal2HighEngulfing看跌Reversal2HighMorning StarReversal3HighEvening StarReversal3HighThree White SoldiersContinuation3HighThree Black CrowsContinuation3HighHead ShouldersReversal5–7Very HighDouble TopReversal可变HighDouble BottomReversal可变HighCup HandleContinuation可变High每个形态被编码为固定长度向量具体编码策略分四部分单 K 线形态5 维归一化 OHLCV多 K 线形态5 × N 维N 根 K 线的 OHLCV 拼接元数据向量3 维pattern_type_id、reliability_score、trend_direction总向量填充至64 维以便 HNSW 索引。这一设计的关键在于固定维度可变长度的形态head shoulders 5–7 根、double top/bottom 数量不定必须归一到统一维度HNSW 索引才能做高效的最近邻检索元数据向量则让形态类型 可靠性 趋势方向也参与相似度计算而非只比价格形状。另外Agent 定义中还给出训练与记忆学习的两条路径# 神经学习摄取/检测成功后训练模式 npx claude-flow/clilatest hooks post-task --task-id TASK_ID --success true --train-neural true npx claude-flow/clilatest neural train --pattern-type market-data --epochs 15命名空间协调与路由 Bug 修复ADR-0001 的核心价值这是本插件最值得深挖的部分。ruflo-market-data拥有两个 AgentDB 命名空间kebab-case遵循 ruflo-agentdb ADR-0001 的Namespace conventionmarket-data—— 按 symboldate 存储的归一化 OHLCV 向量market-patterns—— 带可靠性评分的已检出 K 线形态。两者均通过memory_*按命名空间路由访问。保留命名空间pattern、claude-memories、default严禁被遮蔽。路由说明早期版本的技能使用了agentdb_hierarchical-*和agentdb_pattern-*并附带 namespace 参数——但这两类工具分别按 tier / ReasoningBank 路由会静默忽略namespace 字符串。ADR-0001 将技能改为使用memory_*做命名空间化的读写。ADR-0001Accepted2026-05-04 提出2026-05-09 更新 记录了三个真实存在于技能中的功能性 bug全部由这次修订修复工具名漂移market-ingest/SKILL.md曾引用mcp__plugin_ruflo-core_ruflo__embeddings_embed——该工具名并不存在。真实工具名是embeddings_generate与 ruflo-knowledge-graph ADR-0001 是同一类修复hierarchical-store 的 namespace 被忽略market-ingest/SKILL.md曾用agentdb_hierarchical-store并传namespace: market-data。但agentdb_hierarchical-*按tierworking|episodic|semantic路由namespace 参数被静默丢弃——数据实际写错了位置pattern-store 同类 bugmarket-pattern/SKILL.md同时存在 hierarchical-recall namespace 与agentdb_pattern-store namespace 两个问题ReasoningBank 同样忽略 namespace。修复方案load/store 路径全面切换为memory_*namespace-routed对优化型形态写入保留双写路径typed via ReasoningBank 的agentdb_pattern-store namespace-routable 的memory_store沿用 ruflo-cost-tracker 的先例。ADR 同时补齐了插件级 ADR、冒烟测试与 Compatibility 章节并将版本从0.1.0 → 0.2.0当前 plugin.json 已迭代到0.2.1。ADR 的 Consequences 部分也坦诚指出任何针对旧错误工具调用的外部脚本在此之前就已经在静默失败了因此修复本身对既有使用方影响为零。兼容性、冒烟验证与结构合同README 的 Compatibility 约定CLI固定到claude-flow/cliv3.6 majorminor验证bash plugins/ruflo-market-data/scripts/smoke.sh即合同。验证命令bash plugins/ruflo-market-data/scripts/smoke.sh # Expected: 11 passed, 0 failedsmoke.sh 实现了 11 项结构性检查值得逐条看它如何把文档承诺变成可执行断言plugin.json声明版本0.2.1且含三个新关键词mcp、candlestick-patterns、namespace-routing两个 Skill Agent Command 均存在且 frontmatter 有效检查name:、description:、allowed-tools:三个键回归检查embeddings_embed不存在的工具不出现在任何工具调用点ADR 与 README 中的说明性提及除外market-ingest的 store 路径使用memory_*含memory_store且不再出现agentdb_hierarchical-store与market-data的组合market-pattern的命名空间读取使用memory_search/memory_list不再出现agentdb_hierarchical-recall与market-data的组合market-pattern文档化了双路径 pattern-store同时要求出现ReasoningBank与memory_store --namespace market-patternsembeddings_generate真实工具名在 market-ingest 中被引用README 将claude-flow/cli钉在 v3.6README 声明遵循 ruflo-agentdb 的 Namespace conventionmarket-data与market-patterns两个命名空间在 README 中被声明占用ADR-0001 存在且状态为Accepted。脚本以printf \n%s passed, %s failed\n汇总任一失败即exit 1。这种smoke 即合同的模式是 ruflo 各插件 ADR-0001 的统一节奏结构检查不需要真实行情数据或 MCP 服务器纯靠 grep 断言即可守住文档-工具名-命名空间三者的一致性。与兄弟插件的协作关系README 的 Related Plugins 章节声明了四条协作边ruflo-agentdb—— 命名空间约定的 owner定义 ADR-0001 所修复的路由规则其 ADR-0001 明确了 namespace 命名、内容归属与 GC 约定ruflo-neural-trader—— 消费 market patterns 作为策略信号ruflo-ruvector—— HNSW 索引引擎负责形态相似度搜索的底层ruflo-observability—— 数据源健康度与摄取延迟看板。从 contenteditable="false">【免费下载链接】ruflo The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考