ruflo 插件 trader-signal 技能实战:基于 Z-score 异常检测与 SONA 神经预测的交易信号生成指南 ruflo 插件 trader-signal 技能实战基于 Z-score 异常检测与 SONA 神经预测的交易信号生成指南【免费下载链接】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导读trader-signal是 ruflo-neural-trader 插件提供的九大技能之一负责调用neural-traderRust/NAPI 绑定的异常检测引擎对多标的 OHLCV 行情做 Z-score 复合打分自动归类为 spike / drift / flatline / oscillation / pattern-break / cluster-outlier 六类异常形态并联动 SONA 神经预测与 AgentDB 历史模式检索最终产出带方向、置信度、入场/止损/目标价的排序信号列表。本指南以 SKILL.md 为骨架结合 signal-generation.bench.mjs 的算法内核、runtime-smoke.sh 的验证路径与 ADR 决策记录讲清从环境准备、信号扫描、分类解读、神经预测、历史检索到带 TTL 存储的完整链路。读完你将能独立复现一套可运行、可验证、可被 Agent 自动执行的日内交易信号流水线。1. 技能定位它在 ruflo 交易体系中的角色在 ruflo-neural-trader 插件的技能矩阵见 README.md中每个技能只解决一个环节技能调用方式职责trader-signal/trader-signal [--strategy NAME] [--symbols AAPL,MSFT]Z-score 异常检测信号生成本文主题trader-backtest/trader-backtest strategy --symbol SPYRust/NAPI 回测 walk-forward 验证trader-regime/trader-regime [--symbol SPY]市场状态regime检测与分类trader-risk/trader-risk [--symbol AAPL]VaR、仓位计算、熔断状态trader-train/trader-train lstm --symbol TSLA神经预测模型训练trader-portfolio/trader-portfolio [--risk-target 0.15]均值-方差组合优化trader-signal位于“行情 → 信号 → 决策”链路的信号生成端上游由ruflo-market-data提供 OHLCV 数据下游把信号写入trading-signals命名空间供risk-analyst、trading-strategist等 Agent 消费。它是典型的“短生命周期”任务——日内信号 24 小时后即过期因此技能在第 8 步专门引入 TTL 存储机制详见第 7 节。技能声明frontmatter给出的完整约束是allowed-toolsBash、Read以及ruflo-core插件注册的memory_store/memory_retrieve/memory_search/memory_delete/neural_predict/agentdb_pattern-search六个 MCP 工具argument-hint[--strategy NAME] [--symbols AAPL,MSFT]——即通过--strategy挂载既有策略过滤器通过--symbols指定扫描标的列表。2. 环境准备安全安装 neural-trader技能第 1 步要求先确认运行时可用官方推荐写法是npm ls neural-trader 2/dev/null || npm install --ignore-scripts neural-trader这里有两个必须理解的安全与版本要点第一为什么必须带--ignore-scripts。根据 README.md 的披露neural-trader在 2.5.0 之后曾连续存在四个叠加缺陷其中之一是安装钩子 fork-bombissue #1974在 Apple Silicon 上可吃满 120 GB 内存直到 2.7.2 才修复。仓库根目录的 audit-neural-trader-safety.mjs CI 守卫仍然强制每次文档化调用都带--ignore-scripts作为纵深防御——即使未来某个传递依赖的安装脚本再次回归也不会在安装阶段被触发。第二版本锁定。插件锁定neural-trader^2.8.112026-05-14 发布2.8.x 系列提供了 flag 风格的 CLI 分发器--signal scan正是其中之一并且跑的是真实数学SMA 交叉 / RSI 均值回归 / 配对 z-score / 自适应 regime 切换 / RSIMACDBollinger 多指标而非占位输出。runtime-smoke.sh 内部也以NT_PIN${NT_PIN:-2.8.11}锁版防止全局 npx 缓存用旧版本顶替本地安装。平台兼容性方面以 2.8.11 为准平台原生绑定linux-x64-gnu✅darwin-arm64Apple Silicon✅ 2.7.5 起darwin-x64Intel Mac✅ 2.7.6 起linux-arm64-gnu⏳ JS 面可用原生调用运行时抛错win32-x64-msvc⏳ JS 面可用原生调用运行时抛错注意如果你必须使用 2.7.1 或更早版本非 linux-x64 主机上同样存在 fork-bomb 风险必须显式传--ignore-scripts。安装插件本身的方式是claude --plugin-dir plugins/ruflo-neural-trader如需让 Claude Desktop 直接访问 neural-trader 暴露的 112 MCP 工具可另行注册claude mcp add neural-trader -- npx neural-trader mcp start3. 信号扫描--signal scan 的两种形态技能第 2 步给出核心命令分无策略与带策略两种形态# 形态一全量扫描指定标的 npx neural-trader --signal scan --symbols TICKERS # 形态二挂载特定策略过滤器 npx neural-trader --signal scan --strategy name --symbols TICKERS在/trader命令体系commands/trader.md中对应的是trader signal scan [--strategy name] [--symbols TICKERS]--symbols接受逗号分隔的多个 TICKER如AAPL,MSFT,GOOGL一次扫描全部标的--strategy让扫描结果只聚焦某套已定义策略的过滤器momentum / mean-reversion / pairs / adaptive / multi-indicator。运行时验证见 runtime-smoke.sh 的第 2 步与第 15 步它实际执行npx neural-trader --signal scan --symbols AAPL,MSFT断言输出 JSON 的.command signal并用assert_field校验.signalsCount至少为 1即真实产出了信号对象而非空壳。值得一提的架构事实--signal scan在云端模式下会拉取实时行情Yahoo Finance每次云往返约有 ~200 ms 的固定尾部延迟这部分无法从 JS 侧优化只能靠一次批量扫描所有标的分摊。4. 策略过滤器的内存加载与六类异常分类语义加载策略过滤器。如果上一步带了--strategy技能第 3 步要求从内存加载该策略的过滤规则mcp__plugin_ruflo-core_ruflo__memory_retrieve({ key: strategy-NAME, namespace: trading-strategies })trading-strategies是插件拥有的五个 AgentDB 命名空间之一ADR-0001 与 ADR-126 Phase 1 共同定义存放策略定义、参数与 regime 条件映射。键名约定为strategy-NAME与/trader strategy create命令的存储格式一致npx claude-flow/clilatest memory store --key strategy-NAME ... --namespace trading-strategies。六类异常分类。技能第 4 步给出 neural-trader 自动分类的语义表这是整个信号解释的核心必须完整理解异常类型判定特征市场解读交易含义spikemaxZ 5突破 / 跳空动量突破追入或均值回归反向 fadedrift持续高位 Z趋势正在形成趋势跟随信号flatline低 Z盘整蓄势等待突破oscillationZ 交替变号区间震荡极值处均值回归pattern-break多维度中等 Z市场状态切换regime change平仓并重新评估cluster-outlier50% 维度高 Z多因子错位套利机会maxZ指窗口内 Z-score 绝对值的最大值。对应 Z-score 复合打分公式README「Anomaly Detection」一节给出为anomalyScore min(1, meanZ / 3)即所有维度 Z 的均值归一化到 [0,1]1 表示最强异常。算法内核的源码级印证。signal-generation.bench.mjs 用约 120 行 JS 精确复刻了技能的生产扫描路径其classify()与scanSymbol()展示了同一套判定逻辑的参考实现function classify(zSeries) { // maxZ 峰值、signFlips 变号次数、highCount 高 Z 维度占比 if (maxZ 5) return spike; if (highCount zSeries.length * 0.3 Math.abs(lastZ) 1.5) return drift; if (maxZ 0.5) return flatline; if (signFlips zSeries.length * 0.2) return oscillation; if (highCount zSeries.length * 0.5) return cluster-outlier; if (highCount 3 signFlips 1) return pattern-break; return normal; }扫描流程本身是① 取前 80% 的 bar 作为基线窗口计算滚动均值与标准差② 对尾部每个 bar 打分z (close - mean) / std③ 用上述规则分类。注意区分度spike只看maxZ 5极值单点drift看“高 Z 维度占比 30% 且末值 Z 1.5”持续性flatline看“maxZ 0.5”全维度接近零oscillation看“变号次数占比 20%”交替往复cluster-outlier看“高 Z 维度占比 50%”多因子同时错位pattern-break是“高 Z 维度 3 且变号 1”的组合形态结构突变。5. 用 SONA 神经预测做 regime 预判技能第 5 步将检测结果送入 SONA自我学习神经模型做下一阶段预判mcp__plugin_ruflo-core_ruflo__neural_predict({ input: anomaly types: [DETECTED], scores: [SCORES] })neural_predict是 ruflo-core 注册的 MCP 工具其真实实现位于 neural-tools.ts。从源码可以确认它的输入输出契约输入modelId可选指定模型缺省取第一个status ready的模型、input必填文本、topK默认 3处理先对输入文本生成 384 维嵌入再对存储的模式做 k-NN 余弦相似度排序置信度按 ADR-093 F11 的改进对 top-K 相似度做带温度控制的 softmax输出一个和为 1 的真实概率分布早期版本直接把余弦相似度当置信度当存储嵌入陈旧或为零向量时常被钳到 0已被该 ADR 修复。把“anomaly types scores”拼进input本质上是让 SONA 把当前异常形态与历史训练中学到的模式做匹配输出“这种形态之后最可能出现的走势”预测。技能第 5 步与第 6 步配合共同完成“异常检测 → 模式记忆 → 预测”的闭环。6. 历史模式检索与信号呈现技能第 6 步用 AgentDB 检索历史上相似形态的后续走势mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search({ query: ANOMALY_TYPE score RANGE, namespace: trading-signals })查询串建议带上“异常类型 得分区间”如spike 5.2、drift 2.5..3.0命名空间固定在trading-signals。这一步的意义是给当前信号提供“先例证据”——历史上同类异常出现后价格通常怎么走直接支撑第 7 步的置信度定级。技能第 7 步要求 Agent 最终呈现排序后的信号列表每个信号至少包含六个字段instrument—— 标的TICKERdirection—— 方向多头 / 空头由异常类型与 SONA 预测共同决定confidence—— 置信度来自 SONA softmax 分布anomaly type—— 异常类型六类之一entry / stop / target—— 入场价、止损价、目标价。这一呈现格式本身即是一种“人机共识”无论下游是人类交易员还是trading-strategistAgent拿到的都是结构一致、可直接执行/审计的信号记录。7. 24 小时 TTL 存储信号不污染长期记忆技能第 8 步是容易被忽略但极其关键的一步——日内信号必须带 TTL 存储mcp__plugin_ruflo-core_ruflo__memory_store({ key: signal-TIMESTAMP, value: SIGNALS_JSON, namespace: trading-signals, expiresAt: Date.now() 24 * 60 * 60 * 1000 })三个要点键名signal-TIMESTAMP与/trader signal scan子命令的存储约定signal-TIMESTAMP→trading-signals一致TTLexpiresAt now 24h因为日内信号过期后对长期记忆毫无价值反而会污染后续检索的相似度排序底层清理机制TTL 由 ADR-125 Phase 4 引入的MemoryConsolidator.sweepExpired()清扫随claude-flow/memory3.0.0-alpha.18发布。该清扫会从**所有索引含 HNSW**中移除过期条目默认每 6 小时运行一次并在MemoryService.close()时也会触发——因此长时间运行的 ruflo 会话不会累积陈旧日内信号。顺带一提同一套内存生命周期机制还给trader-signal带来了三个免费增益详见 README.md 的「Memory lifecycle (ADR-125 integration)」小节Warm HNSW restart进程重启后策略/regime 相似度索引不必从零重建索引快照到.hnsw侧车文件Hybrid retrievalRRF MMRregime 相似查询自动变成“稠密 ANN 稀疏 FTS5 关键词”混合检索嵌入生成器不可用时优雅降级为纯关键词不会抛错Consolidator 调度sweepExpired dedup compactHnsw每 6 小时自动执行。8. 信号路径的性能预算与验证手段性能基线。signal-generation.bench.mjs 用 mulberry32 种子生成确定性的合成 OHLCV252 根日线/标的末尾 5% 放大波动以模拟异常形态对 AAPL/MSFT/NVDA/TSLA/SPY 五个标的各跑 200 次计时。已提交的基线结果见 signal-generation-baseline-20260520T203616Z.md指标数值最差标的平均延迟AAPL22.24 µs目标 1000 µsPASS5 标的整次扫描sum-of-avgs0.050 ms目标 10 msPASS单标的 ops/sec44,965 ~ 193,229该基准明确定义了性能预算perf-notes.mdsignal worst-symbol avg 1000 µs、signal full-scan sum-of-avgs 10 msCI 上任何一条 acceptance line 被击穿即视为性能回归。同时它只测“异常检测算术内核”不含~200 ms 的云行情往返尾部延迟。运行时冒烟。真实信号路径的端到端验证交给 runtime-smoke.shbash plugins/ruflo-neural-trader/scripts/runtime-smoke.sh其中与trader-signal直接相关的两条断言是run_and_check 2. --signal scan signal --signal scan --symbols AAPL,MSFT assert_field 15. --signal scan returns ≥1 signal .signalsCount --signal scan --symbols AAPL,MSFT而插件级结构契约文件存在性、frontmatter 合法、版本锁定、命名空间声明等 11 项检查由 smoke.sh 承担预期输出11 passed, 0 failed。自己复现基准的命令是node plugins/ruflo-neural-trader/benchmarks/signal-generation.bench.mjs9. 落地要点与最佳实践小结把整条链路串起来trader-signal的推荐执行顺序是预检npm ls neural-trader 2/dev/null || npm install --ignore-scripts neural-trader锁^2.8.11永远带--ignore-scripts扫描npx neural-trader --signal scan --symbols TICKERS需要策略过滤时追加--strategy name加载过滤器memory_retrieve→trading-strategies命名空间键strategy-NAME解释分类spike突破/跳空maxZ5→ 动量或 fadedrift持续高 Z→ 趋势跟随flatline低 Z→ 等待突破oscillation交替→ 区间极值回归pattern-break多维度突变→ 平仓重估cluster-outlier50% 维度错位→ 套利SONA 预判neural_predict({ input: anomaly types: [...], scores: [...] })得到 softmax 置信度分布历史对照agentdb_pattern-search在trading-signals命名空间检索同形态先例输出instrument / direction / confidence / anomaly type / entry / stop / target 的排序信号落库memory_store写入signal-TIMESTAMPexpiresAt now 24h交给MemoryConsolidator.sweepExpired()到期清理。几条经验法则信号与回测分离trader-signal只管“现在该不该动、往哪动”策略是否长期有效由trader-backtestwalk-forward Monte Carlo 参数优化回答。两者共享trading-strategies命名空间避免规则口径漂移。信号与风险解耦信号落地前应交由risk-analyst检查熔断状态日内回撤 3% 暂停新开仓、周回撤 5% 仓位减半、相关性 0.85 削减关联仓位、VIX 超历史 2 倍降至最小仓位、持仓数超限与单一持仓 10% 强制降仓见 trader-risk/SKILL.md。命名空间纪律信号只写trading-signals不要污染trading-backtests长期回测或trading-analysis市场分析输出。五个命名空间的归属由 ADR-126 Phase 1 固化访问一律走memory_*命名空间路由。至此一条从“原始行情”到“带置信度、先例证据、TTL 生命周期管理的交易信号”的完整 Agent 流水线就闭环了——这套流程不仅可复制到其他标的池其“异常分类 → 神经预判 → 历史对照 → 有界存储”的模式也可以直接迁移到其他高频、短时效的智能体任务中。【免费下载链接】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),仅供参考