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

#
patsim module

Module with PATSIM.

## PATSIM class

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

Rolling pattern similarity.

Based on rolling_pattern_similarity_nb().

Superclasses

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

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