Skip to content

tuning

optimizer.tuning

Hyperparameter tuning with temporal cross-validation.

Wraps sklearn GridSearchCV and RandomizedSearchCV with temporal cross-validation defaults that prevent look-ahead bias.

GridSearchConfig dataclass

Immutable configuration for :class:sklearn.model_selection.GridSearchCV.

Enforces temporal cross-validation by default (walk-forward) to prevent look-ahead bias in financial time series.

Parameters

cv_config : WalkForwardConfig Temporal cross-validation configuration. Defaults to quarterly rolling with one-year training window. scorer_config : ScorerConfig Scoring function configuration. Defaults to Sharpe ratio. n_jobs : int or None Number of parallel jobs. -1 uses all cores. return_train_score : bool Whether to compute training scores (increases runtime).

Fast grid search with monthly windows.

Thorough grid search with quarterly expanding windows.

RandomizedSearchConfig dataclass

Immutable configuration for :class:sklearn.model_selection.RandomizedSearchCV.

Samples parameter configurations from specified distributions rather than exhaustive grid enumeration. Enforces temporal cross-validation by default.

Parameters

n_iter : int Number of random parameter samples. cv_config : WalkForwardConfig Temporal cross-validation configuration. scorer_config : ScorerConfig Scoring function configuration. n_jobs : int or None Number of parallel jobs. random_state : int or None Seed for reproducibility. return_train_score : bool Whether to compute training scores.

Fast randomised search with few iterations.

Thorough randomised search with many iterations.

build_grid_search_cv(estimator, param_grid, config=None)

Build a :class:GridSearchCV with temporal cross-validation.

Parameters

estimator : BaseEstimator The skfolio optimiser or pipeline to tune. param_grid : dict Parameter grid. Keys use sklearn double-underscore notation for nested estimators (e.g. "prior_estimator__mu_estimator__alpha"). config : GridSearchConfig or None Tuning configuration. Defaults to GridSearchConfig() (quarterly walk-forward, Sharpe ratio scoring).

Returns

GridSearchCV A fitted-ready grid search estimator.

build_randomized_search_cv(estimator, param_distributions, config=None)

Build a :class:RandomizedSearchCV with temporal cross-validation.

Parameters

estimator : BaseEstimator The skfolio optimiser or pipeline to tune. param_distributions : dict Parameter distributions. Values may be lists (discrete) or scipy.stats distributions (continuous, e.g. scipy.stats.loguniform(0.01, 1)). config : RandomizedSearchConfig or None Tuning configuration. Defaults to RandomizedSearchConfig() (50 iterations, quarterly walk-forward, Sharpe ratio scoring).

Returns

RandomizedSearchCV A fitted-ready randomised search estimator.