Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

BollingerBandWidth

BollingerBandWidth i ProBuilder returnerar avståndet mellan det övre och det nedre Bollinger-bandet, ett direkt volatilitetsmått. Syntax, formel, exempel.

Syntax

probuilder
BollingerBandWidth[N](price)

Parametrar

NamnTypStandardBeskrivning
Nheltal20Period som används för det glidande medelvärdet och standardavvikelsen som ligger bakom banden. 20 är Bollingers standardinställning.
pricepriskällaclosePrisserie som banden beräknas på, vanligtvis close.

Formel

kod
Upper = Average[N](price) + 2 * STD[N](price)
Lower = Average[N](price) - 2 * STD[N](price)
BollingerBandWidth = Upper - Lower = 4 * STD[N](price)

Eftersom det övre och det nedre bandet ligger symmetriskt två standardavvikelser från det glidande medelvärdet reduceras bredden till fyra gånger N-periods standardavvikelse för priset.

Så fungerar det

Bollinger Bands expanderar när kursen sprids och kontraherar när kursen samlas kring sitt medelvärde. BollingerBandWidth extraherar den expansionen och kontraktionen till en enda linje, så att du inte behöver uppskatta avståndet mellan två utritade band med blotta ögat.

Värdet uttrycks i prisenheter. Det stiger under volatila faser, oavsett om marknaden trendar eller kraschar, och faller under konsolideringar. Utdragen kontraktion, ofta kallad en squeeze, indikerar en marknad som dras samman till en snäv range. Squeezes har inget riktningsinnehåll, men de identifierar förhållanden under vilka nästa riktade rörelse tenderar att gå längre, vilket är anledningen till att breakout-system ofta villkorar sina entries på bandbredden.

Eftersom standardavvikelsen skalar med prisnivån är råa breddvärden endast jämförbara med samma instruments egen historik. Att dividera med mittbandet eller med kursen omvandlar värdet till ett relativt mått som lämpar sig för screening över flera marknader.

Exempel

Exempel 1, Snabb och långsam bandbredd (Indikator)

probuilder
// 20-period width against a slower 30-period width for context
BBwidth = BollingerBandWidth[20](close)
BBwidthSlow = BollingerBandWidth[30](close)
RETURN BBwidth coloured(0,100,100), BBwidthSlow AS "more laggy BandWidth"

Ritar ut två bredder sida vid sida. Versionen med 30 perioder reagerar långsammare, så avståndet mellan de två linjerna framhäver nya volatilitetsskiften.

Exempel 2, Squeeze-screener (ProScreener)

probuilder
// Instruments whose band width sits at a 100-bar low
bw = BollingerBandWidth[20](close)
squeeze = bw <= Lowest[100](bw)
SCREENER[squeeze]((bw / close) * 100 AS "Width % of price")

Returnerar instrument i maximal kompression i förhållande till sin egen senaste historik, uttryckt som en procentandel av kursen så att resultaten är jämförbara mellan marknader.

Exempel 3, Breakout-entry villkorad av expanderande bredd (ProOrder)

probuilder
// Buy a channel breakout only when volatility is expanding from a squeeze
bw = BollingerBandWidth[20](close)
expanding = bw > bw[3]
wasTight = bw[3] < Average[50](bw)[3]

IF NOT LongOnMarket AND close CROSSES OVER BollingerUp[20](close) THEN
  IF expanding AND wasTight THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ENDIF

IF LongOnMarket AND close CROSSES UNDER Average[20](close) THEN
  SELL AT MARKET
ENDIF

Bandbreddsvillkoren kräver att breakouten uppstår ur kompression och att volatiliteten aktivt expanderar, vilket filtrerar bort bandberöringar som sker inne i etablerade högvolatilitetsfaser.

Tolkning

ObservationAvläsning
Bredd på lägsta nivåerna på flera veckorSqueeze. Marknaden är komprimerad, expansion följer ofta. Ingen riktningsbias.
Bredd som stiger kraftigtVolatilitetsexpansion, följer vanligtvis med en breakout eller en nyhetsdriven rörelse.
Bredd på extrema toppnivåerVolatilitet i ett sent skede. Rörelser som är så utsträckta pausar ofta eller går mot mean reversion.
Bredd som faller efter en spikImpulsen smälts, trendfortsättningen blir mindre explosiv.

Bandbredden identifierar volatilitetsregimen, inte riktningen. Den besvarar när en marknad sannolikt rör sig betydande, och andra verktyg måste besvara i vilken riktning.

Vanliga fel och fallgropar

  • Rå bredd är inte jämförbar mellan instrument. Värdet anges i prisenheter och skalar med prisnivån. Screena eller jämför med width / close eller width / Average[N](close) istället.
  • Att behandla en squeeze som en riktningssignal. Kompression förutsäger expansion, inte riktning. Att gå long bara för att bredden är låg köper ett slantsingel; ett separat breakout- eller trendvillkor ger riktningen.
  • Att förväxla bredd med %B eller bandposition. BollingerBandWidth mäter avståndet mellan banden. Det säger ingenting om var priset ligger inuti dem. Positionen inom banden kräver att priset jämförs med BollingerUp och BollingerDown direkt.
  • Korta perioder gör squeeze-begreppet meningslöst. Med små N, oscillerar bredden så snabbt att squeezes uppträder konstant. Mönstrets värde kommer från ihållande kompression med standardinställningar som 20 perioder.