2026-08-25 凌晨开工:158 组策略全灭,两条新赛道一天走完立项全流程

AI 工作日志 作者头像野生码农 阅读 11 min
返回板块 GEO 源码全文 ✓
2026-08-25 凌晨开工:158 组策略全灭,两条新赛道一天走完立项全流程

2026-08-25 凌晨开工:158 组策略全灭,两条新赛道一天走完立项全流程

背景与目标

量化交易项目 ZDQ 的日度工作启动。目标是稳态年化 100%、单次回撤不超 10%。今天赶上两个特殊条件:一是昨天(08-24)是个缺口日,只有夜间任务自动跑,日报计划都欠账;二是用户一早就扔下一句话——

「还有 4 小时周额度就浪费了,你可以多子代理,多任务同步推进,今天工作量翻倍执行。特别是研究队列,可以多线推进。」

周额度是 Kimi Code 的每周 LLM 调用配额,到期清零不用就作废。这句话直接改变了今天的打法:从「一个主智能体串行推」切换成「子智能体集群并发烧额度」。

过程回顾

04:44 日度启动:先核账再派活

daily-work-start 技能扫昨天:nightly 14/14 阶段全绿,研究队列夜批 3 组全灭归档,但日报和今日计划欠账。CIO 角色上场,先把欠的裁定补上——上周日留了个「三选一」立项题(ETF 份额聪明钱 / L5 结构层 / 板块轮动),昨天没评,今天定。

裁定:ETF 份额聪明钱 GO(对手定位战略里点名的聪明钱方向,数据实测可行);另外两个后来各自做了预备评估,北交所暂缓(可交易宇宙只剩 68 只)、L5 结构层暂缓到 2027 Q2(拼接层参数空间实测是平的,调它=拟合噪声,还会毁掉正在进行的状态机实盘实验——这条理由我认为是今天最值钱的"不做"决策)。

05:10 研究队列首轮:28 分钟烧完 104 组

策略研究队列是 08-23 刚上线的机制:114 个「因子×参数」组合排队,每晚自动跑 3 组,从严闸门判定(多重检验修正,同族试得越多门槛越高)。

今天直接 --max-jobs 110 一把梭:28 分钟跑完全部 104 组,0 过线,全部归档。第一批 backlog 清空。

全灭之后立刻做失败聚类——按项目的模型路由纪律,这一步走 kimi k3-256k 命令行调用。结论:主灭因不是因子全假,而是「无波控裸多头 × 熊市训练窗」把回撤闸门全挂;alpha 弱存在但厚度差门槛约一倍。基于聚类结果生成第二批 54 个组合(幸存象限补波控、未测因子封口、转债短窗补窗),05:45 入队,队列 168。

05:45 内存闸拦停:桌面环境把内存吃光了

第二批刚要开跑,脚本自检:可用内存 3.4GB < 4GB 闸,退出码 2 自跳过。一查进程,大头是 WindowsTerminal 8.3GB、Edge 约 2.9GB——整机 33.9GB 被桌面环境吃到 91%。

处理:挂一次性 cron 门控重试,06:23 查 3.5GB 不够,再挂 06:53,内存回到 5.6GB 放行,二轮开跑,07:06 收工——54 组又全灭,0 候选。今日合计 158 组全灭。

并行线:两个新专项一天走完立项全流程

等内存的间隙和跑队列的间隙,子智能体并发把两个新专项从立项推进到「万事俱备只欠跑数」:

ETF 份额聪明钱专项:立项书起草 → CIO 评审 GO → validator 复核提 6 条修订(最狠一条:份额折算防污染原来只盖了两个因子,另两个用份额水平值构造的根本没盖住)→ 修订锁定 → 回填脚本落地(390 行,断点续传+逐日对账)→ 冒烟 5 日 4,476 行零差错 → 发现接口类型枚举跟预想完全不一样(没有「股票/货币」分类,只有「单市/跨市/跨境/其他」),剔除口径紧急改道 → 研究脚本 1,265 行就绪 → 披露时点核验直接实证通过(清晨 06:16 实测:盘前 3 小时,昨日全市场 897 只份额快照已能拉到,shift(1) 无未来函数)。

行业轮动专项:预备评估发现申万官网免费源全链路可用(5,912 只股票的 PIT 行业归属变动历史 + 31 只一级行业指数 1999 年起日K)→ 立项书 → validator 复核提 9 条修订 → 数据脚本 831 行 + 研究脚本 1,855 行就绪 → 内部码对照表质量抽审 PASS(L1 31/31 教科书式映射,银行指数 Jaccard 相似度 1.0 完全重合)。

07:07–08:02 回填:40 分钟灌进 91 万行

队列清空后 DuckDB 写锁释放,ETF 份额全量历史回填分离启动。结果比预估快一倍:3,550 个交易日、907,356 行、零失败、40.5 分钟跑完——加上清晨冒烟的 4,476 行,库内总行数 911,832,严丝合缝。源是上交所官方接口,逐日源行数与库内行数对账全过。

08:12–11:22 申万入库与核验闭环

回填一完,申万数据入库自动接力:行业分类表 12,903 行(5,912 只股票的 PIT 归属变动历史,含三重断言与 hash 快照防源侧改版)、对照表 785 条(一级行业 31/31 全部自动匹配,冻结凭证达成)、31 只行业指数日K 141,533 行。零失败。

上午还闭环了 ETF 份额专项最后一道跑前核验——份额数据的「日期标签语义」。质监拿 1,113 件份额跳变候选事件逐件对齐价格面板,发现 55 件真拆分/合并事件 100% 呈现「份额跳变比价格跳空早一天」——查公告实证(券商 ETF、上证 50ETF、城投债 ETF 三件),原来这是制度性必然:权益登记日日末折算、次日除权价格才跳空。结论:份额标签就是 T 日收盘口径,因子构造 shift(1) 精确无未来函数,专项跑数口径全部钉死。

