- Published on
Bernoulli Process - Binary Entropy Function
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
伯努利过程与二元熵函数:信息论视角下的市场不确定性交易策略
在公开交易社区中,策略与技术指标层出不穷,但能将信息论这种“硬核”学科与K线走势结合的作品并不多见。最近看到一篇以“伯努利过程”与“二元熵函数”为核心思路的公开策略,其理念独树一帜。它利用最简单的0/1编码,将价格和成交量的变化映射到香农熵的测量框架中,从而生成带有概率意义的市场信号。本文将完整解读该策略的原理、优缺点、历史脉络,以及可落地的改进方向。
策略解读
伯努利过程本质上是一系列独立同分布的随机试验,每次试验只可能有“成功”或“失败”两种结果,例如抛硬币。在交易中,我们常把价格的上涨或下跌看成一种二元事件——今天比昨天高,记为1;今天比昨天低,记为0。这样一来,历史价格就变成了一个由0和1组成的时间序列。
但单纯看0/1序列没有太大意义,因为市场不会给出固定的概率。于是我们需要引入“熵”的概念。熵是信息论中的核心术语,用于测量系统中的不确定性。当系统越混乱、越难以预测时,熵值越高;当系统呈现明显的单向趋势时,熵值会降低。香农熵给出了一个严格的数学框架:对于两个可能结果,如果其中一个结果出现的概率为P,另一个为1-P,那么该二元系统的熵就是关于P的函数。
具体来说,二元熵函数可以写成:
H(P) = -Plog_2 P - (1-P)log_2(1-P)
当P=0.5时,两种结果出现的概率相等,系统的不确定性最大,熵值达到峰值1比特;当P=0或P=1时,结果完全确定,熵值为0。这个函数在0.5时对称地达到最高点,形成一个向下的“倒U”形曲线。
将这一函数应用于价格或成交量序列,就可以在每一个时间点上计算一个“市场熵值”。例如,在一个上涨日占比为50%的震荡行情中,熵值最高,意味着方向极为不确定;如果连续多日只有上涨(P接近1)或连续下跌(P接近0),熵值则趋近于0,表示市场处于一个方向明确的状态。策略作者进一步指出,不仅可以用价格产生0/1序列,还可以用成交量作为数据来源,甚至将两者相加后共同计算熵值,从而在不同维度上捕捉不确定性。
这种写法的最大价值在于“降维”。价格和成交量的原始数据包含大量噪声,而通过二元化处理,可以将噪声压缩为一种简单的信息状态。随后通过熵值,把数周甚至数月的市场状态浓缩成一个振荡在0到1之间的曲线。交易者无需关心具体涨跌多少,只需要关注该曲线是否处于极端值。
另一个值得注意的点是,熵值本身是“方向无关”的。换句话说,无论市场是猛烈上涨还是猛烈下跌,只要单一方向占绝对主导,熵值都会很低。因此,该指标并不直接告诉你应该买入还是卖出,而是告诉你当前市场的确定性程度有多高。这种“只测量不确定性”的思路,使它可以与趋势滤波器、均线方向等工具搭配使用,从而构成一个完整的交易系统。
名词解释
-
伯努利过程(Bernoulli Process):在概率论中,伯努利过程是一连串独立且同分布的伯努利试验。每次试验只有两个结果:成功(1)和失败(0),且成功率P保持恒定。本文涉及的伯努利过程并非要求概率恒定,而是借用其“二元结果”的建模思想,将市场状态压缩为0/1序列。
-
二元变量(Binary Variable):取值仅为0或1的变量。在交易中,常用来代表两种对立状态,比如上涨/下跌、放量/缩量。二元变量是策略中最基础的数据形态,也是连接原始行情与信息论的桥梁。
-
熵(Entropy):在信息论中,熵表示随机变量不确定性的度量。熵越大,信息的不确定性越高;熵越小,信息越确定。在物理热力学中也存在熵的概念,但这里特指信息熵,它由香农在1948年奠基。
-
香农熵(Shannon Entropy):由克劳德·香农提出,是信息论的基础概念。对于离散随机变量,香农熵定义为其所有可能取值的概率乘以概率对数的负值之和。在二元情况下,公式简化为上述的二元熵函数,它以比特为单位,衡量事件集合的平均不确定性。
-
信号(Signal):交易术语,指由特定规则或指标触发、提示潜在买入或卖出机会的标记。该策略中,当熵值达到某些极值区域,或发生快速变化时,可以形成“震荡结束”“趋势启动”或“趋势衰竭”等信号。
-
成交量(Volume):指特定时间周期内证券成交的总数量。成交量大小反映了市场参与者的活跃程度和资金流向,也可作为不确定性的另一个测量维度。将成交量变化编码为0/1之后,同样可以用熵函数进行分析。
-
信息量(Information Content):在信息论中,一条信息所携带的信息量与其发生的概率成反比。概率越小,信息量越大。熵则是所有可能事件的平均信息量。该策略利用熵来汇总二元序列的信息特征,从而对市场状态进行量化描述。
策略思路讲解
该策略的核心思路可以拆解为四步。
第一步,数据二元化。选取价格序列,通常是收盘价。设定一个标签规则:如果当日收盘价高于前一日收盘价,计为1;如果低于或等于,计为0。也可以使用成交量、开盘价、最高最低价等其他维度进行同样的0/1编码。如果同时使用价格和成交量,则可以将二者对应的二元序列按简单相加合并,得到一个范围在0到2之间的新序列,再作为后续计算的数据源。例如,当价格上涨且放量时,得到2;当价格上涨但缩量时,得到1;当价格下跌且放量时,得到0。这种组合方式能够同时捕捉价格与参与度之间的协同关系。
第二步,计算滑动窗口内的成功概率P。这里需要指定一个回顾期,比如N天。在每个时间点上,统计过去N天内二元序列所包含的1的数量,除以N,即得到P。P可以理解为这段时间内“上涨日”或“放量日”的频率。显然,P也在0到1之间。窗口长度N是一个关键参数。N太小,概率P会随着一两根K线剧烈跳动,导致熵值频繁切换,噪声很大;N太大,P被过度平滑,熵值对市场状态的敏感性下降,信号会明显滞后。
第三步,将P代入二元熵函数,得到当前时点的熵值H(P)。具体计算时,需要对P和1-P分别取以2为底的对数,并乘以概率本身再求和。若P等于0或1,则约定熵为0。由于二元熵函数是一个凹形曲线,H在P=0.5时达到最大值1,而在P趋近0或1时趋近0。这个熵值便代表了当下市场的不确定程度。熵值高,说明最近N日内的涨跌分布接近于随机抛硬币,价格方向难以预测;熵值低,说明最近N日内的涨跌方向高度一致,价格处于趋势行情中。
第四步,利用熵值生成交易信号。通常有两种思路。一是当熵值处于高位(如接近1)时,认为市场处于无序震荡,此时可以考虑等待方向明朗,或者采用高抛低吸策略;当熵值处于低位(如接近0)时,认为市场处于强趋势中,可顺势追多或追空。二是通过监测熵值的拐点或与均线的关系来产生信号。例如,熵值从高位急速下降,说明市场正从震荡转向趋势,可能是一次入场机会;熵值从低位快速上升,说明趋势正在减弱,可能要考虑减仓。
为什么这个策略会有效?从市场结构看,价格趋势的形成意味着多空双方力量失衡,于是上涨日或下跌日会连续出现,二元序列中的1或0会扎堆,P明显偏向0或1,熵值自然下降。而在震荡市中,涨跌交替频繁,P接近0.5,熵值维持在高位。因此,熵值在客观上度量了趋势与震荡的相对强度。它不受价格具体幅度的干扰,因此具有较好的稳定性。
另外,该策略允许选择价格、成交量或两者之和作为数据源。成交量同样包含信息:放量通常意味着分歧或热情,缩量代表观望。如果将价格变化的0/1序列与成交量变化的0/1序列相加,那么当两者同向时,数值为2或0,熵值的区分度会更大;当两者反向时,数值为1,则对应更高的不确定性。这种组合方式拓展了策略的适应性。比如,价格上涨但缩量,说明市场对上涨的信心不足,此时二元序列中的中间状态增多,熵值上升,提示投资者不要轻易追涨。
优点
-
理论背景扎实:该策略并非凭空杜撰,而是根植于信息论经典概念,有严格的数学定义和统计学支撑,避免了传统技术指标的随意性。使用香农熵意味着策略在数学上是可解释的,而不是靠经验公式拟合。
-
信号直观清晰:熵值被限制在0到1之间,无论输入数据是多大的价格序列,最终都转化成一个标准化的指标,便于横向比较和历史回测。交易者可以很快从熵值的变化中读出市场状态。
-
输入维度灵活:价格、成交量甚至其他二元化后的开盘/收盘关系都可以独立或组合使用,为交易者提供了多种建模可能性。可以根据不同的品种、周期和交易风格选择合适的数据源。
-
捕捉市场状态变化:熵值能够同时识别趋势和震荡,并可通过其临界变化描述市场状态的转换过程,这对仓位管理和择时有较大帮助。当熵值从高位开始下降时,往往意味着新一轮趋势正在酝酿。
-
克服单一方向判断局限:传统指标往往只看涨跌,而熵值会告诉你当前的确定性有多高,从而更客观地判断什么时候该重仓,什么时候该观望。这种“元认知”视角有助于避免过度自信。
缺点
-
二元化丢失幅度信息:无论上涨1%还是5%,均被编码为1。这导致策略忽略市场的极端行情,在单日暴涨暴跌中无法区分。幅度信息流失后,同样一个涨停板和一个微涨0.1%的K线具有相同的信息权重,这显然不够精细。
-
窗口长度高度敏感:熵值高度依赖所选回顾期N。N太短,概率估计不稳定;N太长,则反应迟缓,信号滞后。不同品种、不同市场周期对于最优N的取值差异很大,需要单独适配。
-
阈值选择无标准:策略使用者需要自己定义“高熵”和“低熵”的具体数值,例如0.8还是0.9,这往往需要反复回测,缺乏自适应能力。一旦市场整体波动水平变化,固定阈值可能失效。
-
趋势市场中的反直觉信号:在强烈单边趋势中,熵值长时间接近0,此时若将低熵视为买入信号,需要知道趋势已经涨到哪个阶段,否则容易追高;光凭低熵无法判断方向。换言之,低熵只能说明行情“不随机”,但无法区分向上还是向下。
-
独立同分布假设与市场现实不符:标准伯努利过程假设试验之间独立且概率恒定,但金融市场的收益序列存在波动聚集和自相关,直接套用会产生模型误差。熵值只是对过去窗口的经验频率进行描述,并不能真正预测未来概率的变化。
起源年份考证
我们需要区分“熵”概念本身、伯努利试验的提出以及信息论在交易中的应用的年份。
-
1713年:雅各布·伯努利(Jacob Bernoulli)的遗著《猜度术》(Ars Conjectandi)出版,其中提出了伯努利试验和二项分布,为后世的0/1建模提供了概率工具。这是伯努利过程最早的理论源头。
-
1948年:克劳德·香农(Claude Shannon)发表《通讯的数学理论》(A Mathematical Theory of Communication),正式提出信息熵概念,二元熵函数作为特例也被系统定义,信息论由此诞生。这是“二元熵”体系的直接源头。
-
20世纪60年代至80年代:信息论方法开始被引入经济学和金融学领域,例如用于市场有效性检验、投资组合选择、风险管理等,但多停留在学术研究层面,普通交易者接触较少。
-
20世纪90年代至21世纪初:随着个人计算机和电子交易系统的普及,量化交易兴起,交易者和程序员开始将信息熵应用于技术分析领域,各种基于熵的指标、策略不断出现在公开社区中。这一时期,基于熵的“市场状态识别”逐渐成为一类小众但稳定的分析工具。
-
本策略的具体编写时间目前无法考证,因为公开平台上没有显示显著的上传日期。从其使用“二元熵函数”这一术语并涉及多数据源组合来看,应该属于信息论与量化交易结合较成熟的阶段,可能是2015年之后的作品。这里仅给出该类方法的时间线,不代表本策略的精确年份;若读者需要精确历史版本,只能依赖该作品所在平台自身的存档记录。
改进建议
-
引入自适应窗口:不固定熵值的回顾期,而是根据市场波动率动态调整窗口长度。例如在波动剧烈时缩短窗口,以快速反映行情变化;在平稳时延长窗口,以提高概率估计的稳定性。可以使用真实波动幅度均值作为参考指标来调节N。
-
保留幅度信息:将价格变化幅度进行分层编码,比如多设几个区间(0/1/2),或直接将幅度作为权重因子,计算加权熵。这样可以在不改变0/1框架的前提下,兼顾大小幅度的信息,避免丢失强度数据。
-
增加方向判断模块:熵值本身不表明趋势方向,建议结合收盘价均线、MACD方向或ADX等趋势指标来判别当前是上涨趋势还是下跌趋势,再根据熵值进行过滤。比如,低熵且价格均线向上时做多,低熵且均线向下时做空,从而避免逆势操作。
-
设计动态阈值:使用历史熵值的分位数替代固定阈值。例如,当熵值低于近一百日10%分位数时定义低熵状态,达到90%分位数时为高熵状态,使策略自动适应不同市场的整体波动水平。动态阈值能够减少市场外部环境变化带来的失效风险。
-
多时间框架共振:分别在日线、小时线甚至周线上计算熵值,要求多个周期的熵值同时处于极端状态,再生成信号。这能过滤掉部分局部噪声,提高信号胜率。例如,大周期熵值开始下降,小周期熵值也同时下降,则说明趋势启动的共振确认度更高。
-
加入成交量权重:如果只用价格编码,当价格在一个极窄区间内出现涨跌交替时,熵值仍然可能是0.5,但此时市场没有真正的波动,信号意义不大。引入成交量作为权重,可以让“高量震荡”和“低量窄幅整理”在熵值上产生区分,增强信号真实性。
-
增加熵的变化率指标:除了绝对值,还可以计算熵的一阶差分(即变化速度)或二阶差分(加速度),用来捕捉趋势转折点。熵值从高位快速下降意味着市场正在从无序转为有序,这往往是入场的好时机;熵值从低位快速上升则提示风险正在积聚,可以考虑减仓或调整止损。
总结
伯努利过程与二元熵函数的结合,给技术指标打开了一扇新窗户。它不像传统均线那样研究价格的方向和幅度,而是退一步去研究市场状态的确定性。0/1编码看似丢失了信息,实则恰好抓住了“方向”这一最本质的二元特征;香农熵又将这种二元特征转化为可衡量的不确定性,使交易者能够更具自适应地判断当前市场是适合趋势跟踪还是震荡反向。
当然,该策略也有自身的局限性:二元化、窗口依赖、阈值模糊、缺乏方向判断等。任何指标都不能脱离完整的交易系统而独立存在,熵值指标更适合作为过滤器或状态确认工具,而不是唯一的入场信号。如果把熵值比作“天气雷达”,它只能告诉你今天是晴空万里还是阴云密布,至于该不该出门,还要结合你的目的地和交通规则。真正成熟的量化交易者,会将其与趋势、资金管理以及严格的回测结合,发挥其信息论优势。
在量化研究日益内卷的今天,像这样从信息论角度出发的策略仍然值得我们深入思考。未来,如果能用自适应窗口、加权概率和动态阈值对原始思路进行升级,这套“熵值感知”的交易框架,或许能真正成为穿越牛熊的不确定性量尺。