Skip to content
New: Star-import, signal unraveling, Python 3.12 support, and more

#
bbands module

Module with BBANDS.

## BBANDS class

    BBANDS(
        wrapper,
        input_list,
        input_mapper,
        in_output_list,
        output_list,
        param_list,
        mapper_list,
        short_name,
        level_names
    )

Bollinger Bands (BBANDS).

A Bollinger Band® is a technical analysis tool defined by a set of lines plotted two standard deviations (positively and negatively) away from a simple moving average (SMA) of the security's price, but can be adjusted to user preferences.

See Bollinger Band®.

Superclasses

- Analyzable
- AttrResolverMixin
- Cacheable
- Chainable
- Comparable
- Configured
- ExtPandasIndexer
- HasSettings
- IndexingBase
- IndicatorBase
- PandasIndexer
- Pickleable
- PlotsBuilderMixin
- Prettified
- StatsBuilderMixin
- Wrapping
- `vectorbtpro.indicators.custom.bbands.ParamIndexer`

Inherited members

- AttrResolverMixin.deep_getattr()
- AttrResolverMixin.post_resolve_attr()
- AttrResolverMixin.pre_resolve_attr()
- AttrResolverMixin.resolve_attr()
- AttrResolverMixin.resolve_shortcut_attr()
- Cacheable.get_ca_setup()
- Chainable.pipe()
- Configured.copy()
- Configured.equals()
- Configured.get_writeable_attrs()
- Configured.prettify()
- Configured.replace()
- Configured.resolve_merge_kwargs()
- Configured.update_config()
- HasSettings.get_path_setting()
- HasSettings.get_path_settings()
- HasSettings.get_setting()
- HasSettings.get_settings()
- HasSettings.has_path_setting()
- HasSettings.has_path_settings()
- HasSettings.has_setting()
- HasSettings.has_settings()
- HasSettings.reset_settings()
- HasSettings.resolve_setting()
- HasSettings.resolve_settings_paths()
- HasSettings.set_settings()
- IndexingBase.indexing_setter_func()
- IndicatorBase.cls_dir
- IndicatorBase.column_only_select
- IndicatorBase.column_stack()
- IndicatorBase.config
- IndicatorBase.dropna()
- IndicatorBase.group_select
- IndicatorBase.iloc
- IndicatorBase.in_output_names
- IndicatorBase.indexing_func()
- IndicatorBase.indexing_kwargs
- IndicatorBase.input_names
- IndicatorBase.lazy_output_names
- IndicatorBase.level_names
- IndicatorBase.loc
- IndicatorBase.output_flags
- IndicatorBase.output_names
- IndicatorBase.param_names
- IndicatorBase.plots_defaults
- IndicatorBase.range_only_select
- IndicatorBase.rec_state
- IndicatorBase.row_stack()
- IndicatorBase.run_pipeline()
- IndicatorBase.self_aliases
- IndicatorBase.short_name
- IndicatorBase.stats_defaults
- IndicatorBase.to_dict()
- IndicatorBase.to_frame()
- IndicatorBase.unpack()
- IndicatorBase.wrapper
- IndicatorBase.xloc
- PandasIndexer.xs()
- Pickleable.decode_config()
- Pickleable.decode_config_node()
- Pickleable.dumps()
- Pickleable.encode_config()
- Pickleable.encode_config_node()
- Pickleable.file_exists()
- Pickleable.getsize()
- Pickleable.load()
- Pickleable.loads()
- Pickleable.modify_state()
- Pickleable.resolve_file_path()
- Pickleable.save()
- PlotsBuilderMixin.build_subplots_doc()
- PlotsBuilderMixin.override_subplots_doc()
- PlotsBuilderMixin.plots()
- StatsBuilderMixin.build_metrics_doc()
- StatsBuilderMixin.override_metrics_doc()
- StatsBuilderMixin.stats()
- Wrapping.regroup()
- Wrapping.resample()
- Wrapping.resolve_column_stack_kwargs()
- Wrapping.resolve_row_stack_kwargs()
- Wrapping.resolve_self()
- Wrapping.resolve_stack_kwargs()
- Wrapping.select_col()
- Wrapping.select_col_from_obj()
- Wrapping.split()

