A/B 进度页和工厂大屏改好了,factor_ic 0/12 已平交易仍不能上线(2026-08-11)
页面再顺、大屏再快,策略该不该上线还是得看那 0/12 已平交易——结论是:还不能。
今天这一天的活很杂,上午接着搞 factor_ic 的 A/B 看板,下午被工厂大屏的前端问题打断,晚上又拉了一轮策略数据,结论反而比白天改的代码更重要。
一、先把 factor_ic 的回测结论摁在桌上上午有人问 factor_ic 的回测结果怎么样、当前运行情况怎么样。我第一反应就是当前运行必须实拉,不能凭记忆,尤其要确认 SHORT-only A/B 切了 17 小时后有没有 LONG 漏进来。回测结果是历史事实,可以看落盘记录,但运行状态必须实时。
实拉核验后,回测结果本身是清楚的:12 币全池、5000 根 1h K 线约 208 天,无前视。全样本 338 笔,**总收益 -16.5%,单笔均值 -0.053%,胜率 49.4%**。拆开看:LONG 腿 169 笔 **-38.1%**,SHORT 腿 169 笔 **+34.9%**。这个对比已经很说明问题了。
但更让人警觉的是别人给过来的判断——方向对、核心 caveat 对,却有 5 处实质错误,其中 ...
factor_ic 切换 SHORT-only 时的运行时环境开关与看门狗重启陷阱(2026-08-10)
代码里的开关是死的,进程里的 env 才是活的;而看门狗怎么拉起它,决定了这个开关能活多久。
这天从复验一版 factor_ic 开关报告开始,到真刀真枪把 signal 从默认 1/1 切成 SHORT-only,中间踩到的坑全在“运行时环境”上。
一、复验 5/5 全过,但埋了个雷先把前一天的报告逐条实拉,核验清单 5/5 通过:
FACTOR_IC_LONG_N/SHORT_N 默认 "1" 的 env 开关,落地在 smart_money_signal.py:246-247,机制同 FACTOR_IC_ENABLED;
footgun 守卫生效:short_slice = ranked_asc[-sn:] if sn > 0 else [],SHORT_N=0 时不再全选 12 币;
py_compile 通过;
门控四态复测:(1,1)/(0,1)/(1,0)/(0,0) 用真子进程导入模块复测,四种状态全对;
live DB 旁证:LONG 6 笔 +$2.74 / SHORT 11 笔 +$5.35,合计 ...
硬编码死代理导致factor_engine断粮八天,Streamlit报错根因是本地watchdog遮蔽(2026-08-09)
"管道不是没接,是接了但死了8天没人发现"——这句话比任务描述里写的严重得多,也决定了这天所有动作的优先级。
翻开 factor_ic.db 一看,心里就咯噔一下。任务描述说管道没接,可实际查下来根本不是没接,是接了但早死了。后面还冒出一个 Streamlit 报错,根因居然是本地的 watchdog.py 把第三方包给遮蔽了——两件事串在同一天,都是典型到不能再典型的坑。
一、factor_engine:硬编码死代理断粮8天先看数据库。factor_ic.db 最后成功写入停在 07-31,08-01 到 08-06 的日志全是 502 和连接重置。翻代码找病灶,死因是 127.0.0.1:7890 这个硬编码死代理——和 08-07 那批 ProxyError 是同一个病根。更要命的是,没有任何调度器在跑它,所以断了 8 天完全没人发现。
factor_ic 表里 MIN run_iso=2026-07-30,MAX 之前卡在 07-31,这次补齐到 1596 行。断粮这 8 天,IC 管道等于完全没供数,而下游因子实验还在傻等。
二、修三件事,逐条实拉才点头第 ...
量化策略白名单与 nan 守卫收尾核验,五真一漏报还查出伪造二次拉起(2026-08-08)
实拉核验是唯一能对抗“快照过时”的东西,但这一天我自己也差点被自己的扫描脚本骗过去。
昨天 08-07 的诊断列了六条待办,今天全部收尾核验。结果 5 真 1 漏报,还揪出一个伪造的二次拉起,中间两次反转,最后靠逐行代码和实拉日志才把状态钉死。
一、先说结论:5 真 1 漏报,白名单直接 fail-closed今天第一件事是核对昨天诊断的落地情况。我原以为 market_flow 退役后没有拦截日志,结果在日志里翻到了实锤 [FILTER] SUI market_flow 已退役,这条我之前说“无日志”是错的。对账也没问题:10000 −7.32 −3190.09 = 6802.59,和现金 6801.70 的差额 $0.89 正好是累计 fee。
但最要命的是漏了一笔新开仓。重启后新开仓不是 1 笔,而是 3 笔:22:57 SOL sentiment $350、06:59 TIA factor_ic $80、**07:34 TRUMP LONG $350,strategy=token**。查代码发现 token 是 signal 侧真实产出的新类型,在 smart_mon ...
多策略协作层巡检揪出辅助进程吃死代理,六个逻辑进程仍在线(2026-08-07)
一条策略是独奏,好几条一起跑就是一支乐队——真正难的是谁也不拖累谁。
08-07 做了一次全栈巡检。不是看单条策略赚不赚,而是看这些进程、这些策略拼在一起,作为一个"协作层"能不能稳。结论是:核心很稳,但辅助层里藏着一个真问题。
下面把那天理出来的东西记一遍。
六个逻辑进程先把家底摆出来。那天所有逻辑进程都在跑:
进程
端口 / 状态
trader
监听 66552,直连 HL,已连续运行 40 小时零 502 错误
sim_loop
模拟循环,本轮已修复并重启
mc_paper
本轮已修复并重启
signal
信号生成,本轮已修复并重启
watchdog
守护
oos
样本外监控
六个全活。但"全活"只是最低标准——真正要查的,是它们各自的输入输出有没有被污染。
三个辅助进程在吃死代理那天现场抓到一个 P1 级 的真问题。
sim_loop、mc_paper、signal 三个辅助进程,继承了一个已经死掉的系统代理 127.0.0.1:7890(Clash 已经死了)。结果是:cryptopani ...
半死的本地代理与缺失的 48h cron,让 trader 深夜进程消失收益转正(2026-08-04)
坏的不是 HL,是那个半死的本地代理。
那天晚上 22:17 我开始做一次全量诊断,结果撞上 trader 进程失踪、收益却转正的奇怪局面,一路追到系统环境变量里一条半死的代理。
一、22:17 全量重拉:进程是 0,收益却转正了22:17 我做了次全新实拉诊断,不采信任何旧结论,进程、DB、日志全重拉。这次特意用严格脚本名匹配,避免上一轮踩到的“扫描自匹配假 ACE”坑。
先并行拉取,结果两个大发现:
trader 进程 DOWN,count=0;
48h 归因 cron 5d76a21697c2 查无此任务。
但收益数据其实是转正的:realized 从 −$1.05 变成 +$20.53,current_usdc 从 7947 涨到 $8,809,equity 约 $10,019;market_flow +$20.89、sentiment +$3.38、factor_ic +$0.29 全正。也就是说 24h 积累期里 trader 确实在赚钱,之前“盈利全靠浮盈”的担心消解了。
可 trader 日志结尾是:🔴 连续 11 次重连失败, 放弃 (让 run.ba ...
影子信号全量成绩单:19个策略18个盈利,smart_money交易器零成交(2026-07-30)
拉出全量影子信号的那一下,19 个策略 18 个绿油油,唯一赚钱的 mm_ace 还只有一半时间段在赚——真正让我后背发凉的不是策略不赚钱,而是我升级的 smart_money 交易器一笔都没成交过。
今天原本只想把 Hyper Insight 信源接上,结果先被 token 卡住,转回头一看影子信号,才发现更大的坑在“执行层”。
一、token 的坑:不是 cookie,是 OAuth access_token早上帮用户查 HYPER_INSIGHT_TOKEN 怎么拿。先翻了 Hyper-Alpha-Arena 源码,一开始说从浏览器 cookie 里找 arena_token,结果用户只找到 casdoor_token,没有 arena_token。我再去读 auth.ts,发现 akooi 用 Casdoor 做统一登录,真正喂给 wss://hyper.akooi.com/ws/events?token=*** 的是 Casdoor OAuth 换来的 access_token(JWT,eyJ... 开头),不是 casdoor_token 本身。
最可靠的办法:在已登录的 ...
smart-money 零成交根因是自家 SDK 方法名写错,开源五模块搬进 live(2026-07-29)
自己上一轮为修幽灵持仓写的补丁,才可能是最新的坑;而所谓的“成熟开源项目”,不一定要替换你,把数学和沙箱拆下来就能用。
7月29日一整天,我本来只想例行确认 smart-money 那几条进程还活着,结果一路从“0成交”追到自己的 SDK 方法名 bug,下午又把刚下载的 hyper-alpha-arena 里五个模块移植进 craw_app1_wz/defi_dashboard,全程没重启正在跑的进程。
一、先查“活着”不等于“能用”:17小时0成交的真凶是我我先把全部信号系统和数据库的实际运行状态验了一遍,不是只看进程在不在。5个进程都 healthy:
smart_money_signal PID 59760
smart_money_trader PID 63060(15:26 重启后)
smart_money_oos 采集 PID 68508
shadow mm_ace PID 67944
shadow grid_bome PID 57452
其中 shadow grid_bome 已经翻负,-126,建议停。真正刺激的是,smart_money_signals_lates ...
shadow_stats口径矛盾,影子策略真值逐笔重建(2026-07-28)
“页面上的累计盈亏全是假的,真相只藏在每笔成交里。”
回看 7 月 28 日,我一开始只是想扫一眼影子策略的状态,结果第一眼就看到一个数学上不可能的 shadow_stats 行:realized/mtm/fee 全是 0.00,net_pnl 却不是零。这一天后面全耗在把真值从一笔一笔成交里刨出来。
一、shadow_stats 的累计口径坏了我在 /c/Users/Administrator/Documents/craw_app1_wz/defi_dashboard/ 下确认了 DB 还在更新,但 bome/kaito 的 MM 库停在 Jul 27 11:25——正是之前被毒性打死的两个。真正的问题是后来盘 shadow_stats 时看到的:最新行 realized/mtm/fee = 0.00 但 net_pnl 非零。净 = realized + mtm − fee − funding,这组数字在数学上不可能同时成立。
排查后的结论是:我们为治 429 限流重启过 10 个进程,shadow_stats 里那些累计字段(realized_spread / ...
过夜数据反转,KAITO做市从幸存者变毒性流,网格加注(2026-07-27)
这一天最关键的判断是:过夜数据把昨天的“唯一幸存者”KAITO 做市判了死刑——它不是利润来源,而是毒性流陷阱;真正该加注的是被当成对照的网格。
早上先处理一个关于“全改 maker 挂单、用主网数据近态回测小资金”的想法,我当时影子进程已经跑了一天多,手上第一次有“过夜”的真实主网数据。就用这份数据把盘面重新捋了一遍。
一、资源盘点:6 个进程,8 个库,方向性策略全灭先确认家底。主网只读行情管道(l2Book/recentTrades/funding,零私钥)、修正后的记账引擎、v4 回测框架、9 道闸门审计技能、view19 页面,这些基础设施都能继续用。跑着的影子有 6 个,5 个做市加 1 个网格,落在 8 个 SQLite 库里。
之前已经证伪的方向比较惨:combo、趋势、择时、ETH-BTC 配对、跨所(不可执行)——方向性策略一个没剩,只剩 maker 侧。顺手写了个 shadow_report.py,以后一条命令就能出全库对账报告,不用每次手动拉数。
二、过夜数据反转:KAITO 做市从幸存者变毒性流陷阱拿到过夜数据后,把昨天还在盘面上活着的策略 ...