知识库
出现"不可能的数值"时先怀疑代码:公式、循环变量、键与日历四类错误
当脚本算出一个"物理上不可能"的数字——比如收益率 −100%、t 值 −26——你会先怀疑什么?数据脏了?还是代码写错了?这篇文章的核心观点很短: 先怀疑代码。 现象 回测收益率里出现了 −100% 这种不可能值,以及荒谬到离谱的统计量:…
#回测#Python#调试技巧
回测里「能成交」是假象:买不到的那批样本被悄悄算进了结果
一个回测能赚钱,和"你明天真的能按它赚到钱",中间隔着一条常被忽略的鸿沟。这篇文章讲的,就是回测里最常见的一种自欺:把"买不到"的样本也算了进去。 现象 一个策略在"次日收盘买入"的口径下表现良好: 看起来既简单又可行——不用盯盘,不用抢单…
#Python#可执行性#回测
把非独立样本当独立样本,统计量膨胀了好几个数量级
拿到一个 t 值高达 38 的回测结果,你第一反应是什么?兴奋?还是——先数一数,这个样本量是不是在骗你?这篇文章讲的,就是那种"样本量看起来很大、实际上很小"的经典陷阱。 现象 用全样本做回测,t 值高得离谱: 38 的 t 值意味着"这…
#回测#统计学#Python
前视偏差:用了未来才知道的信息去决定当下
如果你写过任何"策略回测",并且跑出过漂亮得让自己心跳加速的收益曲线,那这篇文章大概率能戳到你——那条曲线里,常常藏着一个你根本没用到的秘密:未来数据。 现象 一个"确认型"策略(典型结构是:先出现信号 A,再等条件 B 确认后入场)回测出…
#数据科学#回测#Python
回测脚本被 O(N²) 拖到超时(退出码 124)——滑动指标该预计算缓存
脚本逻辑明明是对的,小样本跑得也好好的,可数据量一上来就被系统杀掉,退出码 124。你翻遍日志找不到任何报错——因为根本没报错,是"跑得太慢被掐死了"。 现象 回测脚本或面板在跑全量数据时被强制终止: 退出码 124 是 timeout 命…
#回测#算法复杂度#性能优化#Python