Skip to main content

BaseWalkForward

BaseWalkForward(
    idstr = None,
    loader_or_data: Callable = <function load_clean_data>,
    timeframe: str = '1d',
    start: str = None,
    end: str = None,
    s1: str = 'BTCUSDT',
    s2: str = 'ETHUSDT',
    suffix: str = 'h5',
    use_close: bool = True,
    freq: str = None,
    signal_model: str = None,
    long_entries: float = nan,
    long_exits: float = nan,
    short_entries: float = nan,
    short_exits: float = nan,
    clean: bool = True,
    select_symbols: str | int | List[str | int= None,
    portfolio_config: Dict[str, Any] = _Nothing.NOTHING,
    model_params: Dict[str, Any] = _Nothing.NOTHING,
    metrics: str | List[str= None,
    metrics_kwargs: Dict[str, Any] = _Nothing.NOTHING,
    use_rolling: bool = False,
    storage: str | optuna.storages._base.BaseStorage = None,
    pruner: optuna.pruners._base.BasePruner = <optuna.pruners._successive_halving.SuccessiveHalvingPruner object>,
    sampler: optuna.samplers._base.BaseSampler = <optuna.samplers._tpe.sampler.TPESampler object>,
    study_name: str = None,
    direction: str | List[str= 'maximize',
    load_if_exists: bool = False,
    n_trials: int = 100,
    n_completed_trials: int = None,
    timeout: float = None,
    n_jobs: int = 1,
    catch: Iterable[Type[Exception]] | Type[Exception= _Nothing.NOTHING,
    callbacks: Iterable[Callable[[optuna.study.study.Study, optuna.trial._frozen.FrozenTrial], None]] | None = None,
    gc_after_trial: bool = False,
    show_progress_bar: bool = False,
    verbose: bool = True,
    tracker: Type = None,
    model: Any = None,
    preprocess_func: Callable = None,
)
Walk-forward base model. Method generated by attrs for class BaseWalkForward.

Ancestors

  • abc.ABC
  • systematica.generic.base.Model
  • systematica.generic.base.Feature

Descendants

  • systematica.walk_forward.cv.WalkForwardCV
  • systematica.walk_forward.rolling.RollingWalkForward

Static methods

from_runner

from_runner(
    runner: systematica.generic.base.Model,
)
Create from existing runner instance.

from_dict

from_dict(
    runner_config: Dict[str, Any],
)
Create from existing runner instance.

Instance variables

  • all_portfolio_metrics: List[str]: Get all available metrics
  • all_metrics: List[str]: Get all available metrics (delegates to all_portfolio_metrics).
  • non_tunable_metrics:

Methods

check_is_valid

check_is_valid(
    self,
)
Check if model is valid.

get_annualized_return

get_annualized_return(
    self,
) ‑> pandas.core.frame.DataFrame
Computes the rolling (annualized) returns. Returns:
TypeDescription
pd.DataFrameDataFrame containing rolling annualized returns.

get_portfolio_metrics

get_portfolio_metrics(
    self,
    **kwargs,
) ‑> pandas.core.frame.DataFrame | numpy.ndarray
Computes portfolio performance metrics for different test sets. Parameters:
NameTypeDefaultDescription
kwargstp.Kwargs--Additional arguments to run the pipeline.
Returns:
TypeDescription
pd.DataFrame | tp.ArrayDataFrame or array containing portfolio performance metrics.

get_portfolio

get_portfolio(
    self,
    signals: systematica.signals.base.Signals,
    data: vectorbtpro.data.base.Data = None,
) ‑> vectorbtpro.portfolio.base.Portfolio
Simulate portfolio from signals. Parameters:
NameTypeDefaultDescription
signalsSignals--Signals used for portfolio simulation.
datavbt.DataNonePrice data used for portfolio simulation. If None, uses self.data. Defaults to None.
portfolio_configtp.Kwargs--Additional arguments for portfolio simulation.
Returns:
TypeDescription
vbt.PortfolioSimulated portfolio.

set_labels

set_labels(
    self,
    group_by: bool,
    metrics: str | List[str],
) ‑> List[str]
Generate column labels for the output DataFrame. Parameters:
NameTypeDefaultDescription
group_bybool--Whether to group results by symbol.
metricsstr--List of metrics to compute.
Returns:
TypeDescription
ListList of column names.

plot_annualized_return

plot_annualized_return(
    self,
    key: str = 'train',
    fig: vectorbtpro.utils.figure.FigureWidget = None,
    **layout_kwargs,
) ‑> vectorbtpro.utils.figure.FigureWidget
Plot annualized returns. Parameters:
NameTypeDefaultDescription
keystrtestIf train, extract train-set. If test, extract test-set. Defaults to test.
figvbt.FigureWidgetNoneExisting figure to update.
layout_kwargstp.Kwargs--Additional layout arguments for the plot.
Returns:
TypeDescription
vbt.FigureWidgetFigure with the plotted total returns.

plot_model_output

plot_model_output(
    self,
    fig: vectorbtpro.utils.figure.FigureWidget = None,
    **layout_kwargs,
) ‑> vectorbtpro.utils.figure.FigureWidget
Plots model output over time. Parameters:
NameTypeDefaultDescription
figvbt.FigureWidgetNoneExisting figure to update.
layout_kwargstp.Kwargs--Additional layout arguments for the plot.
Returns:
TypeDescription
vbt.FigureWidgetFigure with the plotted model output.

plot_portfolio_metrics

plot_portfolio_metrics(
    self,
    metrics: str | List[str= None,
    metrics_kwargs: Dict[str, Any] = None,
    fig: vectorbtpro.utils.figure.FigureWidget = None,
    layout_kwargs: Dict[str, Any] = None,
    portfolio_config: Dict[str, Any] = None,
) ‑> vectorbtpro.utils.figure.FigureWidget
Plot portfolio performance metrics over time. Parameters:
NameTypeDefaultDescription
metricsstr--| tp.List[str], default None Portfolio performance metrics to compute. If None, uses the default metrics.
metrics_kwargstp.KwargsNoneAdditional keyword arguments for the metrics. Defaults to None.
figvbt.FigureWidgetNoneExisting figure to update. If None, a new figure is created. Defaults to None.
layout_kwargsdictNoneAdditional layout arguments for the plot. If None, uses default layout settings. Defaults to None.
portfolio_configtp.KwargsNoneAdditional arguments for portfolio simulation. Defaults to None.
Returns:
TypeDescription
vbt.FigureWidgetFigure with the plotted portfolio performance metrics.