ruflo 实战指南:使用 trader-train 技能训练 LSTM / Transformer / N-BEATS 神经交易模型
【免费下载链接】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-neural-trader插件的trader-train技能展开,完整讲解如何通过npx neural-trader在本地训练 LSTM、Transformer、N-BEATS 三类神经预测模型、生成带置信区间的预测、跨模型对比效果,并把训练结果按规范写入 AgentDB 的trading-analysis命名空间,最后用 SONA 神经训练闭环沉淀模型经验。读完你将掌握一条从"模型训练 → 结果评审 → 预测生成 → 结果入库 → 自学习闭环"的完整可执行链路。
技能定位:一张可被 Agent 直接调用的训练契约
trader-train是ruflo-neural-trader插件(位于 plugins/ruflo-neural-trader)提供的 9 个技能之一,其定义文件是 SKILL.md。它本质上是写给 Claude Code 等 Agent 使用的一张"操作契约"——通过 YAML frontmatter 声明自己的能力边界:
- name:
trader-train——技能标识,可经/trader-train <model> --symbol <TICKER>形式调用; - description: 训练 LSTM、Transformer、N-BEATS 神经模型,并附带置信区间;
- allowed-tools: 仅放行
Bash、Read,以及ruflo-core插件暴露的memory_store、memory_search、neural_train三个 MCP 工具——最小权限设计,技能无法越权调用其他工具; - argument-hint:
"<lstm|transformer|nbeats> --symbol <TICKER>"——明确告知调用方必须提供模型类型与交易标的两个参数。
仓库的 smoke.sh(第 20–33 步)会逐项校验全部 9 个技能的 frontmatter 完整性(name:/description:/allowed-tools:三键齐全),并断言没有任何技能使用通配符工具授权(第 78–83 步),trader-train正是这套严格契约的合规成员。
前置条件:正确安装 neural-trader 运行时
技能第 1 步要求先确认neural-trader可用。该技能给出的自愈式安装命令为:
npm ls neural-trader 2>/dev/null || npm install --ignore-scripts neural-trader这里有两个必须注意的细节,均可在 plugins/ruflo-neural-trader/README.md 的 Prerequisites 一节找到依据:
- 版本锁定:插件要求
neural-trader@^2.8.11(2026-05-14 发布)。2.8.x 之前的版本存在四个叠加缺陷——安装钩子 fork-bomb(2.7.2 修复)、require缺文件(2.7.5 修复)、aarch64-apple-darwin编译失败(2.7.5 修复)、npm 包平台二进制缺失(2.7.6 修复)——因此推荐显式安装:
npm install --ignore-scripts neural-trader@^2.8.11--ignore-scripts是纵深防御:即便 2.7.2+ 的安装钩子已安全,--ignore-scripts仍可防止该包或其传递依赖未来出现安装脚本回归。仓库中的 CI 守护脚本audit-neural-trader-safety.mjs会强制所有文档化调用都带上该参数。此外注意平台兼容性:linux-x64-gnu与darwin-arm64/darwin-x64有完整原生绑定,而linux-arm64-gnu与win32-x64-msvc上 JS 接口可用但原生调用会在运行时抛错。
装好之后,可以通过npx neural-trader --version做一次快速冒烟验证。
训练三类神经模型:命令与参数详解
技能第 2 步给出三条训练命令,分别对应三类模型架构:
npx neural-trader --model lstm --symbol TICKER --confidence 0.95 npx neural-trader --model transformer --symbol TICKER --predict npx neural-trader --model nbeats --symbol TICKER --decompose三类模型在 README.md 的 "Neural Models" 一节有明确定位:
| 模型 | 类型 | 适用场景 |
|---|---|---|
| LSTM | 循环网络(Recurrent) | 序列预测、价格走势预测 |
| Transformer | 注意力机制(Attention) | 多变量模式识别 |
| N-BEATS | 分解架构(Decomposition) | 趋势/季节性分解 |
参数说明:
--model <lstm|transformer|nbeats>:选择模型架构,三者共用同一 CLI 入口;--symbol <TICKER>:训练数据标的,如TSLA、BTC-USD、SPY;若需训练数据来源,可结合ruflo-market-data插件的 OHLCV 数据管线(README "Related Plugins" 一节注明其喂给trading-strategies命名空间);--confidence 0.95:置信区间水平(LSTM 训练时使用,默认语义为 95% 置信度);--predict:训练完成后立即在该标的上生成预测(Transformer 命令示例即采用此组合);--decompose:输出 N-BEATS 的趋势/季节性分解结果,便于理解时间序列的组成成分。
README 中给出了带真实标的的等价示例(--symbol TSLA --confidence 0.95、--symbol BTC-USD --predict、--symbol SPY --decompose),可直接替换上述命令中的TICKER验证。命令文档 commands/trader.md 的train子命令也印证了这一形态:/trader train <lstm|transformer|nbeats> --symbol <TICKER>,其实现底层就是npx neural-trader --model <...> --symbol <TICKER> --confidence 0.95,并要求 Agent 从输出中捕获预测与置信区间。
结果评审:loss 曲线、验证指标与预测精度
技能第 3 步要求 Agent 在训练后审查三类输出信号:
- loss 曲线(训练损失曲线)——判断模型是否收敛、有无过拟合迹象;
- 验证指标(validation metrics)——评估模型在未见数据上的泛化表现;
- 预测精度(prediction accuracy)——与真实走势对照,量化误差。
从仓库结构看,这一评审环节并非孤立存在:ruflo-neural-trader还配套了trader-explain技能(基于 ADR-126 Phase 6 的单入口 PageRank 特征归因)与trader-backtest技能(Rust/NAPI 回测引擎,含 walk-forward 验证),它们共同构成"训练 → 解释 → 验证"的完整质量闭环。例如 ADR-126 文档记录了如何用npx neural-trader --predict --signal <id> --explain --json提取特征贡献分数,用注意力权重(Transformer)、梯度 × 输入(LSTM)等手段解释预测来源——这可以作为评审阶段"预测精度不够时归因到哪些特征"的进阶工具。
生成带置信区间的预测
技能第 4 步给出预测命令模板:
npx neural-trader --model MODEL --symbol TICKER --predict --horizon 5d--horizon 5d:预测时间跨度,此处为 5 个交易日;- 与第 2 步的
--confidence 0.95结合,即可得到"未来 5 日走势 + 95% 置信区间"的输出。
这是训练完成后最有实战价值的一步:将训练好的模型直接用于标的未来走势推演,置信区间为决策提供不确定性度量——区间越宽,说明模型对该时点越没有把握。命令文档 commands/trader.md 的train子命令也强调"捕获预测和置信区间",说明这两者必须作为训练输出持久化,而非仅打印在终端。
跨模型对比:让三种架构同台竞技
技能第 5 步提供模型横向对比能力:
npx neural-trader --model-compare --symbol TICKER --models "lstm,transformer,nbeats"--model-compare:进入对比模式;--models "lstm,transformer,nbeats":指定参与对比的模型清单(逗号分隔)。
该命令在同一标的上并行训练/推理三种架构并输出对比结果,帮助选择当前数据形态下的最优模型——例如趋势明显的标的中 LSTM 可能占优、多变量交互复杂的场景 Transformer 更稳、强季节性的数据则 N-BEATS 的分解特性更有解释力。这一步产出的对比结论,应作为第 6 步入库的核心内容。
结果入库:trading-analysis 命名空间(ADR-126 规范)
技能第 6 步把训练结果写入 AgentDB 记忆,命令如下:
mcp__plugin_ruflo-core_ruflo__memory_store({ key: "model-MODEL-TICKER-DATE", value: "TRAINING_RESULTS", namespace: "trading-analysis" })关键点解析:
- key 规范:
model-<模型>-<标的>-<日期>,例如model-lstm-TSLA-2026-09-09,保证同模型同标的按日期可追溯; - value:训练结果全文(loss 曲线摘要、验证指标、预测精度、置信区间等);
- namespace:必须为
trading-analysis——这是 ADR-126 Phase 1 修复的规范结果。该命名空间的用途在 ADR-126 中定义为"market-analyst 输出(市场制度分类、技术指标摘要、模型训练结果)"。
为什么必须是 trading-analysis 而不是 trading-models?
这是一个有明确历史教训的规范点。ADR-126 的调研(第 20 行)记录了一个真实存在过的三向命名空间不匹配 bug:README 声称trading-{strategies,backtests,risk,analysis}四个命名空间,ADR-0001 却声明了trading-signals和trading-models,而trader-signal技能实际写入trading-signals——结果 smoke 测试通过,但下游按文档命名空间搜索时静默丢失所有信号数据。ADR-126 Phase 1 的修复就是把这套对齐到唯一的五命名空间规范集:
| 命名空间 | 用途 |
|---|---|
trading-strategies | 策略定义、参数、市场制度条件映射 |
trading-backtests | 历史回测结果(长生命周期,Phase 4 起 Ed25519 签名) |
trading-risk | 风险模型状态、VaR/CVaR 快照、熔断触发记录 |
trading-analysis | market-analyst 输出——市场制度分类、技术指标摘要、模型训练结果 |
trading-signals | 短期信号事件(日内,Phase 2 起应用 24h TTL) |
trader-train技能内注明"此前曾写入未声明的trading-models",正是对这一修复历史的显式遵循。插件 README 的 Namespace coordination 一节还补充了两条原则:前缀统一用trading-(而非插件名neural-trader-),且严禁遮蔽保留命名空间(pattern、claude-memories、default)。所有访问都必须走memory_*路由。
记忆生命周期的配套保障
训练结果一旦入库,还受益于 ADR-125 记忆整合层(插件 README "Memory lifecycle" 一节):@claude-flow/memory@3.0.0-alpha.18提供 HNSW 索引侧车文件持久化(进程重启无需重建索引)、混合检索(稠密 ANN + 稀疏 FTS5,RRF 融合 + MMR 去重,嵌入模型不可用时优雅降级为纯关键词)、以及每 6 小时自动执行的MemoryConsolidator(清理过期项、去重、压缩 HNSW)。这意味着trading-analysis中的训练结果可以被market-analyst等下游以语义相似度方式检索复用。
自学习闭环:让 SONA 从模型结果中持续进化
技能第 7 步是整套链路收尾的关键:
mcp__plugin_ruflo-core_ruflo__neural_train({ patternType: "trading-model", epochs: 10 })这步调用的是ruflo-core插件暴露的neural_trainMCP 工具,把本次训练的经验模式喂给 SONA(自我学习智能层):
patternType: "trading-model"——模式类型标记,用于把"哪些模型在哪些标的上表现如何"沉淀为可检索的嵌入模式;epochs: 10——训练轮数,控制本次模式学习的迭代深度。
从实现层面看,该工具对应的底层实现是 v3/@claude-flow/cli/src/mcp-tools/neural-tools.ts,其设计是混合式:优先使用@claude-flow/embeddings产生真实 ML 嵌入,模型未安装时回退到基于哈希的确定性嵌入;训练的本质是把模式存为可搜索的嵌入向量并支持余弦相似度检索。这解释了为什么第 7 步与第 6 步必须成对出现——先入库trading-analysis保证结果可审计,再neural_train让 SONA 跨训练批次积累"什么模型组合更有效"的元知识。同样的模式在trader-backtest技能中以patternType: "trading-strategy"出现(Sharpe > 1.5 时触发),在 commands/trader.md 的 backtest 子命令中也有对应——说明 SONA 学习是交易管线中各环节共用的闭环机制。
从训练到生产:与回测、风控管线的衔接
trader-train只是ruflo-neural-trader插件九技能矩阵中的一环。训练产出的模型若要走向真实交易,需沿插件设计好的管线继续推进(可参考 pipeline-messages.ts 中定义的RegimeVerdict → SignalProposal → RiskDecision类型化消息,以及 ADR-126 Phase 5 的 SendMessage 风险闸门设计——trading-strategist未经risk-analyst批准不得调用券商下单):
- 用
trader-backtest(或重任务走trader-cloud-backtest云端托管)对训练后的策略做 walk-forward 回测与蒙特卡洛模拟; - 用
trader-signal扫描异常信号,trader-regime判定当前市场制度; - 用
trader-risk做 VaR/CVaR 评估与仓位管理,trader-portfolio-cg用共轭梯度做组合优化; - 用
trader-explain为 LSTM/Transformer 信号生成监管级特征归因报告(PageRank 排序 + Ed25519 签名落库)。
整套验证入口是插件根目录的 scripts/smoke.sh,运行bash plugins/ruflo-neural-trader/scripts/smoke.sh即可看到 11 项契约检查(技能完整性、命名空间声明、无通配符授权等)的结果。本文覆盖的训练链路——安装 → 训练 → 评审 → 预测 → 对比 → 入库 → SONA 学习——与这些环节共同构成 ruflo 中可审计、可解释、可自学习的神经交易工作流。
快速参考:trader-train 完整命令清单
| 目的 | 命令 |
|---|---|
| 安装/确认运行时 | npm ls neural-trader 2>/dev/null \|\| npm install --ignore-scripts neural-trader |
| 训练 LSTM(含置信区间) | npx neural-trader --model lstm --symbol TICKER --confidence 0.95 |
| 训练 Transformer 并预测 | npx neural-trader --model transformer --symbol TICKER --predict |
| 训练 N-BEATS 并分解 | npx neural-trader --model nbeats --symbol TICKER --decompose |
| 生成区间预测 | npx neural-trader --model MODEL --symbol TICKER --predict --horizon 5d |
| 跨模型对比 | npx neural-trader --model-compare --symbol TICKER --models "lstm,transformer,nbeats" |
| 结果入库 | memory_store({ key: "model-MODEL-TICKER-DATE", value: "...", namespace: "trading-analysis" }) |
| SONA 自学习 | neural_train({ patternType: "trading-model", epochs: 10 }) |
上述命令均以当前仓库插件所依赖的neural-trader@^2.8.11CLI 形态为准;不同版本的参数细节以对应版本文档为准。
【免费下载链接】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),仅供参考