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

#
randnx module

Module with RANDNX.

## RANDNX class

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

Random entry and exit signal generator based on the number of signals.

Generates `entries` and `exits` based on rand_enex_apply_nb().

See `RAND` for notes on parameters.

Usage

Test three different entry and exit counts:

    >>> from vectorbtpro import *

    >>> randnx = vbt.RANDNX.run(
    ...     input_shape=(6,),
    ...     n=[1, 2, 3],
    ...     seed=42)

    >>> randnx.entries
    randnx_n      1      2      3
    0          True   True   True
    1         False  False  False
    2         False   True   True
    3         False  False  False
    4         False  False   True
    5         False  False  False

    >>> randnx.exits
    randnx_n      1      2      3
    0         False  False  False
    1          True   True   True
    2         False  False  False
    3         False   True   True
    4         False  False  False
    5         False  False   True

Superclasses

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

### apply_func method

    RANDNX.apply_func(
        target_shape,
        n,
        entry_wait=1,
        exit_wait=1
    )

`apply_func_nb` that calls `generate_rand_enex_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`.

### entries property

Output array.

### entries_and method

    RANDNX.entries_and(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return `entries AND other`.

See combine_objs().

### entries_or method

    RANDNX.entries_or(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return `entries OR other`.

See combine_objs().

### entries_stats method

    RANDNX.entries_stats(
        *args,
        **kwargs
    )

Stats of `entries` as signals.

### entries_xor method

    RANDNX.entries_xor(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return `entries XOR other`.

See combine_objs().

### exits property

Output array.

### exits_and method

    RANDNX.exits_and(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return `exits AND other`.

See combine_objs().

### exits_or method

    RANDNX.exits_or(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return `exits OR other`.

See combine_objs().

### exits_stats method

    RANDNX.exits_stats(
        *args,
        **kwargs
    )

Stats of `exits` as signals.

### exits_xor method

    RANDNX.exits_xor(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return `exits XOR other`.

See combine_objs().

### n_list property

List of `n` values.

### plot method

    SignalFactory.__init__.<locals>.plot(
        _self,
        column=None,
        entry_y=None,
        exit_y=None,
        entry_types=None,
        exit_types=None,
        entry_trace_kwargs=None,
        exit_trace_kwargs=None,
        fig=None,
        **kwargs
    )

Plot RANDNX.entries and RANDNX.exits.

Args

`entry_y` :`array_like`
  Y-axis values to plot entry markers on.
`exit_y` :`array_like`
  Y-axis values to plot exit markers on.
`entry_types` :`array_like`
  Entry types in string format.
`exit_types` :`array_like`
  Exit types in string format.
`entry_trace_kwargs` :`dict`
  Keyword arguments passed to SignalsAccessor.plot_as_entries() for RANDNX.entries.
`exit_trace_kwargs` :`dict`
  Keyword arguments passed to SignalsAccessor.plot_as_exits() for RANDNX.exits.
`fig` :`Figure` or `FigureWidget`
  Figure to add traces to.
`**kwargs`
  Keyword arguments passed to SignalsAccessor.plot_as_markers().

### run class method

    RANDNX.run(
        input_shape,
        n,
        short_name='randnx',
        hide_params=None,
        hide_default=True,
        input_index=None,
        input_columns=None,
        **kwargs
    )

Run RANDNX indicator.

- Parameters: `n`
- Outputs: `entries`, `exits`

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

    RANDNX.run_combs(
        input_shape,
        n,
        r=2,
        param_product=False,
        comb_func=itertools.combinations,
        run_unique=True,
        short_names=None,
        hide_params=None,
        hide_default=True,
        input_index=None,
        input_columns=None,
        **kwargs
    )

Create a combination of multiple RANDNX indicators using function `comb_func`.

- Parameters: `n`
- Outputs: `entries`, `exits`

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

Note

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

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