Skip to content

sigdet module

Module with SIGDET.


SIGDET class

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

Robust peak detection algorithm (using z-scores).

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

Superclasses

Inherited members

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,
    param_index=None,
    final_index=None,
    single_comb=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.