Skip to content

params module¶

Utilities for working with parameters.

VectorBT PRO

Sample parameter combinations without constructing the full grid with lazy parameter grids. The parameterized decorator runs your function across parameter combinations and combines its outputs.


broadcast_params function¶

broadcast_params(
    param_list,
    to_n=None
)

Broadcast parameters in param_list.


create_param_combs function¶

create_param_combs(
    op_tree,
    depth=0
)

Create arbitrary parameter combinations from the operation tree op_tree.

op_tree is a tuple with nested instructions to generate parameters. The first element of the tuple should be a callable that takes remaining elements as arguments. If one of the elements is a tuple itself and its first argument is a callable, it will be unfolded in the same way as above.

Usage

>>> import numpy as np
>>> from itertools import combinations, product

>>> create_param_combs((product, (combinations, [0, 1, 2, 3], 2), [4, 5]))
[[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2],
 [1, 1, 2, 2, 3, 3, 2, 2, 3, 3, 3, 3],
 [4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5]]

create_param_product function¶

create_param_product(
    param_list
)

Make Cartesian product out of all params in param_list.


flatten_param_tuples function¶

flatten_param_tuples(
    param_tuples
)

Flattens a nested list of iterables using unzipping.


to_typed_list function¶

to_typed_list(
    lst
)

Cast Python list to typed list.

Direct construction is flawed in Numba 0.52.0. See https://github.com/numba/numba/issues/6651.