Learn R Programming

TTR (version 0.21-1)

PBands: Construct (optionally further smoothed and centered ) volatility bands around prices

Description

John Bollinger's famous adaptive volatility bands most often use the typical price of an HLC series, or may be calculated on a univariate price series (see BBands.

This function applies a second moving average denoted by fastn to filter out higher-frequency noise, making the bands somewhat more stable to temporary fluctuations and spikes.

Usage

PBands(prices, n=20, maType="SMA", sd=2, ..., fastn=2,
    centered=FALSE, lavg=FALSE)

Arguments

prices
A univariate series of prices.
n
Number of periods to average over.
maType
A function or a string naming the function to be called.
sd
The number of standard deviations to use.
...
any other pass-thru parameters, usually for function named by maType.
fastn
Number of periods to use for smoothing higher-frequency 'noise'.
centered
Whether to center the bands around a series adjusted for high frequency noise, default FALSE.
lavg
Whether to use a longer (n*2) smoothing period for centering, default FALSE.

Value

  • A object of the same class as prices or a matrix (if try.xts fails) containing the columns:
  • dnThe lower Bollinger Band.
  • centerThe smoothed centerline (see details).
  • upThe upper Bollinger Band.

Details

If centered is TRUE, the function also further smoothes and centers the bands around a centerline adjusted to remove this higher frequency noise. If lavg is also TRUE, the smoothing applied for the middle band (but not the volatility bands) is doubled to further smooth the price-response function.

If you have multiple different price series in prices, and want to use this function, call this functions using lapply(prices,PBands).

See Also

BBands

Examples

Run this code
data(ttrc)
    pbands.close <- PBands( ttrc[,"Close"] )

Run the code above in your browser using DataLab