第二章:信息熵入门——香农熵与市场不确定性

各位同学,今天我们来聊聊信息熵。说实话,我第一次接触这个概念时,也觉得它挺抽象的。但后来我在做高频交易策略时,发现这东西简直就是市场的“体温计”。

先问大家一个问题:你如何量化“不确定性”?比如,明天大盘是涨是跌,你心里没底。这种“没底”的程度,能不能用一个数字表示?

香农在1948年给出了答案。他当时在研究通信问题,说白了就是:一条消息里到底有多少“信息量”?

2.1 香农熵的数学定义

香农熵的公式长这样:

H(X) = - Σ p(x) * log₂ p(x)

其中,X是一个随机变量,p(x)是它取某个值的概率。Σ表示对所有可能取值求和。

嗯,这里要注意:底数取2,单位是“比特”。如果你用自然对数,单位就是“纳特”。我个人习惯用log₂,因为比特更直观。

举个例子。假设一个硬币是均匀的,正面概率0.5,反面概率0.5。那么:

H = - (0.5 * log₂ 0.5 + 0.5 * log₂ 0.5)
  = - (0.5 * (-1) + 0.5 * (-1))
  = 1 比特

如果硬币两面都是正面呢?概率为1和0。那么:

H = - (1 * log₂ 1 + 0 * log₂ 0)
  = - (0 + 0)
  = 0 比特

你看,确定的事件熵为0,完全随机的事件熵最大。这就是熵的核心:熵越大,不确定性越大

核心结论:熵是“平均惊奇度”的度量。你越猜不到结果,熵就越高。

2.2 熵与不确定性的关系

为什么熵能度量不确定性?我换个角度解释。

假设你在猜一个数字,范围是1到8。每次问一个“是/否”问题。最理想的情况,你每次都能排除一半的可能性。猜中需要问几次?

答案是3次。因为log₂ 8 = 3。这3次,就是熵。

如果数字不是均匀分布呢?比如,数字1出现的概率是50%,其他数字各占约7%。那么你猜中需要的平均问题次数就少于3次。因为你可以先问“是不是1?”,大概率一次就中。

我在做期权定价模型时,遇到过类似场景。市场对某个事件的预期越一致,熵就越低。反之,分歧越大,熵就越高。说白了,熵就是市场参与者“意见分散度”的量化

个人经验:我曾经用熵来检测市场异常。当熵突然飙升时,往往意味着有重大消息要发布,或者流动性即将枯竭。这个指标比单纯看波动率要敏感得多。

2.3 为什么熵可以度量市场?

市场本质上是一个信息处理系统。每一笔订单、每一次报价,都在传递信息。而信息熵,恰好能捕捉这些信息中的“意外成分”。

我们来看订单簿。订单簿里有买一价、卖一价、深度等数据。这些数据可以看作一个概率分布。比如,当前最优卖价是10.00元,有100手挂单。这个价格成交的概率有多大?

我们可以用订单簿的深度分布来估算概率。然后计算这个分布的熵。如果熵很高,说明订单簿上的价格很分散,市场方向不明确。如果熵很低,说明资金集中在某个价格附近,方向比较明确。

下面这张图展示了订单簿信息熵的计算流程:

订单簿信息熵计算流程 原始订单簿数据 买/卖价、深度、笔数 构建概率分布 按价格区间统计深度 计算香农熵 H = -Σp·log₂p 熵值判断 高熵 市场方向不明确 分歧大,观望或对冲 低熵 市场方向较明确 资金集中,可顺势

你看,整个过程并不复杂。关键是把订单簿的深度数据,转换成概率分布。然后套用香农熵公式。

避坑指南:我曾经犯过一个错误——直接用价格作为随机变量。结果发现熵值总是很高,因为价格本身是连续的。后来我改用“价格区间”来离散化,效果就好多了。记住:离散化粒度要适中,太细了噪声大,太粗了信息丢失。

2.4 一个简单的计算示例

假设某只股票的订单簿上,卖一档到卖五档的数据如下:

档位 价格(元) 挂单量(手) 概率
卖一 10.00 200 0.40
卖二 10.01 150 0.30
卖三 10.02 100 0.20
卖四 10.03 40 0.08
卖五 10.04 10 0.02

总挂单量 = 200+150+100+40+10 = 500手。概率就是各档位挂单量除以总量。

计算熵:

H = - (0.40*log₂0.40 + 0.30*log₂0.30 + 0.20*log₂0.20 + 0.08*log₂0.08 + 0.02*log₂0.02)
  = - (0.40*(-1.322) + 0.30*(-1.737) + 0.20*(-2.322) + 0.08*(-3.644) + 0.02*(-5.644))
  = - (-0.529 - 0.521 - 0.464 - 0.292 - 0.113)
  = 1.919 比特

这个值1.919比特,就是当前卖盘的不确定性度量。如果所有挂单都集中在卖一价,熵会接近0。如果均匀分布在五个档位,熵会接近log₂5 ≈ 2.32比特。

嗯,这里要注意:我们只算了卖盘。实际应用中,我会同时算买盘熵和卖盘熵,然后看它们的差值。这个差值能告诉我,买卖双方谁更“犹豫”。

实用技巧:我个人习惯把熵值归一化到0-1之间。用实际熵除以最大可能熵(log₂N,N是档位数)。这样不同股票、不同时间段的熵就可以直接比较了。

2.5 熵在量化交易中的定位

说了这么多,你可能想问:熵到底能用来做什么?

我总结三个核心用途:

  • 市场状态识别:高熵对应震荡市,低熵对应趋势市。这个判断比看均线交叉要快得多。
  • 风险预警:熵的突变往往先于价格突变。我在实盘中用这个信号来减仓或加对冲。
  • 策略参数调整:高熵时降低杠杆,低熵时适当放大。说白了就是“看不清就少做,看得清就多做”。

当然,熵不是万能的。它只是一个统计量,不能预测方向。但它能告诉你“现在该不该出手”。

好了,这一章就到这里。记住一句话:熵是市场的“迷茫指数”。下次看盘时,不妨算算你关注的股票,看看它的熵值在什么水平。


公众号:蓝海资料掘金营,微信deep3321