BaseStatArb
Ancestors
abc.ABC
Descendants
systematica.api.models.arbitrage_index.ArbitrageBaseIndexsystematica.api.models.arbitrage_index.ArbitrageClipIndexsystematica.api.models.arbitrage_index.ArbitrageCumulativeIndexsystematica.api.models.arbitrage_index.ArbitrageResetIndexsystematica.api.models.arbitrage_index.ArbitrageRollingZscoreIndexsystematica.api.models.meta_model.MetaModelsystematica.api.models.momentum.AverageMomentumFactorCVsystematica.api.models.momentum.RollingAverageMomentumFactorsystematica.api.models.ou_process.RollingOUProcesssystematica.api.models.range_breakout.RangeBreakoutsystematica.api.models.range_breakout.RangeMeanReversionsystematica.api.models.volatility.RollingVolatilityFactorsystematica.api.models.volatility.VolatilityFactorCVsystematica.api.models.volume_profile.RollingVolumeProfileFactorsystematica.api.models.volume_profile.VolumeProfileFactorCV
Static methods
is_valid
staticmethod to allow calling it without an instance.
If the model does not require validation, it can be implemented as a no-op method with the @staticmethod decorator.
Examples:
To implement this method, define it in the subclass and use the @staticmethod decorator
like so:
run_report
Returns:
get_report_metrics
Returns:
run_analyzer
Combines scoring, signal generation, and portfolio simulation into a
single pipeline for streamlined backtesting.
Returns:
run_model
The method utilizes parameterization to run scores over various parameter
combinations. The results can be merged and accessed as a single output
object.
Returns:
run_signals
The method utilizes parameterization to run signal generation over
various parameter combinations. The results can be merged and accessed
as a single output object.
Returns:
run_pipeline
Combines scoring, signal generation, and portfolio simulation into a
single pipeline for streamlined backtesting.
Returns:
run_optuna_study
optuna for a signal-based trading
strategy.
- Optuna is used for hyperparameter tuning and efficiently finds the best parameters.
- The study prunes trials with poor results to accelerate the search process.
Returns:
Methods
get_signals
Returns:
BaseReportMixin
Ancestors
abc.ABC
Descendants
systematica.api.base.BaseReportCVsystematica.api.base.BaseRollingReport
Instance variables
-
all_metrics: List[str]: Get all available metrics -
price_data: Retrieves price data for the specified symbols. -
non_tunable_metrics: List[str]: Retrieves all non-tunable metrics from registry
Methods
get_annualized_return
get_portfolio_metric
Returns:
get_model_output
Returns:
set_labels
Returns:
plot_annualized_return
Returns:
plot_model_output
Returns:
plot_portfolio_metric
Returns:
BaseReportCV
Ancestors
systematica.api.base.BaseReportMixinabc.ABC
Descendants
systematica.api.reports.arbitrage_index.ArbitrageIndexReportsystematica.api.reports.meta_model.MetaModelCVReportsystematica.api.reports.momentum.AverageMomentumFactorCVReportsystematica.api.reports.momentum.MomentumFactorCVReportsystematica.api.reports.ou_process.OUProcessCVReportsystematica.api.reports.range_breakout.RangeBreakoutReportsystematica.api.reports.volatility.VolatilityFactorCVReportsystematica.api.reports.volume_profile.VolumeProfileFactorCVReport
Instance variables
-
splitter: systematica.utils.custom_splitter.CustomSplitter: Split arrays or matrices into specified train and test subsets. -
splits: pandas.core.frame.DataFrame: Retrieves data splits based on the cross-validation splitter. -
index_test: pandas.core.indexes.base.Index: Computes and returns the test set index of the dataset. The test set index is derived from the end bounds values returned by thesplitter. -
all_metrics: List[str]: Get available cross-validation metrics. -
data: vectorbtpro.data.base.Data: Input data containing time series data. -
freq: str: Set frequency. Default isauto, which infers frequency from the data index. -
model: ~BaseStatArb: Model to analyse. -
s1: str: Symbol. -
s2: str: Symbol. -
use_close: bool: Price close or open. Default isTrue, using close prices.
Methods
check
CV model.
Parameters:
Raises:
price_reset_stacked_by_set
splitter to reset the price data, stacking it by
set and attaching bounds to the index.
Returns:
model_reset_stacked_by_set
splitter to reset the model output, stacking it by
set and attaching bounds to the index.
Returns:
get_annualized_return
get_portfolio_metric
Returns:
BaseRollingReport
Ancestors
systematica.api.base.BaseReportMixinabc.ABC
Descendants
systematica.api.reports.meta_model.RollingMetaModelReportsystematica.api.reports.momentum.RollingAverageMomentumFactorReportsystematica.api.reports.momentum.RollingMomentumFactorReportsystematica.api.reports.ou_process.RollingOUProcessReportsystematica.api.reports.volatility.RollingVolatilityFactorReportsystematica.api.reports.volume_profile.RollingVolumeProfileFactorReport
Instance variables
-
window: int: Window size. -
minp: None | int: Minimum number of observations required. -
all_metrics: List[str]: Get available rolling metrics. -
data: vectorbtpro.data.base.Data: Input data containing time series data. -
freq: str: Set frequency. -
model: ~BaseStatArb: Model to analyse. -
s1: str: Symbol. -
s2: str: Symbol. -
use_close: bool: Price close or open.
Methods
check
- Both
windowandminpattributes, or - Both
train_windowandsplitter(set to*_rolling).
Raises:
get_portfolio_metric
Returns:
BaseSignal
Ancestors
abc.ABC
Descendants
systematica.api.signals.cross_spread.CrossSpreadsystematica.api.signals.crossover.Crossoversystematica.api.signals.crossover.Crossover1dsystematica.api.signals.spread.Spreadsystematica.api.signals.twin_spread.TwinSpread

