Skip to content

7.1 熵

熵(Entropy)由 Claude Shannon 在 1948 年提出,是信息论的核心概念——它量化了一个随机变量的不确定性。在量化金融中,熵被用来度量因子的信息含量和市场效率。


自信息(Self-information)

对于一个离散随机变量 XX,取值 xx 的概率为 P(x)P(x),其自信息定义为:

I(x)=log2P(x)quad(text单位:比特)I(x) = -\\log_2 P(x) \\quad (\\text{单位:比特})

log2\\log_2 是以 2 为底的对数,log2x=fraclnxln2\\log_2 x = \\frac{\\ln x}{\\ln 2}。信息论中用 log2\\log_2 的原因是结果以比特(bit)为单位——一个二进制位只能存储 0 或 1,正好是 1 比特信息。

  • 概率越小的事件,发生时的信息量越大
  • 确定事件(P=1P=1)的信息量为 00

直观理解:如果一件事必然发生,它的发生没有带来任何新信息;如果一件事非常罕见,它的发生带来了大量信息。


熵(Entropy)

是随机变量 XX 的平均自信息量:

H(X)=xXP(x)log2P(x)H(X) = -\sum_{x \in \mathcal{X}} P(x) \log_2 P(x)

熵衡量了一个分布的不确定性——熵越大,不确定性越高。

性质:

  • H(X)0H(X) \ge 0,当 XX 为确定值时取等
  • 对于 nn 个等概率结果,H(X)=log2nH(X) = \log_2 n(最大可能值)
  • 熵只取决于分布,不取决于具体取值

手算实例:偏倚硬币的熵

一枚硬币 P(正面)=0.7P(\text{正面}) = 0.7P(反面)=0.3P(\text{反面}) = 0.3

事件概率 PPlog2P\log_2 PPlog2P-P \log_2 P
正面0.70.7log20.7=0.5146\log_2 0.7 = -0.51460.7×0.5146=0.36020.7 \times 0.5146 = 0.3602
反面0.30.3log20.3=1.7370\log_2 0.3 = -1.73700.3×1.7370=0.52110.3 \times 1.7370 = 0.5211
合计1.01.0H=0.8813H = 0.8813 比特

对比:一枚公平硬币(P=0.5P=0.5)的熵为 H=[0.5log20.5+0.5log20.5]=1H = -[0.5\log_2 0.5 + 0.5\log_2 0.5] = 1 比特。偏倚降低了不确定性。


Python 示例

python
import numpy as np

def entropy(p):
    """计算离散分布的熵(单位:比特)"""
    p = np.asarray(p)
    return -np.sum(p * np.log2(p + 1e-15))  # 加极小值防止 log(0)

# 偏倚硬币
p_coin = [0.7, 0.3]
print(f"偏倚硬币熵: H = {entropy(p_coin):.4f} 比特")
# 输出: 偏倚硬币熵: H = 0.8813 比特

# 对比公平硬币
p_fair = [0.5, 0.5]
print(f"公平硬币熵: H = {entropy(p_fair):.4f} 比特")
# 输出: 公平硬币熵: H = 1.0000 比特

因子模型中,我们可以用熵来衡量一个因子的信息含量——因子收益率的分布越分散(熵越大),该因子携带的信息越多。反之,如果某个因子几乎总是正收益,其熵接近 0,说明它可能已被市场充分定价。

实际应用中,交易员会计算因子收益率的经验熵,与理论最大熵(均匀分布)对比,得到一个信息效率比,用于筛选最有预测力的因子。 \n> 下一步:继续学习 7.2 KL散度与交叉熵

Built with VitePress