Subclasses

- `vectorbtpro.indicators.custom.bbands._BBANDS`

### alpha_list property

List of `alpha` values.

### apply_func method

    BBANDS.apply_func(
        close,
        window=14,
        wtype=0,
        alpha=2.0,
        minp=None,
        adjust=False,
        ddof=0
    )

2-dim version of `bbands_1d_nb`.

### bandwidth property

Custom property.

### bandwidth_above method

    BBANDS.bandwidth_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `bandwidth` is above `other`.

See combine_objs().

### bandwidth_below method

    BBANDS.bandwidth_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `bandwidth` is below `other`.

See combine_objs().

### bandwidth_crossed_above method

    BBANDS.bandwidth_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `bandwidth` is crossed_above `other`.

See combine_objs().

### bandwidth_crossed_below method

    BBANDS.bandwidth_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `bandwidth` is crossed_below `other`.

See combine_objs().

### bandwidth_equal method

    BBANDS.bandwidth_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `bandwidth` is equal `other`.

See combine_objs().

### bandwidth_stats method

    BBANDS.bandwidth_stats(
        *args,
        **kwargs
    )

Stats of `bandwidth` as generic.

### cache_func class variable

### close property

Input array.

### close_above method

    BBANDS.close_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is above `other`.

See combine_objs().

### close_below method

    BBANDS.close_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is below `other`.

See combine_objs().

### close_crossed_above method

    BBANDS.close_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is crossed_above `other`.

See combine_objs().

### close_crossed_below method

    BBANDS.close_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is crossed_below `other`.

See combine_objs().

### close_equal method

    BBANDS.close_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is equal `other`.

See combine_objs().

### close_stats method

    BBANDS.close_stats(
        *args,
        **kwargs
    )

Stats of `close` as generic.

### custom_func method

    IndicatorFactory.with_apply_func.<locals>.custom_func(
        input_tuple,
        in_output_tuple,
        param_tuple,
        *_args,
        input_shape=None,
        per_column=False,
        split_columns=False,
        skipna=False,
        return_cache=False,
        use_cache=True,
        jitted_loop=False,
        jitted_warmup=False,
        execute_kwargs=None,
        **_kwargs
    )

Custom function that forwards inputs and parameters to `apply_func`.

### lower property

Output array.

### lower_above method

    BBANDS.lower_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `lower` is above `other`.

See combine_objs().

### lower_below method

    BBANDS.lower_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `lower` is below `other`.

See combine_objs().

### lower_crossed_above method

    BBANDS.lower_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `lower` is crossed_above `other`.

See combine_objs().

### lower_crossed_below method

    BBANDS.lower_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `lower` is crossed_below `other`.

See combine_objs().

### lower_equal method

    BBANDS.lower_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `lower` is equal `other`.

See combine_objs().

### lower_stats method

    BBANDS.lower_stats(
        *args,
        **kwargs
    )

Stats of `lower` as generic.

### middle property

Output array.

### middle_above method

    BBANDS.middle_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `middle` is above `other`.

See combine_objs().

### middle_below method

    BBANDS.middle_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `middle` is below `other`.

See combine_objs().

### middle_crossed_above method

    BBANDS.middle_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `middle` is crossed_above `other`.

See combine_objs().

### middle_crossed_below method

    BBANDS.middle_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `middle` is crossed_below `other`.

See combine_objs().

### middle_equal method

    BBANDS.middle_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `middle` is equal `other`.

See combine_objs().

### middle_stats method

    BBANDS.middle_stats(
        *args,
        **kwargs
    )

Stats of `middle` as generic.

### param_select_func_nb method

    BBANDS.param_select_func_nb(
        i,
        args_before,
        close,
        window,
        wtype,
        alpha,
        *args
    )

### percent_b property

Custom property.

### percent_b_above method

    BBANDS.percent_b_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `percent_b` is above `other`.

See combine_objs().

### percent_b_below method

    BBANDS.percent_b_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `percent_b` is below `other`.

See combine_objs().

### percent_b_crossed_above method

    BBANDS.percent_b_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `percent_b` is crossed_above `other`.

