第四节:布林带策略——做市商的“价格通道”

布林带这东西,在量化圈里几乎人手一份。但说实话,很多人用错了。我见过不少团队直接把布林带当震荡指标用,结果在趋势行情里亏得底朝天。今天咱们就聊聊,做市商怎么用好这个工具。

4.1 布林带原理:三条线背后的逻辑

布林带由三条线组成:中轨、上轨、下轨。中轨是N周期的简单移动平均线(SMA),上下轨则是中轨加减K倍标准差。

你想想看,标准差衡量的是价格波动率。波动越大,布林带就越宽;波动越小,布林带就越窄。这个特性对做市商来说特别重要——因为它直接告诉我们:当前市场是“安静”还是“躁动”。

核心公式:

  • 中轨 = SMA(N)
  • 上轨 = 中轨 + K × σ
  • 下轨 = 中轨 - K × σ

其中σ是N周期价格的标准差,K是标准差倍数。

我在项目中遇到过一个问题:有人把布林带参数设成20,2,然后死板地认为价格碰到上轨就卖、碰到下轨就买。结果呢?趋势行情里连续被打脸。为什么?因为布林带在趋势中会不断“张口”,价格贴着上轨一直走,你卖一次亏一次。

4.2 参数优化:周期与标准差倍数的博弈

布林带两个核心参数:周期N和标准差倍数K。这两个参数怎么配?我个人的习惯是分三步走。

4.2.1 周期N的选择

周期N决定了中轨的平滑程度。N越小,中轨越敏感,但噪音也大。N越大,中轨越平滑,但滞后严重。

周期N 适用场景 我的经验
10-15 高频做市,1分钟级别 噪音大,需要配合其他过滤器
20-30 中频做市,5-15分钟级别 我最常用的区间,平衡性好
40-60 低频做市,小时级别 滞后明显,但信号稳定

嗯,这里要注意:周期N不是越大越好。我记得有一次做ETH的做市,把N设成50,结果布林带完全跟不上价格变化,等它给出信号,行情已经走完一半了。

4.2.2 标准差倍数K的调优

K值决定了布林带的宽度。K越大,上下轨离中轨越远,信号越少但越可靠。K越小,信号越多但假信号也多。

我的经验法则:

对于做市商来说,K值建议设在2.0到2.5之间。2.0是经典值,覆盖约95%的价格分布。2.5更保守,适合波动率较高的品种。

我曾经在BTC永续合约上做过测试:K=1.8时,信号太多,频繁开仓导致手续费吃掉利润。K=2.5时,信号太少,经常错过好的入场点。最后定在2.2,效果最好。

4.3 布林带做市信号生成

做市商用布林带,核心逻辑不是“突破就追”,而是“回归就做”。说白了,就是利用价格向中轨回归的特性来赚取差价。

4.3.1 基础信号:回归交易

当价格触及上轨时,我们认为价格偏高,有回归中轨的动力。此时可以挂卖单。反之,价格触及下轨时,挂买单。

# 伪代码示例
if price >= upper_band:
    place_sell_order(price=upper_band, quantity=base_qty)
elif price <= lower_band:
    place_buy_order(price=lower_band, quantity=base_qty)
else:
    # 价格在布林带内部,不做操作
    pass

但这里有个坑:单纯这样写,在趋势行情里会死得很惨。我曾经吃过这个亏,后来加了一个过滤器——只有当布林带宽度(上轨-下轨)处于历史低位时,才执行回归交易。因为布林带窄的时候,说明市场在蓄力,回归概率高。

4.3.2 进阶信号:带宽与动量结合

我个人习惯用布林带宽度(Band Width)来判断市场状态:

  • 带宽收缩:市场即将变盘,此时减少做市仓位,等待方向明确
  • 带宽扩张:趋势正在形成,此时可以顺势做市,但要注意止损
  • 带宽稳定:震荡行情,适合回归交易

避坑指南:

我曾经在带宽扩张时强行做回归交易,结果连续被突破行情打穿止损。后来我加了一条规则:当带宽大于历史90%分位数时,暂停回归策略,转为趋势跟踪。

4.3.3 实战信号组合

我建议把布林带信号和RSI结合起来用。比如:

  1. 价格触及下轨 + RSI < 30 → 强烈买入信号
  2. 价格触及上轨 + RSI > 70 → 强烈卖出信号
  3. 价格触及下轨但RSI > 40 → 假信号,放弃
  4. 价格触及上轨但RSI < 60 → 假信号,放弃

你想想看,RSI过滤掉了很多“价格到了但动量没跟上”的情况。我在实盘中用这个组合,信号质量提升了至少30%。

4.4 布林带策略知识体系

下面这张图,是我自己总结的布林带做市策略的核心逻辑。你可以把它当成一个决策树来看。

布林带做市策略决策流程 布林带信号触发 带宽是否处于历史低位? 执行回归交易 检查带宽分位数 带宽 > 90% 分位数? 暂停回归,转为趋势跟踪 减少仓位,观望 图例 可执行 需谨慎

这个流程我用了两年多,在BTC、ETH、BNB等多个品种上都跑过回测。核心思想就一句话:布林带不是预测工具,而是状态识别工具。它告诉你当前市场处于什么状态,然后你根据状态选择对应的做市策略。

最后一个小技巧:

实盘时,我建议把布林带参数做成动态的。比如根据过去24小时的波动率自动调整K值。波动率低的时候用K=2.0,波动率高的时候用K=2.5。这样能自适应市场变化,比固定参数强很多。

好了,布林带这部分就聊到这儿。记住,参数没有绝对的最优解,只有最适合你当前品种和周期的解。多跑回测,多观察实盘,慢慢就能找到感觉。