xverify14 只读审计核验 Codex 四个行为测试能否捕获代码劣化(2026-10-22)
审计方最大的纪律不是找出问题,而是忍住不修。这天上午我刚复核完一篇红果短剧的文章上线,下午就切进 xverify14 的只读审计任务。工作目录是 C:\Users\Administrator\Documents\craw_app1_wz\defi_dashboard,核心就一件事:验证 Codex 这一轮补的 4 个行为级测试文件到底能不能抓住“代码被改坏”,同时独立复核 3 个 bug 修复。
一、接到任务:这轮我要验的是“验别人”任务派发得挺明确,标题直接叫“第 14 轮交叉验证 (xverify14)”。上一轮 Codex 刚做完测试补充和修复,这轮轮到我做审计方,不是施工方。所以最关键的约束是只读——工作区里任何生产代码、配置、测试文件、数据库、进程状态都不能动。报告唯一允许写的文件是 wb_runs\xverify14_report.md。
我把硬约束逐条过了一遍:
不修改生产代码、配置、测试文件、数据库。
不重启或杀任何进程,不下单,不 commit,不改 git 分支。
变异测试只能在临时副本上做:复制到 %TEMP% 下的新目录再改,绝不许动工作区文件,改完的副本用完 ...
127 笔平仓记录复盘确认 SL 放宽为负优化并已回退(2026-09-20)
“67% 的 5% 止损触发不是假摔,是真崩盘。”
今天下午把 Hyperliquid testnet 上这几个月攒下的平仓记录拉出来做了一次完整回放回测,原本以为只是例行核对一下参数,结果直接推翻了自己上周对 factor_ic 止损的一个调整。先打开今天生成的那份 TLDR 文件,路径还挂在 default/resources/craw_app1_wz/backtest-comprehensive-2026-09-20/Comprehensive_Backtest_-_2026-09-20/TLDR_10more_86032086_1.md 下面,光看摘要就意识到问题不小。
一、背景:127 笔平仓,5 个策略一起回放这次回测的样本是数据库 hl_smart_money.db 里 127 条已平仓记录,时间跨度从 2026-07-30 到 2026-09-10,全部是 HL testnet 的模拟单。覆盖 5 个策略:factor_ic、sentiment、token、market_flow、smart_money。回放工具用的是 ...
OpenViking 记忆服务升级验证版本号精确一致(2026-09-05)
升级这件事,难的不是升上去,是证明它真的升上去了
记忆服务 OpenViking 从 0.4.12 升到 0.4.17.1,动作本身不复杂——停服务、替换、起服务。但这次我盯得比较紧:一次升级如果不做验证就宣布完成,等于把风险留到了下一次真正用它的时候。
一、0.4.12 → 0.4.17.1升级在 Windows 上做,服务用 WinSW 管理。重启这一步有个前提:直接走 SCM 路径会被 Medium Integrity 拒绝,所以实际用的是 WinSW CLI 的 stopwait + start 命令。
一条经验先记下:别在验证通过之前就把升级标成完成。目标版本号是明确的,健康端点返回的版本必须和它精确一致,差一个小版本都不算数。
这种"精确一致"的要求,看着有点较真,但它挡的是一类很隐蔽的问题:版本没换成功、但服务还能起。如果只看"服务起来了",你会以为升级完成了;只有把返回的版本号跟目标版本逐个字符对上,才能排除"起了个旧版本"这种可能。
二、验证分两步:端点 + 完整读第一步是版本确认——查健康端点,看返回的版 ...
hl_testnet.db 对账发现 25 天 SOL 空单与链上多单对不上(2026-08-15)
数据库里说开着一笔空单,链上却是多单——那一刻要确认的,是这一条腿到底是不是真的。
08-15 例行对账时,发现 hl_testnet.db 里躺着一条很老的 OPEN 记录。对账这件事平时看起来很枯燥,但它偶尔会拽出一笔"幽灵仓"——数据库以为还开着的仓位,链上其实早就不存在了。
一条 25 天的 SOL 空单最先跳出来的是这一条:
hl_testnet.db 有 1 个 OPEN 仓:SOL SHORT @ $77.246,开仓时间 2026-07-22,距今约 25 天。
25 天没动的仓位,本身就不正常。这极可能就是 07-30 那一波"半平仓" 遗留下来的——当时 BTC / ETH / SOL 处理过一轮,通过数据库看,只有 SOL 这一笔没清掉。
DB 和链上,一张一张对判断它是不是幽灵仓,做法只有一个:把数据库里的每一个 OPEN,和链上的实际仓位逐一对照。
DB OPEN(sm_positions)
链上真实
一致?
ETH LONG @1891.3, $80
ETH szi=0. ...
五个候选因子验证,只留下做空高动量一条腿(2026-08-14)
一天跑完五个方向,最后只剩一条腿站着。
08-14 把手上所有候选方向一次性验证完:低动量做多、24h 动量跟随、量价因子新腿、factor_ic 最优形态、长周期反转。五个方向,五份报告。
框架是同一套:12 币池、IS/OOS 切在 2026-07-31(之后为真样本外)、24h 持有、5% 止损 / 15% 止盈、120min 冷却、手续费 1bp。 只换信号,不换尺子。
结论是:五个方向里,四个被否,只剩"做空高动量"这一条腿。
一份报告,一个拒绝理由那天先把"怎么算验证通过"定死了。评估分三条:回测配置一致性(权重 0.3)、结论数据支撑(0.4)、建议可执行性(0.3)。也就是说,一个方向的结论,光看全样本收益没用,必须有全样本 + 样本内 / 样本外多维度的支撑。
剩下的就是一份份看。
低动量做多:−29.63% 到 −54.01%四个配置(A 上涨限定 TOP1 / B 不限 regime TOP1 / D1 上涨限定 TOP2 / D2 上涨限定 TOP3),笔数从 ...
低动量 LONG 两组回测全负之后,策略死路被写成规矩(2026-08-13)
找一条新腿的价值,不如记下一条"以后别再走"的死路。
08-13 跑完两组回测,屏幕上的收益几乎全是负的。那天做的不是继续找,而是把"以后不能再做什么"一条条写下来。
因为一次失败的验证,如果不落成规矩,下次还会用另一种形式再失败一遍。
两组被数据拒绝的腿先看当天跑出来的东西。两组的配置完全一致:12 币 / 5000 根 1h 主网 K 线(约 208 天)、24h 持有、120min 冷却、5% 止损 / 15% 止盈、手续费 1bp。行情门控用的是"12 币 24h 收益均值 > +2%",样本内 / 样本外切分点沿用 2026-08-01(即 07-31 之后的真样本外)。
第一组:低动量做多(LONG 低动量反转)
配置
笔数
总收益
胜率
回撤
A 上涨限定 TOP1
74
−29.63%
50.0%
39.06%
B 不限 regime TOP1
169
−36.63%
48.5%
55.79%
D1 上涨限定 TOP2
148
−25.82%
50.7% ...
动量跟随多头回测被 A/B 窗口数据直接拒绝(2026-08-12)
不调参,先攒满 ≥12 笔已平 A/B 确认期望符号——若正再加 regime 过滤,若负就重估而非优化。
今天一整天基本都在 factor_ic 上打转。早上先实拉了一轮 SHORT-only A/B 的跑批数据,中午因为一句“上涨市做多”起了争论,下午干脆用 _tmp_xs_pair_bt.py 同款框架把动量跟随多头回测跑了一遍。结果很干脆:这条路被数据拒绝了。
一、先拉现状:19:54 那轮实拉晚上 7 点 54 分,我把当前 factor_ic 的实盘状态完整拉了一遍。进程态没毛病:signal 75444 已经跑了 53.1 小时,SHORT-only 模式(LONG_N=0),watchdog 单实例在岗。全量 factor_ic 一共 29 笔,+$11.01,其中 LONG 腿 9 笔 +$2.92,SHORT 腿 20 笔 +$8.09。
但真正要看的是 A/B 窗口,也就是 SHORT-only 这段。53 小时里总共 4 笔信号,全是 SHORT,已经平仓 3 笔,没有 1 笔 LONG 漏单。这 3 笔已平的净盈亏是 - ...
临时脚本转正为横截面回测框架,12币池因子验证有统一尺子(2026-08-01)
一个以 _tmp_ 开头的脚本,最后成了所有因子验证用的一把尺子
07-31 那两条复盘里反复出现的「复用已验证的横截面回测框架」,说的就是这个脚本。到了 08-01,它的切分点从 07-31 挪到了 08-01——这意味着 07-31 之后的数据第一次成为真正的样本外。
它是干什么的_tmp_xs_pair_bt.py,一个横截面回测脚本,适用场景写得很清楚:
12 币加密货币池子的因子回测验证
支持动量、成交量、CVD 等多因子、多方向测试
「横截面」三个字是重点:它不是盯单个币的时间序列,而是在同一时刻把整个池子横向排开,比较币与币之间的相对强弱——高动量的做空、低动量的做多,都是在这个横向切片上定义的。
标准配置框架有一套固定进默认值里的配置:
项
值
K 线
5000 根 1h 主网 K 线(约 208 天)
持有期
24h
冷却期
120min
止损 / 止盈
5% / 15%
手续费
1bp
IS / OOS 切分点
2026-08-01(07-31 之后为真 OOS)
这套默认值不是随便定的,它的作 ...
低动量多头腿是否成立,实盘前用横截面回测框架验证(2026-07-31)
在真金白银进场之前,最有价值的动作不是再加一个策略,而是把「能不能加」的标准写死
这两条复盘记的是同一种东西:面对一个「看起来成立」的策略,怎么在它变成实盘仓位之前,把它问倒。它们不是技术日志,是判断标准——所以值得单独留下来。
一条「对称」的诱惑第一条来自一个很自然的念头:既然 24 小时反转策略(做空高动量)是有效的,那它的对称腿——做多低动量——是不是也该有效?
需求写得很直白:验证这条对称多头腿的有效性,判断能不能加进现有策略组合。
「对称」两个字最诱人,也最容易让人偷懒——如果因子 IC 是对称的,做空高动量有效,做多低动量似乎就该成立。但「似乎」不是证据。
方法:不新造轮子验证没有另起炉灶,而是复用已验证的横截面回测框架,参数和已有策略完全保持一致:
12 个主流加密货币
5000 根 1h K 线
24h 持有期
120min 冷却期
5% 止损 / 15% 止盈
1bp 手续费
IS / OOS 切分点:2026-07-31
唯一改动的,只有信号方向——从做空最高动量,改成做多最低动量。
回测要输出三个维度:全样本、IS 样本内、OOS 样本外 ...
正alpha竟是3倍杠杆差幻觉,等敞口后转亏8740美元(2026-07-26)
「+$1,666 的 alpha 是 3 倍杠杆差造出来的幻觉,而 -$8,740 才是等敞口后的真相。」
事情要从 7 月 26 日三组全跑完说起。Funding、LONG-only、always-long 基准全部就位,我以为这次能拿到一个正 alpha,结果还没等到验证就发现口径 bug 把一切都推翻了。
一、三个策略跑完,+$1,666 的 alpha 让我兴奋了半小时三组趋势跟踪对比,5.8 年 / 64 段 / 含 funding:
组
笔数
Net PnL
每笔
Funding
Fee
A: Donchian 多空
185
+$4,480
+$24.21
-$350
$217
B: Donchian LONG-only
97
+$5,316
+$54.80
-$377
$133
C: Always-long 基准
1920天
+$3,650
—
含
含
B - C = +$1,666,我当时脑子里的第一反应是「LONG-only 跑赢 always-long $1,666」,折算下来 $287/年,在 $10 ...