See combine_objs().

### percent_b_crossed_below method

    BBANDS.percent_b_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `percent_b` is crossed_below `other`.

See combine_objs().

### percent_b_equal method

    BBANDS.percent_b_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `percent_b` is equal `other`.

See combine_objs().

### percent_b_stats method

    BBANDS.percent_b_stats(
        *args,
        **kwargs
    )

Stats of `percent_b` as generic.

### plot method

    _BBANDS.plot(
        column=None,
        plot_close=True,
        close_trace_kwargs=None,
        upper_trace_kwargs=None,
        middle_trace_kwargs=None,
        lower_trace_kwargs=None,
        add_trace_kwargs=None,
        fig=None,
        **layout_kwargs
    )

Plot BBANDS.upper, BBANDS.middle, and BBANDS.lower against BBANDS.close.

Args

`column` :`str`
  Name of the column to plot.
`plot_close` :`bool`
  Whether to plot BBANDS.close.
`close_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for BBANDS.close.
`upper_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for BBANDS.upper.
`middle_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for BBANDS.middle.
`lower_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for BBANDS.lower.
`add_trace_kwargs` :`dict`
  Keyword arguments passed to `fig.add_trace` when adding each trace.
`fig` :`Figure` or `FigureWidget`
  Figure to add traces to.
`**layout_kwargs`
  Keyword arguments passed to `fig.update_layout`.

Usage

    >>> vbt.BBANDS.run(ohlcv['Close']).plot().show()

### run class method

    BBANDS.run(
        close,
        window=Default(value=14),
        wtype=Default(value='simple'),
        alpha=Default(value=2),
        short_name='bb',
        hide_params=None,
        hide_default=True,
        **kwargs
    )

Run BBANDS indicator.

- Inputs: `close`
- Parameters: `window`, `wtype`, `alpha`
- Outputs: `upper`, `middle`, `lower`
- Lazy outputs: `percent_b`, `bandwidth`

Pass a list of parameter names as `hide_params` to hide their column levels, or True to hide all. Set `hide_default` to False to show the column levels of the parameters with a default value.

Other keyword arguments are passed to IndicatorBase.run_pipeline().

### run_combs class method

    BBANDS.run_combs(
        close,
        window=Default(value=14),
        wtype=Default(value='simple'),
        alpha=Default(value=2),
        r=2,
        param_product=False,
        comb_func=itertools.combinations,
        run_unique=True,
        short_names=None,
        hide_params=None,
        hide_default=True,
        **kwargs
    )

Create a combination of multiple BBANDS indicators using function `comb_func`.

- Inputs: `close`
- Parameters: `window`, `wtype`, `alpha`
- Outputs: `upper`, `middle`, `lower`
- Lazy outputs: `percent_b`, `bandwidth`

`comb_func` must accept an iterable of parameter tuples and `r`. Also accepts all combinatoric iterators from itertools such as `itertools.combinations`. Pass `r` to specify how many indicators to run. Pass `short_names` to specify the short name for each indicator. Set `run_unique` to True to first compute raw outputs for all parameters, and then use them to build each indicator (faster).

Other keyword arguments are passed to BBANDS.run().

Note

This method should only be used when multiple indicators are needed. To test multiple parameters, pass them as lists to BBANDS.run().

### upper property

Output array.

### upper_above method

    BBANDS.upper_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `upper` is above `other`.

See combine_objs().

### upper_below method

    BBANDS.upper_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `upper` is below `other`.

See combine_objs().

### upper_crossed_above method

    BBANDS.upper_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `upper` is crossed_above `other`.

See combine_objs().

### upper_crossed_below method

    BBANDS.upper_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `upper` is crossed_below `other`.

See combine_objs().

### upper_equal method

    BBANDS.upper_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `upper` is equal `other`.

See combine_objs().

### upper_stats method

    BBANDS.upper_stats(
        *args,
        **kwargs
    )

Stats of `upper` as generic.

### window_list property

List of `window` values.

### wtype_list property

List of `wtype` values.

#### Cookie consent

We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.

- Google Analytics
- GitHub

Manage settings