- Published on
概率分布直方图
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
这段原始描述来自一个公开交易社区中的自定义指标,名字很直白,叫“概率分布直方图”。它的核心思想并不复杂:把价格在某个时间段内的波动范围切成若干等宽的“小格子”,然后统计每一个小格子里出现了多少个价格样本(比如收盘价、最高价、最低价或成交量加权价格)。最终把这些统计结果画成柱状图,就能直观看到价格在哪个区间停留的时间最长、哪个区间最容易反复穿越。
这种思路在传统统计学中早已存在,就是频率分布直方图。将这种统计工具移植到交易分析中,相当于给价格“拍一张快照”,把市场的“重心”与“边界”用频率的方式呈现出来。例如,如果某个股票在过去一年的价格数据中,大部分时间都落在 50 到 55 元之间,那么这一段在直方图上就会形成非常高的柱子,而价格偶尔触碰的 40 元或 65 元则变成很矮的柱子。
对于交易者来说,这样的分布信息至少能带来几层启发:第一,价格最密集的区域往往构成未来重要的支撑或压力区,因为大量成交和持仓都堆积在那里;第二,分布的对称性可以提示当前市场是否处于均衡状态,若分布明显右偏,可能意味着上涨过程急促但短暂,而左侧厚重则表示低位长期整理;第三,如果当前价格正好处于直方图的高频区间内部,那么价格继续在此区间内震荡的概率较高,反之若价格运行到分布边缘甚至超越历史范围,则可能预示突破或趋势加速。
原描述中提到“min 和 max 决定范围”、“分成若干 bins”只是整个计算过程的第一步。完整的逻辑还需要确定分箱数量、统计每个箱内样本数量、以及对极端值进行平滑或归一化处理。这些细节虽然看起来简单,但在实际应用中却会对结果产生显著影响。分箱太粗,分布形态被抹平,看不出关键密集区;分箱太细,噪声放大,每个柱子忽高忽低,同样失去参考价值。因此,如何选择分箱数量是使用该指标时最重要的权衡之一。
更进一步的扩展还可以加入时间权重:例如越靠近当前时刻的价格样本赋予更高权重,使得直方图更灵敏地反映近期的成本分布。或者引入成交量权重,让每个价格样本按成交量大小计频,这样得到的直方图实际上是“成交量分布”,在识别真实筹码密集区时比单纯价格频率更有意义。
名词解释
- 直方图(Histogram):一种用矩形柱状表示数据分布的图表。横轴通常划分成连续的区间(bin),纵轴表示落入每个区间的观测值数量或频率。在交易分析中,横轴是价格区间,纵轴是样本出现次数。
- 分箱(Binning):将连续数据按一定宽度切分成若干离散区间的过程。分箱数量和宽度共同决定直方图的分辨率。分箱过多会引入噪声,过少则会损失信息。
- 分布(Distribution):随机变量或数据集取值的统计规律。在行情数据中,价格分布描述了价格在不同水平上出现的相对频繁程度。
- 支撑/压力区(Support/Resistance Zone):价格多次在某区间反弹或受阻的区域。直方图中高频率的价格区间往往对应强大的支撑或压力区,因为该区域集中了大量历史成交。
- 偏度(Skewness):衡量数据分布对称性的统计量。正偏表示右侧尾部更长,负偏表示左侧尾部更长。在价格直方图中,偏度可反映趋势的倾斜特征。
- 归一化(Normalization):将原始数据按比例缩放到一个特定范围(如 0 到 1)的过程。归一化后的直方图可以相对比较不同时间段、不同品种的频率形态。
- 极端值(Outlier):远离大多数数据点的值。在价格数据中,极端值可能是闪崩或急速拉涨产生的最低价/最高价。若不处理极端值,分箱范围会被极大地拉宽,导致中间分布分辨力下降。
策略思路讲解
概率分布直方图本身更像是一个可视化工具,而不是一个完整的交易系统。但我们可以将它作为构建策略的基础模块,从“静态分布”扩展到“动态交易规则”。
最基本的用法是寻找价格密集区。假设选取过去 N 个交易日的历史价格作为数据集,计算该段时间的最低价和最高价,然后设定 B 个分箱。统计每个价格箱内的样本数量后,找出具有最大样本量的前几个箱子,这些箱子就是市场的“成本重心”。当当前价格位于这些箱子内时,我们可以认为价格处于历史均衡区域,适合高抛低吸;当价格离开这些箱子并冲向上方低频区间时,说明市场正在脱离原有均衡,可能开启新一轮上涨趋势。因此,可以设计如下的规则:
- 若价格从下方进入最高频箱子,做多或平空;
- 若价格从上方进入最高频箱子,做空或平多;
- 若价格跌破所有高频箱体的下边界,并远离该区域,则视为趋势向下延续,持有空头。
这种思路本质上属于均值回归和趋势追踪的混合。高频箱体代表“均值区间”,一旦价格重新回到该区间内,回归动力会推动价格向箱体中轴移动;而一旦价格彻底脱离高频箱体并且不再返回,则意味着原有均衡被打破,趋势占据主导。
另一种更现代的用法是考察分布形态随时间的演化。每隔一段固定时间(如每根 K 线收盘后)重新计算最近 N 个样本的直方图,记录当前最密集箱体相对于前一个周期的移动方向和幅度。如果密集区持续上移,说明市场重心稳步抬升,属于健康的上升趋势;反之若密集区快速下行,则暗示下跌趋势。这种“分布漂移”指标可以作为趋势确认信号,与动量指标配合使用,减少假突破的干扰。
更进一步,可以引入成交量作为权重。此时直方图反映的是“每一价格区间上的累计成交量”,也就是市场中最真实的筹码分布。常见的筹码分布指标就基于类似原理,但概率分布直方图不区分筹码形成的时间,只关注价格频率。如果交易者想要识别套牢区和获利盘,那么成交量加权的直方图更合适;如果只想知道价格行为本身的统计特征,则普通频率直方图更简洁。
在实战中,该指标还能用于设置止损和止盈。如果多头持仓入场后,价格上方存在一个低频真空区,那么上行阻力较小,可以预期较大涨幅,止盈位置可参考该真空区上沿;如果价格下方就是一个高频密集区,说明一跌就可能被拖回密集区域,止损应该适当放宽或收紧,以确保不是假性穿越。
需要强调的是,该指标的参数选择非常关键。历史长度 N 决定统计窗口。N 太短,分布不稳定,噪声大;N 太长,则分布滞后,无法反映近期市场结构变化。分箱数量 B 也类似,通常可以基于样本量大小采用经验公式,比如取 B 等于样本数的平方根。另外,对于极端值的处理不能忽视。如果不剔除历史中的异常暴跌或暴涨,整个分布会被拉得极长,核心区间被压缩到很小的几个箱体里,直方图失去分辨力。因此在实际使用前,最好先对样本进行截尾裁剪,比如去掉最高和最低 1% 的数据,再计算 min 和 max 作为分箱边界。
优点
- 直观易懂:直方图将抽象的价格行为转化为可见的柱状频率,交易者可以一目了然地看出价格在哪个范围活动最频繁,无需复杂的数学背景。
- 多时间尺度适用:既可用于日内分钟级数据,也可用于日线、周线甚至月线数据。通过调整历史窗口和分箱数量,能够适配从短线到长线不同的交易风格。
- 辅助识别关键价位:高频率柱体天然划定了市场的历史成交密集区,这些区域往往与支撑/压力位重合,可以作为止盈、止损和入场决策的参考。
- 与多种策略兼容:这个指标不打算替代其他技术分析工具,而是可以作为滤波器或加权条件,与均线、MACD、布林带等传统指标结合使用,提升整体信号的可靠性。
- 可扩展性强:通过简单修改频次计算方式(例如改为成交量加权或时间衰减加权),就能从“价格频率分布”升级为“筹码分布”或“近期动态分布”,适应更复杂的分析需求。
缺点
- 参数敏感:分箱数量 B 和历史窗口 N 的选择会在很大程度上改变直方图的形态。同一段行情,不同的参数可能给出完全相反的突破或回归信号,导致交易决策不稳定。
- 滞后性:直方图基于历史数据统计,价格结构发生突变后,需要经过足够的新样本累积才能改变分布形态,因此对急剧的趋势反转反应较慢。
- 忽略时间顺序:标准直方图只统计数值出现的次数,完全不考虑价格到达每个区间的先后顺序。两个形态完全相同的直方图可能对应极端不同的行情路径,一个是长期横盘,一个是暴跌后暴涨,但直方图上无法区分。
- 缺乏动态边界:静态直方图的 min 和 max 固定不变,如果价格创出新高或新低,原分布范围被瞬间击穿,此时高频箱体可能立即失去参考意义,需要重新计算整个直方图。
- 容易产生过度拟合:交易者常常试图优化参数,使直方图在过去行情中生成完美信号,这种参数优化极易过拟合,导致未来实盘表现大幅退化。
起源年份考证
概率分布直方图本身是统计学中非常古老的工具。18 世纪中叶,英国学者约翰·米切尔(John Michell)等人在分析星体分布时已隐含了频率表格化的思想;更公认的直方图概念则普遍追溯至 19 世纪法国数学家阿道夫·凯特勒(Adolphe Quetelet)对社会数据的统计分箱分析。在金融交易领域,将价格频率分布用于市场分析的做法最早可以追溯到 20 世纪 30 至 40 年代的技术分析书籍中,当时已有交易者手工绘制价格区间出现次数的表格。
不过,该脚本所用到的“动态重算直方图并可视化在图表上”这类交互式技术指标,则与 20 世纪 90 年代后个人电脑和量化交易软件普及密切相关。公开交易社区中大量类似指标出现于 2010 年之后,其灵感来源很可能来自 1998 年前后由市场轮廓理论(Market Profile)所推广的“成交量分布图”。需要说明的是,以上是针对“该类方法”的行业时间线考证,并非针对某一位作者或具体脚本。原作者 lejmer 本人何时编写该脚本、是否有更早的非公开版本,目前没有可靠证据,无法考证到具体的年份。
时间线整理如下:
- 18 世纪至 19 世纪中期:统计学领域提出并完善了频率分布与直方图的基础理论。
- 20 世纪 30 年代:技术分析书籍中出现手工绘制的价格频率分布表,用于判断关键价位。
- 20 世纪 80 年代至 90 年代:市场轮廓理论(Market Profile,1985 年前后由 CBOT 的 J. Peter Steidlmayer 提出)推广了价格分布的实时应用。
- 1990 年代至 2000 年代:量化交易软件普及,动态直方图指标逐步出现在各类交易终端中。
- 2010 年后:公开交易社区大量涌现以概率分布直方图为基础的自定义指标,本博客所介绍脚本即属此类。
改进建议
-
引入时间衰减权重:为每个历史价格样本分配一个与距当前时间成反比的权重,越接近当前时刻的数据对直方图的贡献越大。这样可以在保留分布整体结构的同时,更快地反映近期市场供求变化,减少滞后性。
-
使用自适应分箱数量:不再使用固定 B 值,而是根据样本总量和数据的标准差动态选择分箱宽度。例如采用 Scott 规则或 Freedman-Diaconis 规则(统计学的经典分箱宽度公式),在数据波动大时自动加宽分箱,在数据平稳时变窄,从而在不同行情下保持相对稳定的分布辨识力。
-
加入成交量加权:将每个价格样本的频次替换为对应成交量,使直方图变为“成交量分布”。这样,柱体高低更能代表真实资金堆积程度,在识别筹码密集区时比单纯价格频率可靠得多。尤其适合机构资金较大的品种,如股指期货和主流加密货币。
-
输出密集区上下边界作为动态通道:不要只显示柱状图,而是自动标记出累计频率最高的若干箱体(例如累计频率超过 50% 的区域),并将这些区域的上界和下界连成一条带。当价格长期运行在带内时视为震荡;当价格脱离带并站上带上方时视为强突破。这样可以让直方图直接转化为可执行的交易系统。
-
增加极端值过滤与分箱范围调整:在计算 min 和 max 前,先对样本进行分位数裁剪,比如只使用 0.5% 至 99.5% 的分位数作为上下界,忽略极端闪崩或急涨造成的虚拟长尾。同时可以设置一个衰减速度参数,当新价格超出原有范围时,逐步移动分箱边界,而不是瞬间重算全部直方图,这样能避免信号跳变。
-
与多周期分布结合:分别计算短周期(如 20 日)和长周期(如 200 日)直方图。短周期分布揭示近期交易者成本,长周期分布揭示全局筹码结构。当两个分布的最密集箱体重叠时,该位置具有极高的支撑/压力强度;当两者分离时,说明行情可能正处于长期筹码和短期成本的偏离修复过程中,适合运用回归策略。
-
引入形态识别:自动检测直方图的偏度、峰度和双峰性。双峰分布表明市场在两个价格区间剧烈拉锯,可能处于大级别盘整;单峰且偏度较高则提示趋势中伴随过量单向推动。将形态特征作为过滤器,可以避免在错误的震荡环境中强行追单。
-
跨品种比较:同时对多个相关性品种计算同参数直方图,比较它们最密集价格区间的相对位置。若两个品种的密集区间发生明显错位,可考虑配对交易或价差回归策略。
总结
概率分布直方图就像是一面挂在行情图表上的统计之镜,它不直接告诉我们买卖时点,而是把隐藏在价格轨迹里的“习惯边界”照出来。我们能看到价格喜欢在哪停留,讨厌呆在哪些区域,这本身就是一种对市场本质的俯视。尽管它存在参数敏感、忽略时间顺序、响应滞后等局限,但通过合理的改进,比如引入时间权重、成交量加权、自适应分箱和动态边界,完全能够升级为一个支撑性很强的实战工具。
在量化交易的世界里,最重要的事不是找到一个“万能指标”,而是理解每一个工具所计算出的数据背后究竟代表什么样的市场语义。概率分布直方图的意义在于,它把一组无序的价格数据转化成了有结构的频率画像,交易者可以基于这幅画像去设计回归策略、趋势跟踪策略,或者仅仅用它来更沉稳地树立止损止盈区间。
最后需要提醒的是,任何统计指标都只是概率提升的工具,而不是确定性预言。分布中所显示的高频区间可能在未来被彻底打破,也可能在很长一段时间内继续约束价格。所以,在实际使用中应当结合严格的资金管理和对市场逻辑的独立判断。概率分布直方图给我们提供了观察市场的一种方式,但真正做出决策的,始终是那个能够处理不断变化信息的人——也就是你。