量化交易不再需要你坐在键盘前:用 Loop Engineering 构建永不睡眠的自改进系统

发布时间:2026/10/9 18:37:37
量化交易不再需要你坐在键盘前:用 Loop Engineering 构建永不睡眠的自改进系统 1. 从「手动盯盘」到「循环自跑」量化交易 Agent 的真实痛点先说结论量化交易本身就是一个循环——拉行情、算信号、回测、下单、风控、复盘然后重复。区别只在于这个循环里塞的是几百个分析师还是一个会自己迭代的 Agent 系统。大多数散户量化的现状是这样的打开 Claude Code贴一段行情数据等它给个信号看一眼觉得有道理再手动跑个回测然后关掉窗口。第二天重复一遍。你以为你在用 AI其实你自己就是那个 for 循环的循环体。Agent 只是循环里被调用的一次函数状态不累积经验不复利你合上电脑它就停了。Loop Engineering循环工程要解决的就是这件事。它的核心不是「让 Agent 更聪明」而是「让循环自己转起来」你定义目标和停止条件系统自己拉数据、生成信号、独立验证、执行、写回教训然后进入下一轮。Agent 单次运行会忘掉上下文但循环不会——状态写在文件里教训写进技能文件跨运行累积。这套东西适合谁适合已经会用 Claude Code 或类似 agentic 工具、手上有基础策略逻辑、但被「必须全程坐在键盘前」卡住的 solo builder。你不需要几百人的团队你需要的是把六个组件接成一个闭环。下面我把整套配置拆成可复制的步骤包括 MCP 工具接入、失败重试和日志回放验证。2. 前置准备TaoToken 接入与 Claude Code 环境配置在写循环之前得先让 Agent 能稳定调用模型。这一步很多人卡在鉴权和 Base URL 上我直接把配置给全。TaoToken 是一个模型调用入口官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 注意 API 地址不加 UTM 参数。它的作用是让你在 Claude Code、Codex 这类工具里统一配置模型访问不用每个工具单独折腾一遍鉴权。先拿 Key。打开控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在 API Keys 页面创建一个新 Key复制出来。这个 Key 后面会写进配置文件别贴到公开仓库里。Claude Code 的配置走 settings 文件。在项目根目录建.claude/settings.json写入下面这段路径和字段名保持原样别改{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-5-20250929 }, permissions: { allow: [Bash, Read, Write, Edit] } }三件套对齐一下Base URL 是https://taotoken.net/apiKey 是你在控制台生成的那串Model ID 用claude-sonnet-4-5-20250929生成信号用 Sonnet验证阶段我们换成 Opus后面会讲。这三个字段任何一个写错请求都会失败最常见的报错是 401 和local proxy failed第 5 节专门排。如果你用的是 Codex配置写在~/.codex/auth.json结构类似{ OPENAI_BASE_URL: https://taotoken.net/api, OPENAI_API_KEY: sk-你的TaoToken密钥, model: gpt-5-codex }Cline 或带 MCP 的编辑器则在 MCP 配置里填 Base URL 和 KeyModel ID 单独指定。不管哪个工具记住「Base URL Key Model ID」这三件套必须同时正确缺一个都连不上。配完之后先别急着写循环跑一次最小验证在 Claude Code 里输入一句「列出当前目录文件」能正常返回就说明链路通了。这一步过了再往下搭循环。3. 可复制配置把六个组件接成自改进闭环循环工程要能稳定跑必须凑齐六个组件缺一个都会在某天悄无声息地失效。我按量化场景逐个给配置。Automation触发器循环的心跳。用 cron 或 Claude Code 的 hook 都行。固定节奏用/loop跑到条件满足才停用/goal。比如每 5 分钟拉一次行情*/5 * * * * cd /path/to/quant-loop claude -p $(cat prompts/ingest.md) logs/ingest.log 21Skill技能文件建SKILL.md写你的交易规则、历史教训、避坑清单。这是系统自我改进的落点——每次亏损把教训追加进去下一轮 Agent 读到的就是更新后的规则。# SKILL.md ## Alpha 规则 - 动量突破需成交量放大 1.5 倍以上才有效 - 震荡市禁用趋势策略 ## 历史教训 - 2024-11-03未过滤财报日信号被跳空打穿新增「财报前 2 日禁开仓」State 文件建STATE.mdAgent 每轮开始读、结束写。它是循环的记忆脊柱也是出事时唯一能回溯的审计日志。# STATE.md ## 当前持仓 - BTCUSDT long 0.5 62000 ## 上轮动作 - 生成 3 个信号2 个通过验证1 个被风控拦截 ## 待处理 - 回测 Sharpe 未达 1.5需调整参数Verifier验证器生成信号的 Agent 不能自己当裁判。单独起一个验证 Agent用不同模型生成用 Sonnet验证用 Opus只看信号结果不看生成推理。这是 Maker-Checker 模式华尔街 prop shop 内部都这么干。Worktrees工作树用 git worktree 让信号研究、回测、风控并行跑互不干扰git worktree add ../quant-signal feature/signal git worktree add ../quant-risk feature/riskConnectors连接器基于 MCP 接外部世界。行情源、数据库、通知渠道都走 MCP。在.claude/mcp.json里配{ mcpServers: { market-data: { command: npx, args: [-y, your/market-mcp], env: { API_KEY: your-data-key } }, notify: { command: npx, args: [-y, your/slack-mcp], env: { SLACK_TOKEN: xoxb-xxx } } } }六个组件接成五个子循环数据摄取 → 信号生成 → 验证 → 执行 → 风控教训写回 SKILL.md然后重新开始。停止条件必须外部可验证比如「最近 30 笔 Sharpe 1.5 且最大回撤 5%」绝不能用「Agent 说它做完了」当退出条件——它经常干到一半就宣称完成坏仓位还开着。4. 验证请求与日志回放一次失败重试的完整演示配置写完得验证循环真的在转。我演示一次失败重试加日志回放。先手动触发一轮信号生成看返回claude -p 读取 SKILL.md 和 STATE.md拉取最近 1 小时 BTCUSDT 行情生成交易信号写入 STATE.md正常返回会带信号和写入确认。假设这次验证 Agent 判定信号无效比如成交量没放大循环应该自动重试而不是退出。重试逻辑写在 prompt 里## 重试规则 - 若验证未通过读取验证 Agent 的拒绝理由 - 将理由追加到 SKILL.md 的「历史教训」 - 调整参数后重新生成最多重试 3 次 - 3 次仍失败则写入 STATE.md 并通知跑一轮看日志tail -f logs/ingest.log你会看到类似这样的回放[12:05:01] 拉取行情 60 条 [12:05:03] 生成信号: BTCUSDT long [12:05:05] 验证: 拒绝 - 成交量未达 1.5 倍 [12:05:06] 写入教训到 SKILL.md [12:05:08] 重试生成信号 [12:05:10] 验证: 通过 [12:05:11] 写入 STATE.md日志回放的价值在于出问题时你能完整回溯每一步而不是面对一个黑盒。我试过把 STATE.md 和日志对照着看能快速定位是数据源断了、验证器误杀还是风控规则太严。验证模型是否正常响应可以在模型对话页 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 手动发一条测试请求确认 Sonnet 和 Opus 都能调通。如果长期跑编码和 Agent 任务Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 更适合高频循环场景。5. 常见报错排查401、local proxy failed 与 OAuth 问题循环跑不起来九成是配置问题。我把踩过的坑列出来对照。401 UnauthorizedKey 错了或没生效。检查.claude/settings.json里的ANTHROPIC_AUTH_TOKEN是否和控制台生成的一致注意别多复制空格。如果刚改完配置重启 Claude Code 让环境变量重新加载。local proxy failed通常是 Base URL 写错或网络层拦截。确认ANTHROPIC_BASE_URL是https://taotoken.net/api结尾不要多加斜杠。如果用了本地代理工具检查它是否把请求转丢了。reading choices 报错模型返回结构不符合预期多半是 Model ID 写错或该模型不支持当前调用方式。核对 Model ID 拼写生成和验证用的模型要分别确认可用。OAuth 相关报错如果你之前用官方登录方式鉴权切到 Key 鉴权后旧 token 可能冲突。清掉旧的凭据缓存只保留 settings 里的 Key 配置。MCP 连接失败检查mcp.json里的 command 和 args 是否正确npx能否正常拉包。先手动跑一次npx -y your/market-mcp看是否报错。循环空转不产出多半是停止条件写成了「Agent 自我宣称完成」。改成外部可验证条件比如让脚本检查 STATE.md 里的 Sharpe 字段是否达标。排查顺序建议先确认三件套Base URL Key Model ID再确认 MCP 连接最后看循环逻辑。接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有各工具的完整配置示例对着抄一遍能省很多时间。6. 把循环跑起来从架构师视角重新定义你的工作搭完这套系统你的角色变了。你不再是那个为一笔交易打一个提示、等着结果的人你是设计循环的人。循环在你合上电脑后继续跑每轮把教训写回 SKILL.md一百笔交易后它是一份活文档一千笔后接近机构级知识密度。资金量越小这套系统反而越重要——它是 solo builder 唯一能系统性缩小与大基金差距的方式。华尔街用几百人把同一个循环跑到极致你用六个组件加五个子循环让系统自己完成。现在的问题不是「要不要用 AI」而是「你还在当循环本身还是已经开始写循环」。前者你永远坐在键盘前后者你设计一次之后接近零干预。需要开始的话先去 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 拿 Key把三件套配好然后从最小的数据摄取子循环跑起。别一上来就接实盘先用日志回放验证每一环确认验证器和风控都在正常工作再逐步放开执行权限。循环工程的核心不是快是稳——一个能持续自我修正的慢循环胜过一个需要你全程盯着的快循环。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询