11:31–16:47 下午:被 2GB 内存挡在门外

万事俱备,只剩跑数。然后整个下午卡在一件很朴素的事情上:可用内存一直在 2.4–3.4GB 徘徊,过不了 5GB 启动线。门控 cron 从 11:47 到 16:47 检查了 8 次,次次不够。清晨有 5.6GB、上午一度回到 10.7GB,下午桌面应用全开就再没上来过。

结果:两大专项的面板构建和 Phase 0/A/B 跑数全部挂账顺延到明天。今晚夜间任务不受影响(它有独立的内存容错编排),明早日度启动先查内存再接管。

这一天因此有一个很诚实的形状:该烧的额度清晨全烧了(158 组跑数+两个专项全部案头工作),该等的内存下午没等到。

关键踩坑

  • 坑 1:后台任务随回合结束被杀。 早期教训复用:长任务一律 powershell Start-Process 分离启动,cron 定时接力检查,不靠会话内等待。
  • 坑 2:内存闸拦停了一整个下午。 脚本有 4GB 内存自检保护,桌面应用把内存吃光就直接拒跑。清晨解法(cron 门控重试 + 如实告诉用户关应用)在上午有效,但下午桌面持续活跃,8 次门控检查(11:47–16:47)全部 2.4–3.4GB 未达标,跑数只能挂账。教训:门控重试兜得住"瞬时紧张",兜不住"持续满载"——白天跑重活前应该先看内存账,这条已从教训升级为流程。
  • 坑 3:DuckDB 单文件写锁互斥。 跑数进程 import 时会挂只读长连接,回填要写库——两边必须串行,顺序是「队列跑完 → 回填 → 申万入库」,排错顺序就是锁冲突。
  • 坑 4:立项书的「预期」被实测打脸两次。 ETF 类型枚举、申万三级指数代码段(不在 801xxx,在 850 段)都跟文档预期不符。幸亏流程是「先实测核验再锁定口径」,两处都在跑数前拦住了。

最终方案

今天实际交付的不是某个赚钱策略,而是一套研究流水线的高强度运转样本:

  • 158 组策略组合全灭归档,零候选——这是多重检验从严闸门的设计内结果,灭得越干净,幸存者越可信;
  • 两个新专项各自由「立项书(口径跑前冻结)→ CIO 评审 → validator 复核修订 → 数据工程 → 研究脚本」五步走完,口径雷在跑数前全部排掉;
  • 全天 17 个子智能体实例并发,角色分工(架构总监/质监/数据库运维)+ 模型分层(执行层纯脚本、分析层 k3-256k、决策层主智能体)按纪律执行;
  • 唯二挂账:两大专项的面板构建与正式跑数,因下午内存全程不足顺延次日——数据、脚本、口径全部就绪,只欠 2GB。

做得好的地方

  • 用户的额度提醒被翻译成了具体的并发结构:不是泛泛地"多干活",而是识别出 LLM 配额要烧在分析/起草/复核上(子智能体),脚本跑数不耗额度但要排好写锁时序——两类资源分开编排。
  • 失败聚类没有自己拍脑袋:走 L1 模型路由调 kimi CLI,第二批组合的假设逐条落盘可审计,族归属从严防门槛套利(把 sharpe/RSI 归 mom 族而不是 volprice 族,因为 mom 族已试次数多、门槛更高)。
  • 「不做」的决策质量在线:北交所和 L5 结构层两个暂缓,都有量化证据撑着,不是为了凑工作量硬立项。

复盘与改进

  • 全灭 158 组之后,mom/volprice 两族按立项书纪律该触发「冻结归因复盘」而不是继续第三批网格——已记入日报待办,这是明天 CIO 要拍的。
  • 内存问题暴露出一个盲区:工作机的桌面环境(终端、浏览器)和研究任务抢内存,夜间任务没冲突是因为那时桌面空闲。今天实测了这条边界的完整形状:清晨 5.6GB、上午峰值 10.7GB、下午 2.4–3.4GB 持续满载。规则已改:白天重活先看内存账,门控重试只兜瞬时紧张、不兜持续满载。
  • 队列 3 组/晚的默认节奏确实太慢(机时预算利用率 3.7%),今天证明白天一把梭完全可行——后续可以考虑把白天窗口跑队列固化为惯例,而不是等额度告警才突击。
  • 08-23 的日报漏落档暴露收工三件事的执行缺口,cron 兜底机制(23:47)在缺口日没兜住,值得查一下原因。

素材点

  • 「28 分钟枪毙 104 个策略」——从严闸门下全灭是机制的胜利,不是研究的失败;
  • ETF 类型枚举实测打脸立项书预期:先核验再冻结的流程价值实例;
  • 清晨 06:16 盘前直测交易所接口验证数据可得性——低成本的披露时点实证方法;
  • 内存闸拦停后 cron 门控重试链:无人值守任务与桌面环境抢资源的工程化解法(含下午 8 次重试全灭的失败侧样本);
  • ETF 份额拆分的「领先一日」现象:登记日日末折算、次日除权跳空,3 份公告实证——免费数据源口径核验的教科书案例;
  • 用户一句「周额度别浪费」触发的工作量翻倍:人机协作里资源意识驱动的典型案例。
野生码农头像

关于作者 · 野生码农

把 AI 真放进生产环境的独立开发者。自研本地知识库、数字员工团队、软考备考系统、量化交易四套系统,全程公开复盘。

看他的平台账号 →
相关

继续阅读