一、 布林线(BOLL) 的核心计算公式
布林线(Bollinger Bands)由约翰·布林(John Bollinger)在20世纪80年代提出,其核心思想是利用统计学中的标准差来衡量市场的波动率。布林线由三条轨道线组成:中轨、上轨和下轨。理解其计算公式是掌握该指标的第一步。
1.1 中轨(Middle Band)
中轨本质上是股价的移动平均线(MA)。它代表了市场在特定周期内的平均成本。
1.2 标准差(Standard Deviation)
标准差是衡量数据离散程度的统计量。在布林线中,它反映了股价偏离平均值的程度。
1.3 上轨(Upper Band)与下轨(Lower Band)
上下轨是以中轨为中心,向两侧延伸K倍标准差的距离。K值通常设为2。
下轨 (DN) = MB - 2 × MD
通过上述公式可以看出,布林线是一个动态通道。当市场波动加剧时,标准差MD变大,上下轨张开;当市场波动减缓时,MD变小,上下轨收缩。这种特性使得布林线能够自适应市场节奏。
二、 参数设置对布林线的影响
虽然默认参数为 (20, 2),但在不同的交易品种和时间周期下,调整参数可以优化信号的准确性。以下是网友普遍关注的参数调整策略。
〖 短线交易 (10, 2) 〗
缩短周期至10日,使布林线对价格变化更敏感。适合高频短线交易,但噪音信号也会增加,需结合成交量过滤。
〖 中长线趋势 (26, 2) 〗
使用26日(约一个月半)作为周期,能平滑短期波动,更好地捕捉中期趋势。适合波段操作者。
〖 宽幅通道 (20, 2.5) 〗
保持20日周期,但将标准差倍数调至2.5。这样可以减少假突破信号,只有极端的波动才会触及轨道,适合稳健型投资者。
参数调整示例表
| 参数组合 | 适用场景 | 灵敏度 | 滞后性 | 假信号率 |
|---|---|---|---|---|
| (20, 2) - 标准 | 通用 | 中等 | 中等 | 中等 |
| (10, 2) - 短线 | 日内/短线 | 高 | 低 | 高 |
| (60, 2) - 长线 | 长线投资 | 低 | 高 | 低 |
三、 基于布林线的实战交易策略
仅仅知道公式是不够的,关键在于如何解读上下轨的变化。以下是三种经典的布林线交易形态:
缩口突破(Squeeze Breakout)
当布林线上下轨逐渐靠拢,形成“缩口”形态时,表明市场波动率降至极低,多空双方力量均衡,即将选择方向。
- ⚡ 买入信号: 股价放量突破上轨,且布林线开口向上扩张。
- ⚡ 卖出信号: 股价跌破下轨,且布林线开口向下扩张。
- ⚠️ 注意: 缩口时间越长,后续突破的力度通常越大。
喇叭口张开(Band Expansion)
在趋势行情中,布林线会呈现喇叭口张开的形态。
- 〖 上升趋势 〗:股价沿上轨运行,中轨向上倾斜。这是最强的多头信号,持股待涨。
- 〖 下降趋势 〗:股价沿下轨运行,中轨向下倾斜。这是最强的空头信号,应果断离场。
中轨支撑/压力(Mean Reversion)
在震荡市中,布林线的中轨起着关键的支撑和压力作用。
- 〖 支撑 〗:股价回调至中轨企稳反弹,可视为短线买入点。
- 〖 压力 〗:股价反弹至中轨受阻回落,可视为短线卖出点。
- ⚠️ 注意: 此策略仅在布林线走平或小幅波动时有效,趋势强烈时失效。
四、 量化交易中的布林线实现
对于程序员和量化交易者,直接使用代码计算布林线更为高效。以下提供Python(使用pandas库)和通达信公式语言的示例。
4.1 Python Pandas 实现
import pandas as pd
import numpy as np
def calculate_boll(df, window=20, num_std=2):
"""
计算布林线
:param df: 包含'Close'列的DataFrame
:param window: 移动平均周期
:param num_std: 标准差倍数
:return: 包含MB, UP, DN的DataFrame
"""
# 计算中轨
df['MB'] = df['Close'].rolling(window=window).mean()
# 计算标准差
rolling_std = df['Close'].rolling(window=window).std()
# 计算上下轨
df['UP'] = df['MB'] + (num_std rolling_std)
df['DN'] = df['MB'] - (num_std rolling_std)
return df[['Close', 'MB', 'UP', 'DN']]
4.2 通达信/同花顺公式语言
{布林线 BOLL 公式}
N:=20;{默认参数20}
MID:=MA(CLOSE,N);{中轨}
UPPER:MID+2STD(CLOSE,N,2);{上轨}
LOWER:MID-2STD(CLOSE,N,2);{下轨}
通过代码实现,你可以将布林线与其他指标(如RSI、MACD)结合,构建更复杂的量化策略。
六、 常见问题解答 (FAQ)
参数20代表计算移动平均线的周期(通常为20个交易日,即一个月),参数2代表标准差的倍数(置信区间),通常覆盖约95.4%的价格波动范围。这意味着在正常市场波动下,股价有95.4%的时间会在布林线通道内运行。
布林线收口(Squeeze)意味着市场波动率降低,价格在一个狭窄的区间内震荡,通常预示着即将发生方向性的突破行情。交易者应密切关注突破方向。
这可能是“假突破”。如果突破时成交量不足,或者股价快速回落至通道内,说明多头力量衰竭。此外,在震荡市中,触及上轨往往是短线卖点而非买点。
布林线适用于任何有价格波动的金融资产,包括股票、期货、外汇和加密货币。但对于长期横盘、波动极小的“死股”,布林线可能长时间走平,参考价值较低。
做多时,可将下轨或中轨作为动态止损位。如果股价跌破中轨且布林线开口向下,应坚决止损;如果股价跌破下轨但很快收回,可暂时持有观察。