Base search cross validation
PortfolioOptimisers.SearchCV Type
const SearchCV = Union{<:KFold, <:KFoldResult, <:WalkForwardEstimator, <:WalkForwardResult}Cross-validations compatible with search-based hyperparameter tuning.
sourcePortfolioOptimisers.CrossValidationSearchScorer Type
abstract type CrossValidationSearchScorer <: AbstractEstimatorDefines the interface for scoring strategies used in search cross-validation. Implementations select the optimal parameter set based on cross-validation scores.
Interfaces
(::CrossValidationSearchScorer)(scores::AbstractMatrix): Returns the index of the optimal parameter set.
Arguments
scores: Matrix of scores, where each column corresponds to a parameter set and each row to a cross-validation split.
Returns
Int: Index of the optimal parameter set.
Examples
julia> struct MyScore <: PortfolioOptimisers.CrossValidationSearchScorer end
julia> (s::MyScore)(X::Matrix{Float64}) = argmin(dropdims(mean(X; dims = 1); dims = 1))
julia> scores = [0.5 0.6; 0.7 0.8];
julia> scorer = MyScore()
MyScore()
julia> scorer(scores)
1Related Types
sourcePortfolioOptimisers.CrossValSearchScorer Type
const CrossValSearchScorer = Union{<:CrossValidationSearchScorer, <:Function}Union type for search cross-validation scoring strategies. Accepts either a subtype of CrossValidationSearchScorer or a plain function that accepts a matrix and returns an integer.
PortfolioOptimisers.AbstractSearchCrossValidationResult Type
abstract type AbstractSearchCrossValidationResult <: AbstractResultAbstract result type for search-based cross-validation routines. Serves as the parent for all result types produced by search cross-validation algorithms, encapsulating optimal estimator, score matrices, parameter grid, and selected index.
Interfaces
- Subtypes must store the optimal estimator, test and train scores, parameter grid, and selected index.
PortfolioOptimisers.SearchCrossValidationResult Type
struct SearchCrossValidationResult{T1, T2, T3, T4, T5, T6} <:
AbstractSearchCrossValidationResult
opt::T1
test_scores::T2
train_scores::T3
lens_grid::T4
val_grid::T5
idx::T6
endResult type for search-based cross-validation routines. Stores the optimal estimator, score matrices, parameter grid, and selected index for hyperparameter search.
Fields
opt: Optimal estimator instance after search.test_scores: Matrix of test scores for each parameter set and CV split.train_scores: Matrix of training scores for each parameter set and CV split (ornothingif not recorded).lens_grid: Vector of lens objects for parameter access.val_grid: Vector of parameter values for each configuration.idx: Index of the selected optimal parameter set.
Examples
Related
PortfolioOptimisers.fit_and_score Function
fit_and_score(opt::NonFiniteAllocationOptimisationEstimator,
scv::AbstractSearchCrossValidationEstimator,
rd::ReturnsResult,
train_idx::VecInt,
test_idx::VecInt)Fits a portfolio optimisation estimator on training data, scores it on test and train splits, and returns the scores for search-based cross-validation routines.
Arguments
opt: Portfolio optimisation estimator to fit.scv: Search cross-validation estimator specifying risk measure and options.rd: Returns result containing asset returns data.train_idx: Indices for training split.test_idx: Indices for test split.
Returns
test_score::Number: Test score.train_score::Option{<:Number}: Train score.
Details
Fits the estimator on training data.
Predicts on test data using the fitted estimator.
Computes risk scores for test and train splits.
Applies sign convention based on risk measure direction.
Returns scores for use in search cross-validation.
Related
[
predict]-(@ref)[
NonFiniteAllocationOptimisationEstimator]-(@ref)
Examples
source