量化交易不再需要你坐在键盘前:用 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把三件套配好然后从最小的数据摄取子循环跑起。别一上来就接实盘先用日志回放验证每一环确认验证器和风控都在正常工作再逐步放开执行权限。循环工程的核心不是快是稳——一个能持续自我修正的慢循环胜过一个需要你全程盯着的快循环。

相关新闻

车站售票系统课设实战:MySQL表设计、JDBC事务与并发扣票全解析

车站售票系统课设实战:MySQL表设计、JDBC事务与并发扣票全解析

简介:一套面向广东工业大学数据库课程设计的车站售票管理系统个人方案,适合正在选题或实现课设的学生参考。系统覆盖车票购买与退票、车次与时刻表查询、售票情况统计,并实现数据安全管理、操作员管理和权限设置等系统维护功能,功…

2026/10/19 7:14:17 阅读更多 →
∑求和符号从入门到精通:数学原理、工程应用与算法复杂度分析

∑求和符号从入门到精通:数学原理、工程应用与算法复杂度分析

1. 从一个符号说起:∑到底是个什么东西第一次在数学课本或者工程文档里看到∑这个符号的人,十有八九会愣一下。它长得像个歪歪扭扭的字母E,又像是某种神秘代码。其实这个符号念作“西格玛”(Sigma),是希腊字…

2026/10/19 7:12:45 阅读更多 →
数位DP入门实战:B-number状态设计与记忆化搜索详解

数位DP入门实战:B-number状态设计与记忆化搜索详解

1. 从一道题看数位DP的核心思想B-number 这个题名看着朴素,实际上是一道非常经典的数位DP入门到进阶的过渡题。它的核心要求通常是:统计某个区间内满足特定数字结构条件的数的个数,而 B-number 的经典定义是——数字的十进制表示中&#xff0…

2026/10/15 2:47:42 阅读更多 →

最新新闻

从Prompting到系统Prompting:Agent开发的心智升级与工程落地

从Prompting到系统Prompting:Agent开发的心智升级与工程落地

做Agent开发这件事,做得越久,越觉得“提示词”这三个字已经不太够用了。前几年的主流做法,核心就是把一个任务描述清楚,让模型输出符合预期的答案。但当我真正开始搭建一个能自主调用工具、多轮推进任务的Agent时,才发…

2026/10/20 8:07:25 阅读更多 →
从零构建卡牌游戏框架:Unity多人CCG核心架构与实现解析

从零构建卡牌游戏框架:Unity多人CCG核心架构与实现解析

玩卡牌游戏的人很多,但能说清楚"一张卡牌从数据库到屏幕、再从手牌到战场,背后到底发生了哪些事"的开发者,其实不多。我早几年接手过一个类《炉石传说》的多人卡牌项目,技术选型定在Unity,当时市面上没有一个…

2026/10/20 8:07:25 阅读更多 →
Seedance 2.0深度实测:AI视频生成从玩具到工具的跨越

Seedance 2.0深度实测:AI视频生成从玩具到工具的跨越

1. 这个AI视频工具究竟强在哪儿看到Seedance 2.0的消息时,我第一反应是"又来了",毕竟这两年的视频生成模型一个比一个能吹,但实测下来大多数都是"宣传片级表现"——样片惊艳,自己一跑就露馅。不过这次试用下来…

2026/10/20 8:07:25 阅读更多 →
Redis布隆过滤器实战:原理、参数与缓存穿透解决方案

Redis布隆过滤器实战:原理、参数与缓存穿透解决方案

提起 Redis,很多人第一反应是缓存、分布式锁、排行榜这些熟面孔。但有一个数据结构,平时不起眼,真到缓存穿透打垮数据库、或者几亿条数据要做去重时,你才发现它是救命稻草——没错,就是布隆过滤器(Bloom Fi…

2026/10/20 8:07:24 阅读更多 →
SpringBoot+Vue3作家信息管理系统实战:从数据库设计到前后端分离部署

SpringBoot+Vue3作家信息管理系统实战:从数据库设计到前后端分离部署

1. 项目概述与设计思路1.1 这个系统到底解决了什么问题做过图书编目、文学资料整理的朋友应该都有同感:作家的档案信息往往散落在不同渠道,有的是出版社内部的 Excel 表格,有的是资料室的手写卡片,有的只在某个官方报道里提了一嘴…

2026/10/20 8:07:24 阅读更多 →
Python基于Vue的物业管理系统毕业设计实战:从数据库设计到部署上线

Python基于Vue的物业管理系统毕业设计实战:从数据库设计到部署上线

做物业管理系统这个项目,我自己前前后后带过好几个同学完整走了一遍,从选题、画原型、建表到前后端联调,最后部署上线,整套流程可以说非常熟悉了。这个题目在毕业设计里出现频率极高,核心原因不是它有多简单&#xff0…

2026/10/20 8:06:24 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →