Skip to content

patsim module

Module with PATSIM.


PATSIM class

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

Rolling pattern similarity.

Based on rolling_pattern_similarity_nb().

Superclasses

Inherited members

Subclasses

  • vectorbtpro.indicators.custom.patsim._PATSIM

apply_func method

PATSIM.apply_func(
    arr,
    pattern,
    window=None,
    max_window=None,
    row_select_prob=1.0,
    window_select_prob=1.0,
    interp_mode=3,
    rescale_mode=0,
    vmin=nan,
    vmax=nan,
    pmin=nan,
    pmax=nan,
    invert=False,
    error_type=0,
    distance_measure=0,
    max_error=nan,
    max_error_interp_mode=None,
    max_error_as_maxdist=False,
    max_error_strict=False,
    min_pct_change=nan,
    max_pct_change=nan,
    min_similarity=0.85,
    minp=None
)

2-dim version of rolling_pattern_similarity_1d_nb.


cache_func class variable


close property

Input array.


close_above method

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

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

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

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

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

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


distance_measure_list property

List of distance_measure values.


error_type_list property

List of error_type values.


interp_mode_list property

List of interp_mode values.


invert_list property

List of invert values.


max_error_as_maxdist_list property

List of max_error_as_maxdist values.


max_error_interp_mode_list property

List of max_error_interp_mode values.


max_error_list property

List of max_error values.


max_error_strict_list property

List of max_error_strict values.


max_pct_change_list property

List of max_pct_change values.


max_window_list property

List of max_window values.


min_pct_change_list property

List of min_pct_change values.


min_similarity_list property

List of min_similarity values.


overlay_with_heatmap method

_PATSIM.overlay_with_heatmap(
    column=None,
    close_trace_kwargs=None,
    similarity_trace_kwargs=None,
    add_trace_kwargs=None,
    fig=None,
    **layout_kwargs
)

Overlay PATSIM.similarity as a heatmap on top of PATSIM.close.

Args

column : str
Name of the column to plot.
close_trace_kwargs : dict
Keyword arguments passed to plotly.graph_objects.Scatter for PATSIM.close.
similarity_trace_kwargs : dict
Keyword arguments passed to plotly.graph_objects.Heatmap for PATSIM.similarity.
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.PATSIM.run(ohlcv['Close'], np.array([1, 2, 3, 2, 1]), 30).overlay_with_heatmap().show()


param_select_func_nb method

PATSIM.param_select_func_nb(
    i,
    args_before,
    close,
    pattern,
    window,
    max_window,
    row_select_prob,
    window_select_prob,
    interp_mode,
    rescale_mode,
    vmin,
    vmax,
    pmin,
    pmax,
    invert,
    error_type,
    distance_measure,
    max_error,
    max_error_interp_mode,
    max_error_as_maxdist,
    max_error_strict,
    min_pct_change,
    max_pct_change,
    min_similarity,
    *args
)

pattern_list property

List of pattern values.


plot method

_PATSIM.plot(
    column=None,
    similarity_trace_kwargs=None,
    add_trace_kwargs=None,
    fig=None,
    **layout_kwargs
)

Plot PATSIM.similarity against PATSIM.close.

Args

column : str
Name of the column to plot.
similarity_trace_kwargs : dict
Keyword arguments passed to plotly.graph_objects.Scatter for PATSIM.similarity.
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.PATSIM.run(ohlcv['Close'], np.array([1, 2, 3, 2, 1]), 30).plot().show()


pmax_list property

List of pmax values.


pmin_list property

List of pmin values.


rescale_mode_list property

List of rescale_mode values.


row_select_prob_list property

List of row_select_prob values.


run class method

PATSIM.run(
    close,
    pattern,
    window=Default(value=None),
    max_window=Default(value=None),
    row_select_prob=Default(value=1.0),
    window_select_prob=Default(value=1.0),
    interp_mode=Default(value='mixed'),
    rescale_mode=Default(value='minmax'),
    vmin=Default(value=nan),
    vmax=Default(value=nan),
    pmin=Default(value=nan),
    pmax=Default(value=nan),
    invert=Default(value=False),
    error_type=Default(value='absolute'),
    distance_measure=Default(value='mae'),
    max_error=Default(value=nan),
    max_error_interp_mode=Default(value=None),
    max_error_as_maxdist=Default(value=False),
    max_error_strict=Default(value=False),
    min_pct_change=Default(value=nan),
    max_pct_change=Default(value=nan),
    min_similarity=Default(value=nan),
    short_name='patsim',
    hide_params=None,
    hide_default=True,
    **kwargs
)

Run PATSIM indicator.

  • Inputs: close
  • Parameters: pattern, window, max_window, row_select_prob, window_select_prob, interp_mode, rescale_mode, vmin, vmax, pmin, pmax, invert, error_type, distance_measure, max_error, max_error_interp_mode, max_error_as_maxdist, max_error_strict, min_pct_change, max_pct_change, min_similarity
  • Outputs: similarity

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

PATSIM.run_combs(
    close,
    pattern,
    window=Default(value=None),
    max_window=Default(value=None),
    row_select_prob=Default(value=1.0),
    window_select_prob=Default(value=1.0),
    interp_mode=Default(value='mixed'),
    rescale_mode=Default(value='minmax'),
    vmin=Default(value=nan),
    vmax=Default(value=nan),
    pmin=Default(value=nan),
    pmax=Default(value=nan),
    invert=Default(value=False),
    error_type=Default(value='absolute'),
    distance_measure=Default(value='mae'),
    max_error=Default(value=nan),
    max_error_interp_mode=Default(value=None),
    max_error_as_maxdist=Default(value=False),
    max_error_strict=Default(value=False),
    min_pct_change=Default(value=nan),
    max_pct_change=Default(value=nan),
    min_similarity=Default(value=nan),
    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 PATSIM indicators using function comb_func.

  • Inputs: close
  • Parameters: pattern, window, max_window, row_select_prob, window_select_prob, interp_mode, rescale_mode, vmin, vmax, pmin, pmax, invert, error_type, distance_measure, max_error, max_error_interp_mode, max_error_as_maxdist, max_error_strict, min_pct_change, max_pct_change, min_similarity
  • Outputs: similarity

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

Note

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


similarity property

Output array.


similarity_above method

PATSIM.similarity_above(
    other,
    level_name=None,
    allow_multiple=True,
    **kwargs
)

Return True for each element where similarity is above other.

See combine_objs().


similarity_below method

PATSIM.similarity_below(
    other,
    level_name=None,
    allow_multiple=True,
    **kwargs
)

Return True for each element where similarity is below other.

See combine_objs().


similarity_crossed_above method

PATSIM.similarity_crossed_above(
    other,
    level_name=None,
    allow_multiple=True,
    **kwargs
)

Return True for each element where similarity is crossed_above other.

See combine_objs().


similarity_crossed_below method

PATSIM.similarity_crossed_below(
    other,
    level_name=None,
    allow_multiple=True,
    **kwargs
)

Return True for each element where similarity is crossed_below other.

See combine_objs().


similarity_equal method

PATSIM.similarity_equal(
    other,
    level_name=None,
    allow_multiple=True,
    **kwargs
)

Return True for each element where similarity is equal other.

See combine_objs().


similarity_stats method

PATSIM.similarity_stats(
    *args,
    **kwargs
)

Stats of similarity as generic.


vmax_list property

List of vmax values.


vmin_list property

List of vmin values.


window_list property

List of window values.


window_select_prob_list property

List of window_select_prob values.