Base Cross Validation
PortfolioOptimisers.CrossValidationEstimator Type
abstract type CrossValidationEstimator <: AbstractEstimatorAbstract supertype for all cross-validation estimators in PortfolioOptimisers.jl.
Related
sourcePortfolioOptimisers.CrossValidationResult Type
abstract type CrossValidationResult <: AbstractResultAbstract supertype for all cross-validation result types in PortfolioOptimisers.jl.
Related
sourcePortfolioOptimisers.CrossValidationAlgorithm Type
abstract type CrossValidationAlgorithm <: AbstractAlgorithmAbstract supertype for all cross-validation algorithm types.
sourcePortfolioOptimisers.CVER Type
const CVER = Union{<:CrossValidationEstimator, <:CrossValidationResult}Union of all cross-validation estimators and result types.
sourcePortfolioOptimisers.OptimisationCrossValidationEstimator Type
abstract type OptimisationCrossValidationEstimator <: CrossValidationEstimatorAbstract supertype for cross-validation estimators used in portfolio optimisation. Subtypes implement different splitting strategies (sequential or non-sequential) for out-of-sample testing of optimisation pipelines.
Related
sourcePortfolioOptimisers.SequentialCrossValidationEstimator Type
abstract type SequentialCrossValidationEstimator <: OptimisationCrossValidationEstimatorAbstract supertype for sequential optimisation cross-validation estimators. Sequential schemes produce time-ordered, non-overlapping folds (e.g. walk-forward).
Related
sourcePortfolioOptimisers.NonSequentialCrossValidationEstimator Type
abstract type NonSequentialCrossValidationEstimator <: OptimisationCrossValidationEstimatorAbstract supertype for non-sequential optimisation cross-validation estimators. Non- sequential schemes may produce randomly sampled or combinatorial folds.
Related
sourcePortfolioOptimisers.OptimisationCrossValidationResult Type
abstract type OptimisationCrossValidationResult <: CrossValidationResultAbstract supertype for all optimisation cross-validation result types.
Related
sourcePortfolioOptimisers.SequentialCrossValidationResult Type
abstract type SequentialCrossValidationResult <: OptimisationCrossValidationResultAbstract supertype for sequential optimisation cross-validation results.
Related
sourcePortfolioOptimisers.NonSequentialCrossValidationResult Type
abstract type NonSequentialCrossValidationResult <: OptimisationCrossValidationResultAbstract supertype for non-sequential optimisation cross-validation results.
Related
sourcePortfolioOptimisers.OptCVER Type
const OptCVERUnion of all optimisation cross-validation estimators and results.
sourcePortfolioOptimisers.NonSeqCVER Type
const NonSeqCVERUnion of all non-sequential cross-validation estimators and results.
sourcePortfolioOptimisers.SeqCVER Type
const SeqCVERUnion of all sequential cross-validation estimators and results.
sourcePortfolioOptimisers.NonOptimisationCrossValidationEstimator Type
abstract type NonOptimisationCrossValidationEstimator <: CrossValidationEstimatorAbstract supertype for cross-validation estimators used in non-optimisation contexts (e.g. resampling for hierarchical clustering or phylogeny methods).
Related
sourcePortfolioOptimisers.NonOptimisationSequentialCrossValidationEstimator Type
abstract type NonOptimisationSequentialCrossValidationEstimator <: NonOptimisationCrossValidationEstimatorAbstract supertype for sequential non-optimisation cross-validation estimators.
sourcePortfolioOptimisers.NonOptimisationNonSequentialCrossValidationEstimator Type
abstract type NonOptimisationNonSequentialCrossValidationEstimator <: NonOptimisationCrossValidationEstimatorAbstract supertype for non-sequential non-optimisation cross-validation estimators.
sourcePortfolioOptimisers.NonOptimisationCrossValidationResult Type
abstract type NonOptimisationCrossValidationResult <: CrossValidationResultAbstract supertype for result types produced by non-optimisation cross-validation routines.
sourcePortfolioOptimisers.NonOptimisationSequentialCrossValidationResult Type
abstract type NonOptimisationSequentialCrossValidationResult <: NonOptimisationCrossValidationResultAbstract supertype for sequential non-optimisation cross-validation result types.
sourcePortfolioOptimisers.NonOptimisationNonSequentialCrossValidationResult Type
abstract type NonOptimisationNonSequentialCrossValidationResult <: NonOptimisationCrossValidationResultAbstract supertype for non-sequential non-optimisation cross-validation result types.
sourcePortfolioOptimisers.PredictionReturnsResult Type
struct PredictionReturnsResult{__T_nx, __T_X, __T_nf, __T_F, __T_nb, __T_B, __T_ts, __T_iv, __T_ivpa} <: AbstractReturnsResultStores the portfolio returns data associated with a cross-validation prediction. Packages asset returns, factor returns, benchmark returns, timestamps, and investment vehicle information for use in prediction result types.
Fields
nx: Asset names (nothingor vector of strings).X: Asset returns vector or vector of vectors.nf: Factor names (nothingor vector of strings).F: Factor returns matrix (nothingor matrix).nb: Benchmark names (nothingor vector of strings).B: Benchmark returns vector or vector of vectors.ts: Timestamps (nothingor vector of dates).iv: Investment vehicle returns (nothing, vector of numbers, or vector of vectors).ivpa: Investment vehicle per-asset allocation (nothing, scalar, or vector).
Related
sourcePortfolioOptimisers.PredictionResult Type
struct PredictionResult{__T_res, __T_rd} <: AbstractPredictionResultStores the result of a single cross-validation fold prediction. Pairs an optimisation result with the returns data from the test period.
Fields
res::NonFiniteAllocationOptimisationResult: Optimisation result from the training fold.rd::PredictionReturnsResult: Returns data from the test fold.
Related
sourcePortfolioOptimisers.MultiPeriodPredictionResult Type
struct MultiPeriodPredictionResult{__T_pred, __T_mrd, __T_id} <: AbstractPredictionResultStores predictions from multiple cross-validation folds as a single combined result. Concatenates the test-period returns from all folds into an aggregated PredictionReturnsResult.
Fields
pred::VecPredRes: Individual fold predictions.mrd::PredictionReturnsResult: Aggregated returns from all test folds.id: Identifier for this multi-period result (e.g. path index).
Related
sourcePortfolioOptimisers.PopulationPredictionResult Type
struct PopulationPredictionResult{__T_pred} <: AbstractPredictionResultStores a collection of multi-period prediction results produced by a population-based cross-validation scheme (e.g. MultipleRandomised). Each element of pred represents one random asset-subset path.
Fields
pred::VecPredRes_MultiPredRes: Collection of single or multi-period predictions.
Related
StatsAPI.predict Method
predict(res::NonFiniteAllocationOptimisationResult, rd::ReturnsResult)
predict(res, rd, test_idx, cols = :)
predict(res, rd, test_idxs::VecVecInt, cols = :)Apply an optimisation result res to returns data rd to produce a PredictionResult or a vector of prediction results.
When test_idx is provided, only the rows (observations) indexed by test_idx (and optionally columns cols) of rd are used for the prediction.
Arguments
res::NonFiniteAllocationOptimisationResult: Fitted optimisation result.rd::ReturnsResult: Returns data for the prediction period.test_idx: Observation index or vector of observation indices for the test fold.cols: Column selector. Defaults to:(all assets).
Returns
PredictionResultor vector ofPredictionResult.
Related
sourcePortfolioOptimisers.fit_predict Function
fit_predict(opt, rd::ReturnsResult)Fit optimisation estimator opt on returns data rd and immediately produce a PredictionResult for the same data.
Arguments
opt: Optimisation estimator or result.rd::ReturnsResult: Returns data.
Returns
Related
sourcePortfolioOptimisers.sort_by_measure Function
sort_by_measure(ppred::PopulationPredictionResult, r::AbstractBaseRiskMeasure; kwargs...)Sort the successful paths in a PopulationPredictionResult by their expected risk under r. Paths where any fold returned a non-success retcode are excluded.
Arguments
ppred::PopulationPredictionResult: Population prediction to sort.r::AbstractBaseRiskMeasure: Risk measure used for ranking.
Returns
Vector{MultiPeriodPredictionResult}: Sorted vector of successful path predictions.
Related
sourcePortfolioOptimisers.quantile_by_measure Function
quantile_by_measure(ppred::PopulationPredictionResult, r::AbstractBaseRiskMeasure, q::Real;
r_kwargs::NamedTuple = (;), q_kwargs::NamedTuple = (;))Select the successful path in ppred whose expected risk under r is closest to the q-th quantile of the risk distribution across all successful paths.
Arguments
ppred::PopulationPredictionResult: Population prediction result.r::AbstractBaseRiskMeasure: Risk measure for computing path risks.q::Real: Quantile level in[0, 1].r_kwargs::NamedTuple = (;): Keyword arguments forwarded toexpected_risk.q_kwargs::NamedTuple = (;): Keyword arguments forwarded toStatistics.quantile.
Returns
MultiPeriodPredictionResult: The path closest to theq-th quantile.
Related
sourcePortfolioOptimisers.fit_and_predict Function
fit_and_predict(opt, rd::ReturnsResult, cv::NonSeqCVER; cols, ex, id) -> MultiPeriodPredictionResult
fit_and_predict(opt, rd::ReturnsResult; train_idx, test_idx, cols) -> PredictionResult
fit_and_predict(res::NonFiniteAllocationOptimisationResult, rd::ReturnsResult; test_idx, cols) -> PredictionResultFit an optimisation estimator on training data and predict on test data using cross-validation.
The three-argument method (opt, rd, cv) performs full cross-validated prediction over all folds of cv. The two-argument methods operate on a single pre-defined train/test split or on a pre-existing result.
Arguments
opt: Optimisation estimator or an existing optimisation result.rd::ReturnsResult: Full returns data.cv::NonSeqCVER: Non-sequential cross-validation estimator (e.g.KFoldorCombinatorialCrossValidation).train_idx::VecInt: Training indices.test_idx: Test indices (vector or vector of vectors).cols: Column selector (default:for all assets).
Returns
Related
sourcePortfolioOptimisers.reconstruct_rd Method
reconstruct_rd(res::NonFiniteAllocationOptimisationResult, rd::ReturnsResult, X)Reconstruct a PredictionReturnsResult from an optimisation result and returns data.
Computes benchmark, investment vehicle, and per-asset allocation data from the optimisation result weights and the original returns data.
Arguments
res::NonFiniteAllocationOptimisationResult: Fitted optimisation result.rd::ReturnsResult: Original returns data.X: Portfolio returns (vector or vector of vectors).
Returns
PredictionReturnsResultwith updated benchmark and investment vehicle data.
Related
sourcePortfolioOptimisers.sort_predictions! Method
sort_predictions!(res::Union{test_idx, CrossValidationResult}, pred::VecPredRes) -> VecPredResSort prediction results to match the order of test indices.
Reorders predictions so that they align with the original time ordering of test_idx.
Arguments
res:::VecVecInt: Vector of test index vectors.::CrossValidationResult: Cross validation result object, uses the test indices stored inres.test_idx.
pred: Vector of prediction results.
Returns
- Sorted predictions vector.
Related
source