
BBI和BOLL到底是什么东西
先别被这些英文缩写吓到。BBI就是四根均线的平均值,把3日、6日、12日、24日均线加在一起除以4。它比单根均线反应更稳,不会因为一天暴涨暴跌就乱翻方向。BOLL布林带更直观,中间一条线是20日均线,上下各画一条通道,通道宽度跟着股价波动自动收放。股价在通道里跑,碰到上轨容易回落,碰到下轨容易反弹,但这不是铁律,得看趋势。
很多人把BBI当趋势过滤器,把BOLL当波动测量仪。两个一起用,能解决一个老问题:单用BOLL,震荡市里反复被上下轨扇耳光;单用BBI,横盘时均线粘合,信号模糊。

这个组合策略底层逻辑是什么
BBI线向上倾斜,说明中期趋势偏多。BBI线向下倾斜,中期趋势偏空。BOLL中轨是20日均线,股价站上中轨,短期动能偏强。股价跌破中轨,短期动能偏弱。
具体信号设计:
BBI向上,股价回调到BOLL中轨附近不破,再次向上突破中轨时做多。
BBI向下,股价反弹到BOLL中轨附近受阻,再次向下跌破中轨时做空。
止损放在BOLL上轨或下轨之外一定距离,或者ATR的1.5倍。
止盈可以用移动止盈,价格跌破BBI线平仓多单,涨破BBI线平空单。
这套逻辑本质是顺大势、逆小势。BBI定多空大方向,BOLL中轨找回调入场点。
股票和期货上怎么用才不亏钱
股票市场T+1,当天买不能卖,这套策略更适合日线级别,持股周期三五天到两三周。期货市场T+0且带杠杆,可以切换到30分钟或1小时级别,但假信号会多很多。
有个关键细节:股票做多只看BBI向上加股价在BOLL中轨上方,期货可以做空,所以BBI向下加股价在BOLL中轨下方就是空头信号。
仓位管理比信号本身更重要。单笔亏损控制在总资金1%到2%。期货杠杆下,如果每次止损2%,连续错五次也才亏10%,还能翻身。重仓一次错,直接出局。
用Python快速回测这个策略
下面代码用pandas和backtrader框架跑一个简化版。数据用股票或期货的日线OHLC。
import backtrader as bt
import pandas as pd
class BbiBollStrategy(bt.Strategy):
params = (('bbi_periods', [3,6,12,24]), ('boll_period', 20), ('boll_dev', 2.0),)
def __init__(self):
self.bbis = []
for p in self.params.bbi_periods:
self.bbis.append(bt.indicators.SMA(self.data.close, period=p))
self.bbi = (self.bbis[0] + self.bbis[1] + self.bbis[2] + self.bbis[3]) / 4
self.boll = bt.indicators.BollingerBands(self.data.close, period=self.params.boll_period, devfactor=self.params.boll_dev)
self.order = None
def next(self):
if self.order:
return
price = self.data.close[0]
bbi_up = self.bbi[0] > self.bbi[-1]
bbi_down = self.bbi[0] < self.bbi[-1]
mid = self.boll.mid[0]
if not self.position:
if bbi_up and price > mid and self.data.close[-1] <= mid:
self.order = self.buy()
elif bbi_down and price < mid and self.data.close[-1] >= mid:
self.order = self.sell()
else:
if self.position.size > 0 and price < self.bbi[0]:
self.order = self.close()
elif self.position.size < 0 and price > self.bbi[0]:
self.order = self.close()
def notify_order(self, order):
if order.status in [order.Completed, order.Canceled, order.Margin]:
self.order = None
跑回测时加个0.1%的手续费和滑点,结果会真实很多。
这套策略的致命弱点在哪里
震荡市是BBI加BOLL的坟墓。价格在BBI线附近来回穿,BOLL中轨也走平,反复触发买入卖出信号,手续费和滑点能把本金啃掉一大块。
解决办法:加一个波动率过滤器。BOLL通道宽度除以中轨小于某个阈值,比如2%,直接停止交易。或者用ADX指标,ADX低于20说明没趋势,空仓等待。
另一个弱点是跳空缺口。期货夜盘跳空,股票业绩公告跳空,止损单可能以极差价格成交。用限价止损或者期权对冲能缓解,但普通散户做不到。最土的办法是降低仓位,把单笔风险控制在0.5%。
实战中怎么调参数不翻车
BBI的四个周期不要随便改。3、6、12、24是经典组合,对应短期、中期、长期。改成5、10、20、60也能用,但信号频率会降一半。
BOLL的20日和2倍标准差是标准配置。调成26日和2倍也行,差别不大。调成1.5倍标准差,通道变窄,信号增多,假信号也增多。调成2.5倍,信号太少,错过行情。
参数优化的正确姿势是固定一个市场,比如沪深300股指期货,用2018到2023年的数据做样本内优化,用2024年数据做样本外验证。样本外亏钱,说明参数过拟合,直接扔掉。
普通人能不能靠这个策略赚钱
能,但前提是接受它是个趋势跟踪系统。趋势跟踪的胜率通常只有35%到45%,靠的是盈亏比。十次交易错六次,对的那四次每次赚20%,错的那六次每次亏5%,最终还能盈利。
心理上最难的是连续止损。BBI加BOLL在震荡市可能连续错七八次,很多人这时候就放弃信号开始手动干预。一干预,趋势来了也吃不到。
资金曲线不是直线上升。它会回撤,回撤幅度可能达到20%。期货杠杆下回撤40%也正常。接受不了这个波动,就把杠杆降到1倍以下,或者只做股票不做期货。
这套策略不神秘,也不保证暴富。它是一套有逻辑、可执行、可回测的规则。规则之外的东西,比如心态、仓位、执行力,才是决定长期能不能活下来的关键。