随机游走与趋势指标:你的指标真的有用吗?
一、随机游走是什么
把掷硬币结果记为 +1 / -1,累加和就是一条随机游走。它经过充分研究,具反正弦律、分形自相似等特性。把它套到价格上,是检验“技术信号是否真有信息量”的基准。
二、醉汉漫步理论
醉汉离开酒馆后的轨迹,与步数(掷硬币次数)的平方根成正比——这给出衡量“随机性 vs 非随机性”的标尺。若真实价格位移显著偏离 √步数,才说明存在非随机结构。
三、指标在随机序列上的表现
四、如何用 Z 分数检验
把策略在历史数据上的累计收益,与大量随机基准的均值/标准差比较,得到 Z 分数。只有 |Z| 足够大,才说明策略显著优于随机。
// 累计收益 vs 随机基准
double z = (actual_profit - mean_random) / std_random;
// |z| 很大才说明策略显著优于随机
if(MathAbs(z) > 2.0) Print("策略显著优于随机");
五、对交易的启示
- 任何新策略先和随机基准比,别被漂亮曲线迷惑。
- 必须做样本外检验,样本内拟合容易过拟合。
- 警惕“完美”的历史曲线,它往往是未来函数的产物。
六、用随机游走检验市场
随机游走假设价格变动不可预测。检验方法:把历史收益做序列相关性检验、游程检验,看是否显著异于随机。若某段显著异于随机,说明存在可被捕捉的结构(趋势或反转);若 indistinguishable,则技术指标的边际很低。
这个检验能帮你「该用什么策略」:强趋势市适合跟随、均值回归市适合反转、接近随机的市场最好少做或只赚手续费差。
七、趋势指标在随机中的表现
把均线、MACD 这类趋势指标放在「已知是随机游走」的数据上测试:若它们也偶尔「赚钱」,说明那只是运气,不是指标有效。这给了你一个基准——真实策略必须稳定超过随机基准才算真有 edge。
八、用随机游走做策略基准
实务:每优化一个策略,都跑一组随机进场对照,确认策略稳定超过「无意义下注」的水平线。超过越多、越稳,策略越可信;若和随机差不多,趁早弃用,别被样本内巧合骗。
这比单一回测严厉,能筛掉大量看似有效实则噪声的策略,是治过拟合的利器。
九、随机基准的实操频率
建议每优化完一个策略、或每季度,都重跑一次随机基准对照。市场 regime 会变,去年稳定超过随机的策略今年可能失效,基准对照是低成本的「策略体检」。
若某策略开始和随机基准拉不开差距,就是退场或重构的信号,比硬扛亏钱体面得多。把基准当仪表,而非一次性检验。
十、把随机游走当护城河检测
一个策略如果能稳定超过随机基准,说明它抓住了市场结构;如果和随机差不多,说明它只是「在样本内运气好」。随机基准因此是你的护城河检测:过不了它,再漂亮的曲线也别信。
更进阶:对策略在不同市场 regime 分别跑随机基准,看它在趋势市和震荡市是否都超过随机。只在一种市况超过的策略,要配市况过滤,而非无脑全时段跑。
十一、小结
十二、蒙特卡洛:自己造一个随机基准
与其空谈,不如动手:把历史收益序列打乱一万次(自助法/bootstrap),每次重新累加得到一条“随机权益曲线”,取这些曲线的分布作为基准。把你的策略曲线叠上去,若它长期落在分布的上 5% 之外,才值得认真看待。这一步能立刻揭穿绝大多数“看起来很美”的指标。
十三、分形自相似意味着什么
随机游走是分形:无论把时间轴缩放多少倍,统计特征保持不变。真实价格只在“近似”意义上具备这一性质,且在剧变期会偏离。利用这一点,你可以对策略做多时间尺度验证——若在 1 分钟与 1 小时上都靠“噪声”赚钱,那大概率是过拟合而非真信号。