市场中的「不确定性」可以量化吗?
市场中的「不确定性」可以量化吗?
在金融市场中,不确定性是永恒的主题。从爱因斯坦的相对论到香农的信息论,人类一直在探索如何量化和理解不确定性。本文将带你走进信息论之父克劳德·香农的世界,探讨如何运用香农熵这一概念,量化市场中的不确定性,并在不确定性中寻找可预测性。
提到20世纪最聪明的人,大多数人会想到爱因斯坦。然而,还有一位天才的成就可以与爱因斯坦比肩。更重要的是,对于投资、交易者和任何类型的预测者来说,他的理论都更具实用意义。
这位天才就是被誉为“信息论之父”的克劳德·香农,他开创的信息论不仅奠定了互联网时代的基础,也深刻影响了现代通信、计算机科学和密码学领域。
与这些伟大的成就比起来,相对不为人知的是,香农还是一位颇为成功的投资者。他将自己的理论和研究卓有成效地应用于金融市场,也为后来的投资者带来了许多重要的启示。
这里再来介绍香农理论的又一种应用。
如今,量化交易者被大量信息包围,有些人可能熟悉许多预测算法,并且在数据科学、机器学习或人工智能等领域都拥有经验。然而,一些初学者常常陷入技术细节和工具的纠结之中,他们面临的问题可能会有:
- 预测股价的最佳模型是什么?
- 是否应该使用深度学习模型,LSTM 还是强化学习?
- 哪种语言和库能够创建更炫酷高效的算法?
- 使用XGBoost、Tensorflow 还是 Pytorch 进行深度学习?
这些问题看似重要,但它们无法直接转化为收益。
当今的量化交易领域,技术工具和算法已成为“商品化”资源。网上的教程随处可见,像ChatGPT这类大语言模型也能在几分钟内生成算法代码。换句话说,仅凭更高的预测准确率,并不足以构建成功的策略。
这时,香农的理论可以帮助我们从一个更重要的视角去提出问题:“我究竟在预测什么?它是否可预测?”
香农熵:量化不确定性
在作出任何预测之前,我们都应该了解被测变量的性质。
在香农的理论中,对交易者来说最为重要的思想无疑是「熵」的概念,它是系统中不确定性或随机性的度量。但大多数人在实践中都没有很好地掌握这个概念。
在信息论的语境下,熵量化了不可预测性的信息内容。熵越高,不确定性越高,系统越不可预测;熵越低,不确定性越低,系统越容易预测。
在金融市场中,理解和衡量不确定性至关重要。市场本质上是不确定的,受到无数变量和人类行为的影响。香农熵可以帮助交易者量化这种不确定性,并提供一个数学框架来评估交易中的风险水平。
如果将市场视为一个通信系统,价格变动就是传递的“消息”。香农熵可以用来量化这些变动的不确定性,从而帮助交易者评估不同资产或策略的风险状况。
接下来就通过一个例子更直观地理解这一点。
以下是三个交易策略的表现图,所有策略的初始资本都是10000美元,每次交易冒1%(100美元)的风险。从中选择你认为效果最好的一种。
策略1:损失接近50%
策略2:最终资本与初始资本基本持平
策略3:一年后回报率约为40%
直觉上,大多数人应该都会选策略3,因为它的回报最高。
但实际上,这3种策略是完全一样的,都是胜率为50%的随机策略。上面展示的结果也并非源于算法的优劣,而是随机性的体现。3张图表都是由同一个Python代码生成的:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(42) # 设置随机种子以获得可重复的结果
def simulate_strategy(initial_capital, risk_per_trade, num_trades):
capital = initial_capital
capital_history = [capital]
for _ in range(num_trades):
outcome = np.random.choice([-1, 1])
capital += outcome * risk_per_trade
capital_history.append(capital)
return capital_history
initial_capital = 10000
risk_per_trade = 100
num_trades = 250
# 模拟三种策略
strategy1 = simulate_strategy(initial_capital, risk_per_trade, num_trades)
strategy2 = simulate_strategy(initial_capital, risk_per_trade, num_trades)
strategy3 = simulate_strategy(initial_capital, risk_per_trade, num_trades)
# 绘制结果
plt.figure(figsize=(12, 6))
plt.plot(strategy1, label='策略1')
plt.plot(strategy2, label='策略2')
plt.plot(strategy3, label='策略3')
plt.xlabel('交易次数')
plt.ylabel('资本')
plt.title('三种随机策略的表现')
plt.legend()
plt.show()
这也正是很多人在做交易算法回测时经常遇到的问题:即便回测结果表现良好,也可能仅仅是随机运气的作用。
降低熵:寻找可预测性
香农熵可以帮助我们解答前面那个关键问题:目标变量的随机性有多高?它是否具备可预测性?
上面的例子是最坏的情况,一个完全随机的变量,输赢的概率都是50%。这样的高熵变量(如短期价格波动)难以预测,而低熵变量(如某些长期趋势或特定市场行为)往往更容易预测,也更有价值(因为预测成功的概率会高于失败的概率)。
对于交易者而言,交易的本质并非追求复杂的算法或构建炫酷的模型,而是理解市场中的信息和不确定性。
通过数据分析和深入研究,识别具有可预测性的变量,或构建易于预测的低熵变量,交易者可以设计更科学的策略,并从中获利。
虽然市场的不确定性无法消除,但是可以被理解和量化。香农熵不仅提供了一种衡量不确定性的方法,也为交易策略的设计指出了一个方向:即关注变量本身的可预测性,而非沉迷于技术的细节。
在信息爆炸的时代,真正的智慧不在于获取更多的信息或使用更复杂的工具,而是提出正确的问题,发现有价值的信号,在不确定性中把握优势。
我们能够理解的知识,将决定我们看待世界的方式,也影响着我们在市场中的胜算。
本文原文来自第一财经