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

#
sigdet module

Module with SIGDET.

## SIGDET class

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

Robust peak detection algorithm (using z-scores).

See https://stackoverflow.com/a/22640362

Superclasses

- Analyzable
- AttrResolverMixin
- Cacheable
- Chainable
- Comparable
- Configured
- ExtPandasIndexer
- HasSettings
- IndexingBase
- IndicatorBase
- PandasIndexer
- Pickleable
- PlotsBuilderMixin
- Prettified
- StatsBuilderMixin
- Wrapping
- `vectorbtpro.indicators.custom.sigdet.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.sigdet._SIGDET`

### apply_func method

    SIGDET.apply_func(
        close,
        lag=14,
        factor=1.0,
        influence=1.0,
        up_factor=None,
        down_factor=None,
        mean_influence=None,
        std_influence=None
    )

2-dim version of `signal_detection_1d_nb`.

### cache_func class variable

### close property

Input array.

### close_above method

    SIGDET.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

    SIGDET.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

    SIGDET.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

    SIGDET.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

    SIGDET.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

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

### down_factor_list property

List of `down_factor` values.

### factor_list property

List of `factor` values.

### influence_list property

List of `influence` values.

### lag_list property

List of `lag` values.

### lower_band property

Output array.

### lower_band_above method

    SIGDET.lower_band_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### lower_band_below method

    SIGDET.lower_band_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### lower_band_crossed_above method

    SIGDET.lower_band_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### lower_band_crossed_below method

    SIGDET.lower_band_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### lower_band_equal method

    SIGDET.lower_band_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### lower_band_stats method

    SIGDET.lower_band_stats(
        *args,
        **kwargs
    )

Stats of `lower_band` as generic.

### mean_influence_list property

List of `mean_influence` values.

### param_select_func_nb method

    SIGDET.param_select_func_nb(
        i,
        args_before,
        close,
        lag,
        factor,
        influence,
        up_factor,
        down_factor,
        mean_influence,
        std_influence,
        *args
    )

### plot method

    _SIGDET.plot(
        column=None,
        signal_trace_kwargs=None,
        add_trace_kwargs=None,
        fig=None,
        **layout_kwargs
    )

Plot SIGDET.signal against SIGDET.close.

Args

`column` :`str`
  Name of the column to plot.
`signal_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SIGDET.signal.
`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.SIGDET.run(ohlcv['Close']).plot().show()

### plot_bands method

    _SIGDET.plot_bands(
        column=None,
        plot_close=True,
        close_trace_kwargs=None,
        upper_band_trace_kwargs=None,
        lower_band_trace_kwargs=None,
        add_trace_kwargs=None,
        fig=None,
        **layout_kwargs
    )

Plot SIGDET.upper_band and SIGDET.lower_band against SIGDET.close.

Args

`column` :`str`
  Name of the column to plot.
`plot_close` :`bool`
  Whether to plot SIGDET.close.
`close_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SIGDET.close.
`upper_band_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SIGDET.upper_band.
`lower_band_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SIGDET.lower_band.
`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.SIGDET.run(ohlcv['Close']).plot_bands().show()

### run class method

    SIGDET.run(
        close,
        lag=Default(value=14),
        factor=Default(value=1.0),
        influence=Default(value=1.0),
        up_factor=Default(value=None),
        down_factor=Default(value=None),
        mean_influence=Default(value=None),
        std_influence=Default(value=None),
        short_name='sigdet',
        hide_params=None,
        hide_default=True,
        **kwargs
    )

Run SIGDET indicator.

- Inputs: `close`
- Parameters: `lag`, `factor`, `influence`, `up_factor`, `down_factor`, `mean_influence`, `std_influence`
- Outputs: `signal`, `upper_band`, `lower_band`

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

    SIGDET.run_combs(
        close,
        lag=Default(value=14),
        factor=Default(value=1.0),
        influence=Default(value=1.0),
        up_factor=Default(value=None),
        down_factor=Default(value=None),
        mean_influence=Default(value=None),
        std_influence=Default(value=None),
        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 SIGDET indicators using function `comb_func`.

- Inputs: `close`
- Parameters: `lag`, `factor`, `influence`, `up_factor`, `down_factor`, `mean_influence`, `std_influence`
- Outputs: `signal`, `upper_band`, `lower_band`

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

Note

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

### signal property

Output array.

### signal_above method

    SIGDET.signal_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### signal_below method

    SIGDET.signal_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### signal_crossed_above method

    SIGDET.signal_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### signal_crossed_below method

    SIGDET.signal_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### signal_equal method

    SIGDET.signal_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### signal_stats method

    SIGDET.signal_stats(
        *args,
        **kwargs
    )

Stats of `signal` as generic.

### std_influence_list property

List of `std_influence` values.

### up_factor_list property

List of `up_factor` values.

### upper_band property

Output array.

### upper_band_above method

    SIGDET.upper_band_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### upper_band_below method

    SIGDET.upper_band_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### upper_band_crossed_above method

    SIGDET.upper_band_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### upper_band_crossed_below method

    SIGDET.upper_band_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### upper_band_equal method

    SIGDET.upper_band_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

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

See combine_objs().

### upper_band_stats method

    SIGDET.upper_band_stats(
        *args,
        **kwargs
    )

Stats of `upper_band` as generic.

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