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).
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.
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.