Skip to content

Commit 7526479

Browse files
committed
Proper subtypes
1 parent 96990b7 commit 7526479

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

src/20_Optimisation/02_CrossValidation/01_Base_CrossValidation.jl

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
11
abstract type CrossValidationEstimator <: AbstractEstimator end
22
abstract type CrossValidationResult <: AbstractResult end
33
abstract type CrossValidationAlgorithm <: AbstractAlgorithm end
4+
45
abstract type OptimisationCrossValidationEstimator <: CrossValidationEstimator end
56
abstract type SequentialCrossValidationEstimator <: OptimisationCrossValidationEstimator end
67
abstract type NonSequentialCrossValidationEstimator <: OptimisationCrossValidationEstimator end
7-
abstract type SequentialCrossValidationResult <: CrossValidationResult end
8-
abstract type NonSequentialCrossValidationResult <: CrossValidationResult end
9-
abstract type SequentialNonOptimisationCrossValidationResult <: CrossValidationResult end
8+
9+
abstract type OptimisationCrossValidationResult <: CrossValidationResult end
10+
abstract type SequentialCrossValidationResult <: OptimisationCrossValidationResult end
11+
abstract type NonSequentialCrossValidationResult <: OptimisationCrossValidationResult end
12+
13+
abstract type NonOptimisationCrossValidationEstimator <: CrossValidationEstimator end
14+
abstract type NonOptimisationSequentialCrossValidationEstimator <:
15+
NonOptimisationCrossValidationEstimator end
16+
abstract type NonOptimisationNonSequentialCrossValidationEstimator <:
17+
NonOptimisationCrossValidationEstimator end
18+
19+
abstract type NonOptimisationCrossValidationResult <: CrossValidationResult end
20+
abstract type NonOptimisationSequentialCrossValidationResult <:
21+
NonOptimisationCrossValidationResult end
22+
abstract type NonOptimisationNonSequentialCrossValidationResult <:
23+
NonOptimisationCrossValidationResult end
24+
1025
struct PredictionReturnsResult{T1, T2, T3, T4, T5, T6, T7} <: AbstractReturnsResult
1126
nx::T1
1227
X::T2

src/20_Optimisation/02_CrossValidation/05_MultipleRandomised.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
struct MultipleRandomised{T1, T2, T3, T4, T5, T6, T7} <:
2-
SequentialNonOptimisationCrossValidationResult
2+
NonOptimisationSequentialCrossValidationEstimator
33
cv::T1
44
subset_size::T2
55
n_subsets::T3
@@ -30,7 +30,8 @@ function MultipleRandomised(cv::WalkForwardEstimator; subset_size::Integer = 1,
3030
seed::Option{<:Integer} = nothing)
3131
return MultipleRandomised(cv, subset_size, n_subsets, max_comb, window_size, rng, seed)
3232
end
33-
struct MultipleRandomisedResult{T1, T2, T3, T4} <: SequentialCrossValidationResult
33+
struct MultipleRandomisedResult{T1, T2, T3, T4} <:
34+
NonOptimisationSequentialCrossValidationResult
3435
train_idx::T1
3536
test_idx::T2
3637
asset_idx::T3

0 commit comments

Comments
 (0)