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

#
bolb module

Module with BOLB.

## BOLB class

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

Label generator based on breakout_labels_nb().

Superclasses

- Analyzable
- AttrResolverMixin
- Cacheable
- Chainable
- Comparable
- Configured
- ExtPandasIndexer
- HasSettings
- IndexingBase
- IndicatorBase
- PandasIndexer
- Pickleable
- PlotsBuilderMixin
- Prettified
- StatsBuilderMixin
- Wrapping
- `vectorbtpro.labels.generators.bolb.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.labels.generators.bolb._BOLB`

### apply_func method

    BOLB.apply_func(
        high,
        low,
        window=14,
        up_th=inf,
        down_th=inf,
        wait=1
    )

2-dim version of `breakout_labels_1d_nb`.

### cache_func class variable

### 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`.

### down_th_list property

List of `down_th` values.

### high property

Input array.

### high_above method

    BOLB.high_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### high_below method

    BOLB.high_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### high_crossed_above method

    BOLB.high_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### high_crossed_below method

    BOLB.high_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### high_equal method

    BOLB.high_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### high_stats method

    BOLB.high_stats(
        *args,
        **kwargs
    )

Stats of `high` as generic.

### labels property

Output array.

### labels_above method

    BOLB.labels_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### labels_below method

    BOLB.labels_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### labels_crossed_above method

    BOLB.labels_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### labels_crossed_below method

    BOLB.labels_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### labels_equal method

    BOLB.labels_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### labels_stats method

    BOLB.labels_stats(
        *args,
        **kwargs
    )

Stats of `labels` as generic.

### low property

Input array.

### low_above method

    BOLB.low_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### low_below method

    BOLB.low_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### low_crossed_above method

    BOLB.low_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### low_crossed_below method

    BOLB.low_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### low_equal method

    BOLB.low_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### low_stats method

    BOLB.low_stats(
        *args,
        **kwargs
    )

Stats of `low` as generic.

### param_select_func_nb method

    BOLB.param_select_func_nb(
        i,
        args_before,
        high,
        low,
        window,
        up_th,
        down_th,
        wait,
        *args
    )

### plot method

    _BOLB.plot(
        column=None,
        **kwargs
    )

Plot the median of BOLB.high and BOLB.low, and overlay it with the heatmap of BOLB.labels.

`**kwargs` are passed to GenericAccessor.overlay_with_heatmap().

Usage

    >>> vbt.BOLB.run(ohlcv['High'], ohlcv['Low'], up_th=0.2, down_th=0.2).plot().show()

### run class method

    BOLB.run(
        high,
        low,
        window=Default(value=14),
        up_th=Default(value=inf),
        down_th=Default(value=inf),
        wait=Default(value=1),
        short_name='bolb',
        hide_params=None,
        hide_default=True,
        **kwargs
    )

Run BOLB indicator.

- Inputs: `high`, `low`
- Parameters: `window`, `up_th`, `down_th`, `wait`
- Outputs: `labels`

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

    BOLB.run_combs(
        high,
        low,
        window=Default(value=14),
        up_th=Default(value=inf),
        down_th=Default(value=inf),
        wait=Default(value=1),
        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 BOLB indicators using function `comb_func`.

- Inputs: `high`, `low`
- Parameters: `window`, `up_th`, `down_th`, `wait`
- Outputs: `labels`

`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 BOLB.run().

Note

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

### up_th_list property

List of `up_th` values.

### wait_list property

List of `wait` values.

### window_list property

List of `window` 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