一、随机游走假说:股票价格真的无法预测吗?

各位同学好,今天我们来聊一个金融时间序列里最基础、也最容易被误解的概念——随机游走假说

说实话,我第一次接触这个理论时,心里是有点抵触的。你想啊,如果股价真的是随机游走,那我们这些做分析的人岂不是在瞎忙活?但后来我在实际项目中吃了不少亏,才慢慢理解了这个假说的真正含义。

1.1 什么是随机游走?

随机游走,英文叫 Random Walk,说白了就是:明天的价格 = 今天的价格 + 一个随机扰动

用数学公式表达就是:

P_t = P_{t-1} + ε_t

其中 ε_t 是白噪声,均值为0,方差恒定。

嗯,这里要注意:随机游走并不意味着价格完全无序。它说的是价格变动不可预测,而不是价格水平不可预测。

核心区别:

  • 价格水平:可以预测(比如今天100元,明天大概率在100元附近)
  • 价格变动:不可预测(涨跌方向完全随机)

1.2 随机游走的三种形式

我在做量化回测时,发现很多人把随机游走想得太简单了。其实它有三种常见形式:

类型 公式 特点
RW1(纯随机游走) P_t = P_{t-1} + ε_t 独立同分布增量
RW2(带漂移项) P_t = μ + P_{t-1} + ε_t 有长期趋势
RW3(带趋势和波动) P_t = μ + P_{t-1} + σ_t·ε_t 波动率可变

我个人习惯用RW2来建模股票价格,因为大多数股票确实有长期上涨的趋势。但要注意,这个趋势可能非常微弱,短期根本看不出来。

1.3 为什么说股价是随机游走?

这个假说的理论基础是有效市场假说。简单说就是:

  • 所有已知信息都已经反映在股价里
  • 新信息是随机出现的
  • 所以股价变动也是随机的

你想想看,如果明天股价上涨是可以预测的,那大家今天就会买入,结果今天股价就涨上去了。这样一来,预测本身就会破坏预测的准确性。

一个小技巧:

检验股票是否服从随机游走,可以用单位根检验(ADF检验)。如果p值大于0.05,就不能拒绝随机游走的假设。

1.4 随机游走的数学性质

这里有几个关键性质,我建议你记牢:

  1. 方差随时间线性增长:Var(P_t) = t·σ²
  2. 自相关函数衰减缓慢:价格水平有很强的自相关性
  3. 差分后是白噪声:ΔP_t = ε_t

我曾经在分析某只科技股时,发现它的日收益率自相关系数只有0.03,几乎为0。这就是典型的随机游走特征。但很多人看到价格走势图上有趋势,就以为可以预测,结果亏得很惨。

1.5 随机游走与永久冲击的关系

这一点特别重要,也是我们这门课的核心:

随机游走意味着冲击是永久性的。

如果今天股价因为某个利空消息下跌了5%,这个下跌不会自动恢复。它会在价格里永远留下痕迹。这就是永久冲击。

相比之下,如果是均值回归过程(比如债券收益率),冲击会逐渐消失,价格会回到原来的水平。那就是临时冲击。

避坑指南:

我曾经犯过一个错误:看到某只股票连续下跌3天,就以为它会反弹。结果它继续跌了10天。为什么?因为随机游走没有均值回归的特性。下跌之后,继续下跌的概率和上涨的概率是一样的。

1.6 如何用Python检验随机游走?

这里给一段简单的代码,你可以自己跑跑看:

import numpy as np
import pandas as pd
from statsmodels.tsa.stattools import adfuller

# 生成随机游走数据
np.random.seed(42)
n = 1000
returns = np.random.normal(0, 1, n)
price = 100 + np.cumsum(returns)

# ADF检验
result = adfuller(price)
print(f'ADF统计量: {result[0]:.4f}')
print(f'p值: {result[1]:.4f}')

# 如果p值 > 0.05,不能拒绝随机游走假设
if result[1] > 0.05:
    print('数据服从随机游走')
else:
    print('数据不服从随机游走')

跑完你会发现,p值通常很大,说明随机游走的假设很难被拒绝。

1.7 随机游走假说的现实意义

说了这么多,你可能想问:这玩意儿到底有什么用?

我个人觉得,理解随机游走假说最大的价值在于:让你对预测保持敬畏

  • 如果你相信随机游走,就不要试图做短期择时
  • 如果你不相信,那就要找到足够强的证据来反驳
  • 大多数散户亏钱,就是因为低估了随机性,高估了自己的预测能力

当然,随机游走假说也不是完美的。很多实证研究发现,股票收益率存在一些微弱的可预测性,比如动量效应、反转效应等。但这些效应非常微弱,交易成本一扣就没了。

我的建议:

做分析时,先把随机游走当作默认假设。如果你发现了可预测性,先问问自己:这个信号够强吗?能覆盖交易成本吗?能持续吗?如果答案是否定的,那就老老实实接受随机游走。

1.8 本章小结

随机游走假说告诉我们:

  • 股价变动不可预测,但价格水平可以建模
  • 冲击是永久性的,不会自动恢复
  • 不要轻易相信你看到的"趋势"

下一章我们会深入讨论永久冲击和临时冲击的区别,以及如何用统计方法把它们分离开。嗯,到时候我会分享一个我在实际项目中用过的分解方法,挺实用的。

随机游走假说知识体系 随机游走假说 定义:P_t = P_{t-1} + ε_t 三种形式:RW1/RW2/RW3 数学性质:方差线性增长 永久冲击:冲击不消失 检验方法:ADF单位根检验 现实意义:敬畏预测 核心:价格变动不可预测,冲击永久存在