TECHNICAL NOTES · 技术笔记

技术笔记

方法论、因子构造逻辑、回测口径与假设、工具说明与学习笔记。

DuckDB + Parquet:5/1977 行缺列的坑,和我补上的三道校验

2026-10-16

那天我给行情表加了两个新列,然后发现当天的 1977 行数据里,有 5 行缺列。数字不大,但性质很坏:这 5 行走的是"回退基座帧"的兜底路径——相当于这一天有 5 只标的用了旧数据参与计算。如果没有任何日志,你会以为 1977 行都是新的。

阅读全文 →

滚动回测的口径:为什么我坚持「全期切片」而不是「窗口重跑」

2026-10-16

注意 60 日回撤 比 20 日还深一倍多(−25.93% vs −11.21%)——这说明回撤是"从历史水位上刻下来的",不是本窗口自己长出来的。这篇就讲这个被大多数人忽略的细节,以及我为此栽过的跟头。

阅读全文 →

A 股复权口径的三个坑

2026-10-16

做量化研究,最容易被忽略又最致命的前提,是「你手上的价格序列到底是哪个口径」。这篇不讲概念,而是把我在这条路上踩过的三个坑摊开——每个都有具体的日期、具体的数字、具体的修复代码。看完你可以直接拿下面的校验代码测自己的数据。

阅读全文 →

walk-forward 重跑差点毁掉一批证据:一个漏掉的预处理步骤

2026-10-16

这篇文章讲我系统里一次真实的"跑批事故":walk-forward 验证的代码改了重跑,结果和基准差出一大截(219 笔 vs 272 笔成交)——差点把一批实验结论全部污染。整个过程里有三个可复制的动作:先对账、再冻结、后硬校验。每步都配真实数字和代码。

阅读全文 →

回测时间轴上的三个静默错误:日历、可用时点与执行时点

2026-10-16

回测里最贵的一类错误是"静默错误":不报错、不崩溃,结果只是悄悄偏了一点点。今天这篇文章不讲抽象原则,而是复现我系统里真实发生过的三个时间轴错误——每一个都有具体日期、具体数字、具体的修复代码。读完你可以直接对照自己的数据管道检查。

阅读全文 →

进程探活的两个真实坑:os.kill 陷阱与心跳竞态

2026-10-16

这篇讲两个我在单机量化系统上真实踩过的进程管理坑,都在 Windows 环境下、都与"判断一个进程还活着吗"这个动作有关。第一个坑差点把我正在跑的测试直接打断;第二个坑让守护程序误判"服务都活着"。修复代码都在文里,可以直接抄。

阅读全文 →