示例#1
0
    def generate_exits(self, exit_choice_func_nb, *args, wait=1, wrap_kwargs=None):
        """See `vectorbt.signals.nb.generate_ex_nb`.

        ## Example

        Fill all space after signals in `sig`:
        ```python-repl
        >>> @njit
        ... def exit_choice_func_nb(from_i, to_i, col, temp_range):
        ...     return temp_range[from_i:to_i]

        >>> temp_range = np.arange(sig.shape[0])  # reuse memory
        >>> sig.vbt.signals.generate_exits(exit_choice_func_nb, temp_range)
                        a      b      c
        2020-01-01  False  False  False
        2020-01-02   True   True  False
        2020-01-03   True  False  False
        2020-01-04   True   True   True
        2020-01-05   True  False   True
        ```
        """
        checks.assert_numba_func(exit_choice_func_nb)

        exits = nb.generate_ex_nb(self.to_2d_array(), wait, exit_choice_func_nb, *args)
        return self.wrapper.wrap(exits, **merge_dicts({}, wrap_kwargs))
示例#2
0
 def apply_nb(i, entries, exit_wait, exit_input_list, exit_in_output_tuples,
              exit_param_tuples, exit_args):
     return generate_ex_nb(
         entries,
         exit_wait,
         exit_choice_func,
         *exit_input_list,
         *exit_in_output_tuples[i],
         *exit_param_tuples[i],
         *exit_args
     )
示例#3
0
    def generate_exits(self, exit_choice_func_nb, *args):
        """See `vectorbt.signals.nb.generate_ex_nb`.

        Example:
            Fill all space between signals in `sig`:
            ```python-repl
            >>> @njit
            ... def exit_choice_func_nb(col, from_i, to_i):
            ...     return np.arange(from_i, to_i)

            >>> sig.vbt.signals.generate_exits(exit_choice_func_nb)
                            a      b      c
            2020-01-01  False  False  False
            2020-01-02   True   True  False
            2020-01-03   True  False  False
            2020-01-04   True   True   True
            2020-01-05   True  False   True
            ```"""
        checks.assert_numba_func(exit_choice_func_nb)

        return self.wrap(nb.generate_ex_nb(self.to_2d_array(), exit_choice_func_nb, *args))