struct AssetRiskBudgeting{__T_rkb, __T_sets, __T_alg} <: RiskBudgetingAlgorithmAsset-level Risk Budgeting algorithm.
struct LogRiskBudgeting{T} <: RiskBudgetingFormulationLog-barrier formulation for Risk Budgeting.
struct RiskBudgeting{__T_opt, __T_r, __T_rba, __T_wi, __T_fb} <: RiskJuMPOptimisationEstimatorRisk Budgeting (RB) portfolio optimiser.
struct RiskBudgetingResult{__T_jr, __T_r, __T_prb, __T_fb} <: RiskJuMPOptimisationResultResult type for Risk Budgeting portfolio optimisation.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(rb::RiskBudgeting{<:Any, <:Any, <:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1,
str_names::Bool = false, save::Bool = true, kwargs...) -> RiskBudgetingResultRun the Risk Budgeting portfolio optimisation.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)
port_opt_view(::RiskBudgetingFormulation, args...) -> nothingSub-select an estimator, result, or algorithm to the asset/observation index i.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)
port_opt_view(::RiskBudgetingFormulation, args...) -> nothingSub-select an estimator, result, or algorithm to the asset/observation index i.
port_opt_view(
rb::RiskBudgeting,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> RiskBudgeting{JuMPOptimiser{__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}} where {__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}Return a cluster-sliced copy of RiskBudgeting for asset index set i and returns matrix X.
port_opt_view(::RiskBudgetingFormulation, args...) -> nothingDefault fallback for risk budgeting formulation view.
abstract type AbstractAlgorithmAbstract supertype for all algorithm types.
abstract type AbstractEstimatorAbstract supertype for all estimator types.
abstract type AbstractResultAbstract supertype for all result types.
const Option{T} = Union{Nothing, T}Alias for an optional value of type T, which may be nothing.
const VecInt = AbstractVector{<:Integer}Alias for an abstract vector of integer types.
const VecNum = AbstractVector{<:Union{<:Number, <:JuMP.AbstractJuMPScalar}}Alias for an abstract vector of numeric types or JuMP scalar types.
nothing_scalar_array_view(
x::Union{Nothing, <:Number, <:Pair, <:VecPair, <:Dict,
<:AbstractEstimatorValueAlgorithm,
<:DynamicAbstractWeights, <:AbstractEstimator, <:AbstractAlgorithm,
<:StatsBase.CovarianceEstimator},
::Any
) -> x
nothing_scalar_array_view(x::AbstractVector, i) -> view(x, i)
nothing_scalar_array_view(x::VecScalar, i) -> VecScalar(; v = view(x.v, i), s = x.s)
nothing_scalar_array_view(x::AbstractMatrix, i) -> view(x, i, i)
nothing_scalar_array_view(
x::AbstractVector{<:Union{<:AbstractVector, <:AbstractMatrix, <:VecScalar}},
i
) -> [nothing_scalar_array_view(xi, i) for xi in x]
nothing_scalar_array_view(
x::MedianCenteringFunction,
_
) -> MedianCenteringFunction
nothing_scalar_array_view(
td::TimeDependent,
i
) -> TimeDependentUtility for safely viewing into possibly nothing, scalar, or array values.
const RegE_Reg = Union{<:AbstractLoadingsRegressionResult,
<:AbstractTimeSeriesRegressionEstimator}Alias for a loadings regression result or a time-series regression estimator.
const RkbE_Rkb = Union{<:RiskBudgetEstimator, <:RiskBudget}Alias for a risk budget estimator or result.
const BaseRM_VecBaseRM = Union{<:AbstractBaseRiskMeasure, <:VecBaseRM}Argument bound for every value-level reader of a risk measure: one measure or several.
const RM_VecRM = Union{<:RiskMeasure, <:VecRM}Union type accepting a single RiskMeasure or a vector of them.
nothing_scalar_array_view(
x::MedianCenteringFunction,
_
) -> MedianCenteringFunctionReturn the MedianCenteringFunction x unchanged.
const OptE_Opt = Union{<:NonFiniteAllocationOptimisationEstimator,
<:NonFiniteAllocationOptimisationResult}Alias for a non-finite allocation optimisation estimator or result.
const OptE_Opt_FbChain = Union{<:OptE_Opt, <:FbChain}Alias for what the fb field of a continuous optimisation result admits: a fallback estimator or precomputed result (OptE_Opt), or the fallback chain that answered the result (FbChain).
const TD{X} = Union{<:TimeDependent, X}Alias for a required optimiser field that accepts a static value of type X or a per-fold TimeDependent schedule, but not nothing.
const TDO_Option{X} = Union{Nothing, <:TDO_OptE_Opt, X}Alias for an optional optimiser-valued field (e.g. a fallback) that accepts nothing, a static value of type X, or a per-fold schedule of optimisers whose entries may be nothing (see TDO_OptE_Opt).
const TD_Option{X} = Union{Nothing, <:TimeDependent, X}Alias for an optimiser field that accepts nothing, a static value of type X, or a per-fold TimeDependent schedule.
abstract type NonRiskJuMPOptimisationResult <: NonFiniteAllocationOptimisationResultAbstract supertype for JuMP-based continuous optimisation results that carry no risk measure.
abstract type RiskJuMPOptimisationResult <: NonFiniteAllocationOptimisationResultAbstract supertype for JuMP-based continuous optimisation results that carry a risk measure.
struct ProcessedAssetRiskBudgetingAttributes{__T_rkb} <: ProcessedRiskBudgetingAttributesProcessed asset risk budgeting attributes for intermediate computations.
struct ProcessedFactorRiskBudgetingAttributes{__T_rkb, __T_b1, __T_rr} <: ProcessedRiskBudgetingAttributesProcessed factor risk budgeting attributes for intermediate computations.
abstract type RiskBudgetingAlgorithm <: OptimisationAlgorithmAbstract supertype for risk budgeting algorithm specifications.
abstract type RiskBudgetingFormulation <: OptimisationAlgorithmAbstract supertype for risk budgeting optimisation formulations.
port_opt_view(
x::SampleBufferState,
i,
args...
) -> SampleBufferStateSlices a SampleBufferState to the selected assets.
struct MeanValue{__T_w} <: VectorToScalarMeasureAlgorithm for reducing a vector of real values to its optionally weighted mean.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
port_opt_view(x::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm, <:AbstractResult}}, i, args...; kwargs...) -> VectorGeneric vector method for port_opt_view: view each element of x at the index selection i.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)Sub-select an estimator, result, or algorithm to the asset/observation index i.
port_opt_view(x::VecScalar, i, args...) -> nothing_scalar_array_view(x, i)First-class port_opt_view method for VecScalar: slices the vector component and preserves the scalar component, delegating to nothing_scalar_array_view.
port_opt_view(pnl::AssetPanel, i) -> AssetPanel
port_opt_view(pnl::AssetPanel, i, j, nx::Option{<:VecStr} = nothing) -> AssetPanelReturn a view of the AssetPanel over the observations i and the assets j.
port_opt_view(
pr::PricesResult,
_::Colon,
_::Colon
) -> PricesResultReturn a view of the PricesResult for the observation window i and the assets j of the asset price series X.
struct ReturnsResult{__T_nx, __T_X, __T_nf, __T_F, __T_nb, __T_B, __T_ts, __T_iv, __T_ivpa, __T_pnl} <: AbstractReturnsResultStores the results of asset and factor returns calculations.
port_opt_view(
rd::ReturnsResult,
i
) -> Union{ReturnsResult{_A, _B, _C, _D, _E, _F, _G, _H, _I, Nothing} where {_A, _B, _C, _D, _E, _F, _G, _H, _I}, ReturnsResult{_A, _B, _C, _D, _E, _F, _G, _H, _I, AssetPanel{__T_pf, __T_amsk, __T_emsk}} where {_A, _B, _C, _D, _E, _F, _G, _H, _I, __T_pf, __T_amsk, __T_emsk}}Return a view of the ReturnsResult object for the assets at indices i.
port_opt_view(
x::ReturnsBufferState,
i,
args...
) -> ReturnsBufferState{__T_nx, __T_X, __T_nf, __T_F, __T_nb, __T_B, __T_ts, __T_pnl, __T_max_history} where {__T_nx<:Union{Nothing, AbstractVector{<:AbstractString}}, __T_X<:Union{Nothing, SampleBufferState}, __T_nf<:Union{Nothing, AbstractVector{<:AbstractString}}, __T_F<:Union{Nothing, SampleBufferState}, __T_nb<:Union{Nothing, AbstractVector{<:AbstractString}}, __T_B<:Union{Nothing, SampleBufferState, AbstractVector}, __T_ts<:Union{Nothing, AbstractVector}, __T_pnl<:Union{Nothing, AssetPanel}, __T_max_history<:Union{Nothing, Integer}}Slices a ReturnsBufferState to the selected assets.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(
ce::StatsBase.CovarianceEstimator,
args...;
kwargs...
) -> StatsBase.CovarianceEstimatorFallback for covariance estimator factory methods.
port_opt_view(
alg::AbstractExpectedReturnsAlgorithm,
_,
args...
) -> AbstractExpectedReturnsAlgorithmNo-op fallback for getting the view of an expected returns algorithm.
port_opt_view(
me::AbstractExpectedReturnsEstimator,
_,
args...
) -> CustomValueExpectedReturnsNo-op fallback for getting the view of an expected returns estimator.
port_opt_view(
ce::CovarianceEstimator,
_,
args...
) -> GeneralCovarianceNo-op fallback for getting the view of a covariance estimator.
port_opt_view(
x::SimpleExpectedReturnsState,
i,
args...
) -> Union{SimpleExpectedReturnsState{_A, _B, Nothing} where {_A, _B}, SimpleExpectedReturnsState{_A, _B, __T_cvg} where {_A, _B, __T_cvg<:CoverageCounts}}Slices a SimpleExpectedReturnsState to the selected assets.
port_opt_view(
x::CovarianceState,
i,
args...
) -> Union{CovarianceState{_A, _B, _C, Nothing} where {_A, _B, _C}, CovarianceState{_A, _B, _C, __T_cvg} where {_A, _B, _C, __T_cvg<:CoverageCounts}}Slices a CovarianceState to the selected assets.
port_opt_view(
x::SimpleVarianceState,
i,
args...
) -> Union{SimpleVarianceState{_A, _B, _C, Nothing} where {_A, _B, _C}, SimpleVarianceState{_A, _B, _C, __T_cvg} where {_A, _B, _C, __T_cvg<:CoverageCounts}}Slices a SimpleVarianceState to the selected assets.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(re::GeneralisedLinearModel, w::ObsWeights) -> GeneralisedLinearModelReturn a new GeneralisedLinearModel regression target with observation weights w added to the keyword arguments.
factory(re::LinearModel, w::ObsWeights) -> LinearModelReturn a new LinearModel regression target with observation weights w added to the keyword arguments.
port_opt_view(re::Regression, i)Return a view of a Regression result object, selecting only the rows indexed by i.
struct StepwiseRegression{__T_crit, __T_alg, __T_tgt} <: AbstractTimeSeriesRegressionEstimatorEstimates a loadings matrix by selecting a factor subset per asset, one factor at a time.
factory(drtgt::DimensionReductionTarget, args...; kwargs...) -> DimensionReductionTargetNo-op factory for DimensionReductionTarget subtypes.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> VectorNo-op factory function for constructing objects with a uniform interface.
port_opt_view(
me::CustomValueExpectedReturns{<:VecNum},
i,
args...
) -> CustomValueExpectedReturnsport_opt_view method for the per-asset vector shape of CustomValueExpectedReturns: slices val to the selected assets.
port_opt_view(
x::CokurtosisPartialFitState,
i,
args...
) -> CokurtosisPartialFitStateSlices a CokurtosisPartialFitState to the selected assets.
port_opt_view(
x::CoskewnessPartialFitState,
i,
args...
) -> CoskewnessPartialFitStateSlices a CoskewnessPartialFitState to the selected assets.
port_opt_view(csr::CrossSectionalRegression, i, args...)Return a view of a CrossSectionalRegression result, selecting only the assets indexed by i.
port_opt_view(csfm::CrossSectionalFactorModel, i, args...)Return a view of a CrossSectionalFactorModel result, selecting only the assets indexed by i.
port_opt_view(rf::CustomValueReturnForecastResult, i, args...)Return a view of a CustomValueReturnForecastResult, selecting only the assets indexed by i.
port_opt_view(rf::FixedWeightedReturnForecastResult, i, args...)Return a view of a FixedWeightedReturnForecastResult, selecting only the assets indexed by i.
factory(
alg::AbstractPhylogenyAlgorithm,
args...;
kwargs...
) -> AbstractClustersAlgorithmReturn the phylogeny algorithm alg unchanged.
factory(
pl::Union{AbstractPhylogenyEstimator, AbstractPhylogenyResult},
args...;
kwargs...
) -> NetworkEstimator{<:CovarianceEstimator, <:AbstractDistanceEstimator, KruskalTree{Tuple{}, @NamedTuple{}}, <:AbstractSeparationAlgorithm}Return the phylogeny estimator or result pl unchanged.
factory(
alg::AbstractClustersAlgorithm,
args...;
kwargs...
) -> AbstractClustersAlgorithmReturn the clustering algorithm alg unchanged.
port_opt_view(lc::LinearConstraint, i, args...) -> LinearConstraintReturn a precomputed LinearConstraint unchanged under an asset sub-selection.
port_opt_view(
sets::UniverseSets,
i,
args...
) -> UniverseSets{var"#s185", var"#s1851", var"#s1852", var"#s1853", var"#s1854", var"#s1855", var"#s1856", <:AbstractDict{var"#s1771", var"#s1770"}} where {var"#s185"<:AbstractString, var"#s1851"<:AbstractString, var"#s1852"<:AbstractString, var"#s1853"<:AbstractString, var"#s1854"<:AbstractString, var"#s1855"<:AbstractString, var"#s1856"<:AbstractString, var"#s1771"<:AbstractString, var"#s1770"}Return a view of a UniverseSets restricted to the assets at index i.
struct UniverseSets{__T_xkey, __T_uxkey, __T_tfkey, __T_utfkey, __T_cfkey, __T_ucfkey, __T_nikey, __T_dict} <: AbstractEstimatorDeclares the universes a portfolio problem is written against, and any groupings or partitions of them.
port_opt_view(smtx::MatNum, i, args...; kwargs...)
port_opt_view(smtx::VecMatNum_ASetMatE, i, args...; kwargs...)
port_opt_view(smtx::AbstractVector{<:AssetSetsMatrixEstimator}, i, args...; kwargs...)Take an asset view of an asset-group membership matrix, or of a vector of matrices and estimators.
port_opt_view(ece::ExposureConstraintEstimator, i, args...) -> ExposureConstraintEstimatorReturn an asset-sliced copy of the lcse slot.
port_opt_view(space::FactorSpace, i, args...) -> FactorSpaceReturn an asset-sliced copy of a FactorSpace.
port_opt_view(
pr::HighOrderPrior,
i,
args...
) -> HighOrderPrior{<:AbstractPriorResult}Return a view of a HighOrderPrior restricted to assets at index i, slicing all relevant moment tensors accordingly.
port_opt_view(
pr::LowOrderPrior,
i,
args...
) -> LowOrderPrior{var"#s185", _A, var"#s1851", <:AbstractMatrix{var"#s137"}} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s185"<:AbstractMatrix{var"#s137"}, _A, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s1851"<:AbstractVector{var"#s137"}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar})}Return a view of a LowOrderPrior restricted to assets at index i.
port_opt_view(pr::Option{<:AbstractPriorEstimator}, ::Any, args...; kwargs...)
port_opt_view(pr::AbstractVector{<:Union{<:AbstractPriorResult, <:AbstractPriorEstimator}},
::Any, args...; kwargs...)Pass a prior estimator, or a vector of priors, through a view unchanged.
port_opt_view(
x::PriorCarryState,
i,
args...
) -> PriorCarryState{_A, Set{Int64}} where _ASlices a PriorCarryState to the selected assets.
port_opt_view(
risk_ucs::BoxUncertaintySet{<:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}, <:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}},
i,
args...
) -> Union{BoxUncertaintySet{var"#s185", <:AbstractArray{var"#s137", N}, Nothing} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N, var"#s185"<:AbstractArray{var"#s137", N}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}, BoxUncertaintySet{var"#s185", var"#s1851", <:AbstractArray{var"#s137", N}} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N, var"#s185"<:AbstractArray{var"#s137", N}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N, var"#s1851"<:AbstractArray{var"#s137", N}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}}Return a view of a matrix BoxUncertaintySet restricted to the asset indices i.
port_opt_view(
risk_ucs::BoxUncertaintySet{<:AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}, <:AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}},
i,
args...
) -> Union{BoxUncertaintySet{var"#s185", <:AbstractArray{var"#s137", N}, Nothing} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N, var"#s185"<:AbstractArray{var"#s137", N}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}, BoxUncertaintySet{var"#s185", var"#s1851", <:AbstractArray{var"#s137", N}} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N, var"#s185"<:AbstractArray{var"#s137", N}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N, var"#s1851"<:AbstractArray{var"#s137", N}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}}Return a view of a vector BoxUncertaintySet restricted to the asset indices i.
port_opt_view(
risk_ucs::EllipsoidalUncertaintySet{<:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}, <:Any, <:MuUncertaintySetClass},
i,
args...
) -> Union{EllipsoidalUncertaintySet{<:AbstractMatrix{var"#s137"}, <:Number, MuUncertaintySetClass, Nothing} where var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), EllipsoidalUncertaintySet{var"#s185", var"#s1851", MuUncertaintySetClass, <:AbstractArray{var"#s137", N}} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s185"<:AbstractMatrix{var"#s137"}, var"#s1851"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}}Return a view of a mean EllipsoidalUncertaintySet restricted to assets at index i.
port_opt_view(
risk_ucs::EllipsoidalUncertaintySet{<:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}, <:Any, <:SigmaUncertaintySetClass},
i,
args...
) -> Union{EllipsoidalUncertaintySet{<:AbstractMatrix{var"#s137"}, <:Number, SigmaUncertaintySetClass, Nothing} where var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), EllipsoidalUncertaintySet{var"#s185", var"#s1851", SigmaUncertaintySetClass, <:AbstractArray{var"#s137", N}} where {var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s185"<:AbstractMatrix{var"#s137"}, var"#s1851"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}}Return a view of a covariance EllipsoidalUncertaintySet restricted to assets at index i, mapping the sigma index through the fourth-moment index generator.
port_opt_view(risk_ucs::Option{<:AbstractUncertaintySetEstimator}, i, args...)Returns an uncertainty set estimator unchanged, because an estimator carries no asset axis to restrict.
port_opt_view(
risk_ucs::L1UncertaintySet,
i,
args...
) -> L1UncertaintySetReturn a view of an L1UncertaintySet restricted to the asset indices i.
port_opt_view(
risk_ucs::SignedL1UncertaintySet,
i,
args...
) -> SignedL1UncertaintySetReturn a view of a SignedL1UncertaintySet restricted to the asset indices i.
port_opt_view(
risk_ucs::CompactCovarianceUncertaintySet,
i,
args...
) -> Union{CompactCovarianceUncertaintySet{var"#s185", var"#s1851", <:AbstractMatrix{var"#s137"}, Nothing} where {var"#s185"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s1851"<:AbstractVector{var"#s137"}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar})}, CompactCovarianceUncertaintySet{var"#s185", var"#s1851", var"#s1852", <:AbstractMatrix{var"#s137"}} where {var"#s185"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s1851"<:AbstractVector{var"#s137"}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s1852"<:AbstractMatrix{var"#s137"}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar})}}Return a view of a CompactCovarianceUncertaintySet restricted to the asset indices i, re-orthonormalising the basis it slices.
port_opt_view(
risk_ucs::NormBallUncertaintySet{<:Any, <:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}, <:Any, <:MuUncertaintySetClass},
i,
args...
) -> Union{NormBallUncertaintySet{var"#s185", <:AbstractMatrix{var"#s137"}, <:Number, MuUncertaintySetClass, Nothing} where {var"#s185"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar})}, NormBallUncertaintySet{var"#s185", var"#s1851", var"#s1852", MuUncertaintySetClass, <:AbstractArray{var"#s137", N}} where {var"#s185"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s1851"<:AbstractMatrix{var"#s137"}, var"#s1852"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}}Return a view of a mean NormBallUncertaintySet restricted to assets at index i.
port_opt_view(
risk_ucs::NormBallUncertaintySet{<:Any, <:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}, <:Any, <:SigmaUncertaintySetClass},
i,
args...
) -> Union{NormBallUncertaintySet{var"#s185", <:AbstractMatrix{var"#s137"}, <:Number, SigmaUncertaintySetClass, Nothing} where {var"#s185"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar})}, NormBallUncertaintySet{var"#s185", var"#s1851", var"#s1852", SigmaUncertaintySetClass, <:AbstractArray{var"#s137", N}} where {var"#s185"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s1851"<:AbstractMatrix{var"#s137"}, var"#s1852"<:Number, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), N}}Return a view of a covariance NormBallUncertaintySet restricted to assets at index i, mapping the map's row index through the fourth-moment index generator.
factory(tn::VecTnE_Tn, w::VecNum)Create new turnover constraints or estimators with updated portfolio weights.
factory(tn::Turnover, w::VecNum)Replace the reference weights of a Turnover, unless fixed holds them.
factory(tn::TurnoverEstimator, w::VecNum)Replace the reference weights of a TurnoverEstimator, unless fixed holds them.
port_opt_view(tn::VecTnE_Tn, i, args...)Create views of multiple turnover constraints or estimators for a subset of assets.
port_opt_view(fees::Fees, i, X::MatNum, args...)
port_opt_view(fees::FeesEstimator, i, X::MatNum, args...)
port_opt_view(fees::FeesE_Fees, i, args...)Sub-select a fee to the assets an optimisation keeps, on both of its axes.
factory(tr::WeightsTracking, w::VecNum)Construct a new WeightsTracking object with updated portfolio weights.
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}Return the risk measure rs unchanged.
port_opt_view(rs, i, X)Get a view or subset of a risk measure for asset cluster index i.
struct Variance{__T_settings, __T_sigma, __T_chol, __T_rc, __T_alg} <: RiskMeasureRepresents the portfolio variance using a covariance matrix.
factory(r::UncertaintySetVariance, pr::AbstractPriorResult, ::Any,
ucs::Option{<:UcSE_UcS} = nothing, args...;
kwargs...)Create an instance of UncertaintySetVariance by selecting the uncertainty set and covariance matrix from the risk-measure instance or falling back to the prior result.
factory(
r::StandardDeviation,
pr::AbstractPriorResult,
args...;
kwargs...
) -> Union{StandardDeviation{__T_settings, __T_sigma, Nothing} where {__T_settings, __T_sigma}, StandardDeviation{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, var"#s185", <:AbstractMatrix{var"#s137"}} where {__T_scale, __T_ub, __T_rke, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}), var"#s185"<:AbstractMatrix{var"#s137"}, var"#s137"<:(Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar})}}Create an instance of StandardDeviation by resolving a Deferred Quantity in sigma, then falling back to the prior result for the covariance matrix and its factorisation as a pair.
factory(
r::Variance,
pr::AbstractPriorResult,
args...;
kwargs...
) -> Variance{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, _C, <:VarianceFormulation} where {__T_scale, __T_ub, __T_rke, _A, _B, _C}Create an instance of Variance by resolving a Deferred Quantity in sigma, then falling back to the prior result for the covariance matrix and its factorisation.
factory(
r::HighOrderMoment,
pr::AbstractPriorResult,
args...;
kwargs...
) -> HighOrderMoment{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, <:HighOrderMomentMeasureAlgorithm} where {__T_scale, __T_ub, __T_rke, _A, _B}Create an instance of HighOrderMoment by selecting observation weights, expected returns, and algorithm from the risk-measure instance or falling back to the prior result.
factory(
r::LowOrderMoment,
pr::AbstractPriorResult,
args...;
kwargs...
) -> LowOrderMoment{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, <:LowOrderMomentMeasureAlgorithm} where {__T_scale, __T_ub, __T_rke, _A, _B}Create an instance of LowOrderMoment by selecting observation weights, expected returns, and algorithm from the risk-measure instance or falling back to the prior result.
factory(
alg::MomentMeasureAlgorithm,
args...;
kwargs...
) -> SecondMoment{<:AbstractVarianceEstimator, <:AbstractMomentAlgorithm, <:SecondMomentFormulation}Return the moment measure algorithm alg unchanged.
factory(
alg::StandardisedHighOrderMoment,
w::Union{DynamicAbstractWeights, AbstractWeights}
) -> StandardisedHighOrderMoment{<:AbstractVarianceEstimator, <:UnstandardisedHighOrderMomentMeasureAlgorithm}Return a new StandardisedHighOrderMoment with observation weights w applied to the underlying variance estimator.
port_opt_view(
r::HighOrderMoment,
i,
args...
) -> HighOrderMoment{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, <:HighOrderMomentMeasureAlgorithm} where {__T_scale, __T_ub, __T_rke, _A, _B}Return a view of HighOrderMoment r sliced to asset indices i.
port_opt_view(
r::LowOrderMoment,
i,
args...
) -> LowOrderMoment{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, <:LowOrderMomentMeasureAlgorithm} where {__T_scale, __T_ub, __T_rke, _A, _B}Return a view of LowOrderMoment r sliced to asset indices i.
factory(
r::Kurtosis,
pr::HighOrderPrior,
args...;
kwargs...
) -> Kurtosis{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, _C, _D, <:AbstractMomentAlgorithm, <:SecondMomentFormulation, Nothing} where {__T_scale, __T_ub, __T_rke, _A, _B, _C, _D}Create an instance of Kurtosis by selecting the cokurtosis matrix, expected returns, and weights from the risk-measure instance or falling back to a HighOrderPrior result.
factory(
r::Kurtosis,
pr::LowOrderPrior,
args...;
kwargs...
) -> Kurtosis{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, _C, _D, <:AbstractMomentAlgorithm, <:SecondMomentFormulation, Nothing} where {__T_scale, __T_ub, __T_rke, _A, _B, _C, _D}Create an instance of Kurtosis from a LowOrderPrior result (cokurtosis matrix is not used).
port_opt_view(
r::Kurtosis,
i,
args...
) -> Kurtosis{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, _B, _C, _D, <:AbstractMomentAlgorithm, <:SecondMomentFormulation} where {__T_scale, __T_ub, __T_rke, _A, _B, _C, _D}Return a view of Kurtosis r sliced to asset indices i.
factory(
r::NegativeSkewness,
pr::HighOrderPrior,
args...;
kwargs...
) -> NegativeSkewness{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, <:AbstractMatrixProcessingEstimator} where {__T_scale, __T_ub, __T_rke}Create an instance of NegativeSkewness by resolving a Deferred Quantity in sk, then falling back to a HighOrderPrior result for the coskewness matrix and its spectral decomposition.
factory(
r::NegativeSkewness,
pr::LowOrderPrior,
args...;
kwargs...
) -> NegativeSkewnessResolve a Deferred Quantity in NegativeSkewness's sk slot against a LowOrderPrior result, and otherwise return r unchanged.
factory(
alg::DistributionValueatRisk,
pr::AbstractPriorResult,
args...;
kwargs...
) -> DistributionValueatRisk{_A, _B, _C, Nothing, <:Distributions.Distribution{F, S}} where {_A, _B, _C, F<:Distributions.VariateForm, S<:Distributions.ValueSupport}Create an instance of DistributionValueatRisk by resolving its Deferred Quantities, then falling back to the prior result for whatever is still unstated.
factory(
alg::ValueatRiskFormulation,
args...;
kwargs...
) -> DistributionValueatRisk{_A, _B, _C, Nothing, <:Distributions.Distribution{F, S}} where {_A, _B, _C, F<:Distributions.VariateForm, S<:Distributions.ValueSupport}Return the Value-at-Risk formulation alg unchanged.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)
port_opt_view(r, args...)Sub-select an estimator, result, or algorithm to the asset/observation index i.
port_opt_view(r, args...)Get a view or subset of a Value-at-Risk formulation for slicing.
factory(
x::OrderedWeightsArray,
pr::AbstractPriorResult,
args...;
kwargs...
) -> OrderedWeightsArrayResolve the weight builder in w against prior result pr, and return an OrderedWeightsArray whose builder holds numbers.
factory(
x::OrderedWeightsArrayRange,
pr::AbstractPriorResult,
args...;
kwargs...
) -> OrderedWeightsArrayRangeResolve the two weight builders of an OrderedWeightsArrayRange against prior result pr.
factory(
r::TurnoverRiskMeasure,
,
,
;
...
) -> TurnoverRiskMeasure
factory(
r::TurnoverRiskMeasure,
,
,
,
w::Union{Nothing, AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}},
args...;
kwargs...
) -> TurnoverRiskMeasureCreate an instance of TurnoverRiskMeasure from a full optimisation context, forwarding the optional weight argument w to factory(r, w).
factory(
r::TurnoverRiskMeasure,
w::AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}
) -> TurnoverRiskMeasureCreate an instance of TurnoverRiskMeasure updating the reference weights to w.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)Sub-select an estimator, result, or algorithm to the asset/observation index i.
factory(
tr::RiskTrackingError,
pr::AbstractPriorResult,
slv,
ucs;
...
) -> RiskTrackingError{WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:Number, <:VariableTracking} where {__T_fees, __T_w, __T_fixed, _A}
factory(
tr::RiskTrackingError,
pr::AbstractPriorResult,
slv,
ucs,
w::Union{Nothing, AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}},
args...;
kwargs...
) -> RiskTrackingError{WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:Number, <:VariableTracking} where {__T_fees, __T_w, __T_fixed, _A}Create an instance of RiskTrackingError updating the inner benchmark and risk measure from the prior result and solver context.
factory(
tr::RiskTrackingError,
w::AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}
) -> RiskTrackingError{WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:Number, <:VariableTracking} where {__T_fees, __T_w, __T_fixed, _A}Create an instance of RiskTrackingError updating the inner benchmark and risk measure from new portfolio weights w.
factory(
r::RiskTrackingRiskMeasure,
pr::AbstractPriorResult,
args...;
kwargs...
) -> RiskTrackingRiskMeasure{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:VariableTracking} where {__T_scale, __T_ub, __T_rke, __T_fees, __T_w, __T_fixed, _A}Create an instance of RiskTrackingRiskMeasure updating the inner risk measure from the prior result.
factory(
r::RiskTrackingRiskMeasure,
w::AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}
) -> RiskTrackingRiskMeasure{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:VariableTracking} where {__T_scale, __T_ub, __T_rke, __T_fees, __T_w, __T_fixed, _A}Create an instance of RiskTrackingRiskMeasure updating the inner benchmark and risk measure from new portfolio weights w.
factory(
r::TrackingRiskMeasure,
w::AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}
) -> TrackingRiskMeasure{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, <:AbstractTrackingAlgorithm, <:NormError} where {__T_scale, __T_ub, __T_rke}Create an instance of TrackingRiskMeasure updating the inner tracking specification with new weights w.
factory(
r::TrackingRiskMeasure,
,
,
,
w::AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...;
kwargs...
) -> TrackingRiskMeasure{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, <:AbstractTrackingAlgorithm, <:NormError} where {__T_scale, __T_ub, __T_rke}Create an instance of TrackingRiskMeasure from a full optimisation context, forwarding w to factory(r, w).
port_opt_view(::Nothing, ::Any; kwargs...) -> nothing
port_opt_view(::Nothing, ::Any, args...; kwargs...) -> nothingCanonical absent-value fallback for port_opt_view: an index view of a missing (nothing) estimator, algorithm, result, or constraint is itself nothing.
port_opt_view(
tr::RiskTrackingError,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> RiskTrackingError{WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:Number, <:VariableTracking} where {__T_fees, __T_w, __T_fixed, _A}Return a view of RiskTrackingError tr sliced to asset indices i.
port_opt_view(
r::RiskTrackingRiskMeasure,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> RiskTrackingRiskMeasure{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, WeightsTracking{__T_fees, __T_w, __T_fixed}, _A, <:VariableTracking} where {__T_scale, __T_ub, __T_rke, __T_fees, __T_w, __T_fixed, _A}Return a view of RiskTrackingRiskMeasure r sliced to asset indices i.
factory(
r::Skewness,
pr::HighOrderPrior,
args...;
kwargs...
) -> Skewness{MaxRiskMeasureSettings{Float64, Nothing, Bool}, var"#s185", _A, _B, _C, Nothing} where {var"#s185"<:AbstractVarianceEstimator, _A, _B, _C}Create an instance of Skewness by selecting observation weights and expected returns from the risk-measure instance or falling back to the prior result.
factory(
r::Skewness,
pr::LowOrderPrior,
args...;
kwargs...
) -> Skewness{MaxRiskMeasureSettings{Float64, Nothing, Bool}, var"#s185", _A, _B, _C, Nothing} where {var"#s185"<:AbstractVarianceEstimator, _A, _B, _C}Create an instance of Skewness from a LowOrderPrior result, selecting observation weights and expected returns while preserving the coskewness matrix from the risk measure.
factory(
r::VarianceSkewKurtosis,
pr::AbstractPriorResult,
args...;
kwargs...
) -> VarianceSkewKurtosis{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}, _A, Skewness{__T_settings, __T_ve, __T_sk, __T_w, __T_mu, __T_pe}, _B, Nothing} where {__T_scale, __T_ub, __T_rke, _A, __T_settings, __T_ve, __T_sk, __T_w, __T_mu, __T_pe, _B}Create an instance of VarianceSkewKurtosis by fanning pe out over its three children, then threading pr into each of them.
port_opt_view(
r::Skewness,
i,
args...
) -> Skewness{MaxRiskMeasureSettings{__T_scale, __T_lb, __T_rke}, <:AbstractVarianceEstimator} where {__T_scale, __T_lb, __T_rke}Return a view of Skewness r sliced to asset indices i.
port_opt_view(
r::Skewness{<:Any, <:Any, <:AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}},
i,
args...
) -> Skewness{MaxRiskMeasureSettings{__T_scale, __T_lb, __T_rke}, <:AbstractVarianceEstimator} where {__T_scale, __T_lb, __T_rke}Return a view of Skewness r sliced to asset indices i, also slicing the coskewness matrix sk.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)Sub-select an estimator, result, or algorithm to the asset/observation index i.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)Sub-select an estimator, result, or algorithm to the asset/observation index i.
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)Sub-select an estimator, result, or algorithm to the asset/observation index i.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
rs::AbstractBaseRiskMeasure,
args...;
kwargs...
) -> AverageDrawdown{RiskMeasureSettings{__T_scale, __T_ub, __T_rke}} where {__T_scale, __T_ub, __T_rke}No-op factory function for constructing objects with a uniform interface.
port_opt_view(pipe::Pipeline, i, args...; kwargs...)Deliberately unsupported: a Pipeline cannot be sub-selected by asset view.
factory(
p::Pipeline,
w::AbstractVector{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}}
) -> PipelineRebuild a Pipeline with the previous fold's weights delivered to every optimisation step (see pipeline_step_factory).
port_opt_view(x, i, args...; kwargs...) -> nothing_scalar_array_view(x, i)
port_opt_view(pipe::Pipeline, i, args...; kwargs...)Sub-select an estimator, result, or algorithm to the asset/observation index i.
abstract type NonFiniteAllocationOptimisationEstimator <: OptimisationEstimatorAbstract supertype for portfolio optimisation estimators that produce continuous (non-integer) portfolio weights.
abstract type NonFiniteAllocationOptimisationResult <: OptimisationResultAbstract supertype for continuous (non-integer allocation) optimisation results.
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})Rebuild a continuous optimisation result with an updated fallback record fb.
factory(td::TimeDependent, args...) -> TimeDependentApply factory through a TimeDependent schedule: to each vector entry and to the default, rebuilding the schedule.
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}Return opt unchanged.
optimise(
opt::OptimisationEstimator,
args...;
kwargs...
) -> RiskBudgetingResult{__T_jr, __T_r, __T_prb, Nothing} where {__T_jr, __T_r, __T_prb}High level optimisation function that wraps around estimator-specific optimisation functions.
optimise(opt::OptimisationEstimator, args...; kwargs...) -> OptimisationResult
optimise(opt::OptimisationResult, args...; kwargs...) -> OptimisationResultRun portfolio optimisation using the given estimator opt and return an OptimisationResult.
optimise(
td::Union{TimeDependent{<:AbstractVector{<:Union{var"#s7100", var"#s7099"} where {var"#s7100"<:NonFiniteAllocationOptimisationEstimator, var"#s7099"<:NonFiniteAllocationOptimisationResult}}}, TimeDependent{<:TimeDependentOptimiserCallable}, TimeDependent{<:PreviousWeightsFunction}, TimeDependent{<:Union{Function, Type}}},
args...;
kwargs...
) -> AnyOptimise with a TimeDependent schedule standing in for the optimiser, outside any fold loop.
port_opt_view(opt, i, args...)Return a view or subset of an optimisation estimator for a given cluster index i.
port_opt_view(
res::NonFiniteAllocationOptimisationResult,
_::Colon,
args...
) -> NonFiniteAllocationOptimisationResultA precomputed optimisation result cannot be restricted to an asset subset.
struct RandomWeighted{__T_alpha, __T_rng, __T_seed, __T_wb, __T_sets, __T_wf, __T_fb, __T_strict, __T_cache} <: NaiveOptimisationEstimatorDraws portfolio weights at random from a Dirichlet distribution with concentration parameter alpha.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(pw::PreviousWeights, w::VecNum) -> PreviousWeightsThread the previous fold's weights into the hold-only head, and on into its fallback.
optimise(pw::PreviousWeights{<:Any, Nothing}, rd::ReturnsResult = ReturnsResult();
kwargs...) -> NaiveOptimisationResultHold the weights the head carries.
optimise(ew::EqualWeighted{<:Any, <:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1, kwargs...) -> NaiveOptimisationResultRun the equal-weighted portfolio optimisation.
optimise(iv::InverseVolatility{<:Any, <:Any, <:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1, kwargs...) -> NaiveOptimisationResultRun the inverse volatility portfolio optimisation.
optimise(rw::RandomWeighted{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1, kwargs...) -> NaiveOptimisationResultRun the random-weighted portfolio optimisation.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(hrp::HierarchicalRiskParity{<:Any, <:Any, <:Any, <:Nothing},
rd::ReturnsResult; dims::Int = 1, kwargs...) -> HierarchicalRiskParityResultRun the Hierarchical Risk Parity portfolio optimisation.
port_opt_view(
hrp::HierarchicalRiskParity,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> HierarchicalRiskParity{HierarchicalOptimiser{__T_pe, __T_cle, __T_slv, __T_wb, __T_fees, __T_sets, __T_wf, __T_brt, __T_x_src, __T_strict, __T_cache}} where {__T_pe, __T_cle, __T_slv, __T_wb, __T_fees, __T_sets, __T_wf, __T_brt, __T_x_src, __T_strict, __T_cache}Return a view of HierarchicalRiskParity hrp sliced to asset indices i.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(sh::SchurComplementHierarchicalRiskParity{<:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1, kwargs...) -> SchurComplementHierarchicalRiskParityResultRun the Schur Complement Hierarchical Risk Parity portfolio optimisation.
port_opt_view(
sh::SchurComplementHierarchicalRiskParity,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> SchurComplementHierarchicalRiskParity{HierarchicalOptimiser{__T_pe, __T_cle, __T_slv, __T_wb, __T_fees, __T_sets, __T_wf, __T_brt, __T_x_src, __T_strict, __T_cache}} where {__T_pe, __T_cle, __T_slv, __T_wb, __T_fees, __T_sets, __T_wf, __T_brt, __T_x_src, __T_strict, __T_cache}Return a view of SchurComplementHierarchicalRiskParity sh sliced to asset indices i.
port_opt_view(sp, i, X)Get a view or subset of Schur complement parameters for cluster index i.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(hec::HierarchicalEqualRiskContribution{
<:Any, <:Any, <:Any, <:Any, <:Any, <:Any, Nothing
},
rd::ReturnsResult; dims::Int = 1,
branchorder::Symbol = :optimal, kwargs...) -> HierarchicalEqualRiskContributionResultRun the Hierarchical Equal Risk Contribution portfolio optimisation.
port_opt_view(
hec::HierarchicalEqualRiskContribution,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> HierarchicalEqualRiskContribution{HierarchicalOptimiser{__T_pe, __T_cle, __T_slv, __T_wb, __T_fees, __T_sets, __T_wf, __T_brt, __T_x_src, __T_strict, __T_cache}, _A, _B, _C, _D, <:Transducers.Executor} where {__T_pe, __T_cle, __T_slv, __T_wb, __T_fees, __T_sets, __T_wf, __T_brt, __T_x_src, __T_strict, __T_cache, _A, _B, _C, _D}Return a view of HierarchicalEqualRiskContribution hec sliced to asset indices i.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(nco::NestedClustered{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any, <:Any,
<:Any, <:Any, <:Any, Nothing
}, rd::ReturnsResult;
dims::Int = 1, branchorder::Symbol = :optimal, str_names::Bool = false,
save::Bool = true, kwargs...) -> NestedClusteredResultRun the Nested Clustered Optimisation portfolio optimisation.
port_opt_view(
nco::NestedClustered,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> NestedClustered{_A, _B, _C, _D, _E, _F, _G, _H, _I, var"#s185", _J, Bool, Symbol, Bool} where {_A, _B, _C, _D, _E, _F, _G, _H, _I, var"#s185"<:Transducers.Executor, _J}Return a cluster-sliced copy of NestedClustered for asset index set i and returns matrix X.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(st::Stacking{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any, <:Any, <:Any,
<:Any, <:Any, Nothing
}, rd::ReturnsResult;
dims::Int = 1, branchorder::Symbol = :optimal, str_names::Bool = false,
save::Bool = true, kwargs...) -> StackingResultRun the Stacking portfolio optimisation.
port_opt_view(
st::Stacking,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> Stacking{_A, _B, _C, _D, _E, _F, _G, _H, _I, var"#s185", _J, Bool, Bool} where {_A, _B, _C, _D, _E, _F, _G, _H, _I, var"#s185"<:Transducers.Executor, _J}Return a cluster-sliced copy of Stacking for asset index set i and returns matrix X.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(
sr::SubsetResamplingResult,
fb::Union{Nothing, Union{var"#s7100", var"#s7099"} where {var"#s7100"<:NonFiniteAllocationOptimisationEstimator, var"#s7099"<:NonFiniteAllocationOptimisationResult}, AbstractVector{<:Tuple{var"#s7099", var"#s7098"} where {var"#s7099"<:OptimisationEstimator, var"#s7098"<:OptimisationResult}}}
) -> SubsetResamplingResultRebuild a SubsetResamplingResult with an updated fallback optimiser fb.
optimise(sr::SubsetResampling{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any, <:Any,
<:Any, <:Any, <:Any, <:Any, <:Any, Nothing
}, rd::ReturnsResult;
dims::Int = 1, branchorder::Symbol = :optimal, str_names::Bool = false,
save::Bool = true, kwargs...) -> SubsetResamplingResultRun the Subset Resampling portfolio optimisation.
port_opt_view(
sr::SubsetResampling,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> SubsetResampling{_A, _B, _C, _D, _E, _F, var"#s185", _G, _H, var"#s1851", var"#s1852", _I, _J, Bool, Bool} where {_A, _B, _C, _D, _E, _F, var"#s185"<:Transducers.Executor, _G, _H, var"#s1851"<:Integer, var"#s1852"<:AbstractRNG, _I, _J}Return a cluster-sliced copy of SubsetResampling for asset index set i and returns matrix X.
factory(res::FiniteAllocationOptimisationResult, fb::Option{<:FOptE_FOpt_FbChain})Rebuild a finite allocation result with an updated fallback record fb.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::FiniteAllocationOptimisationResult, fb::Option{<:FOptE_FOpt_FbChain})No-op factory function for constructing objects with a uniform interface.
optimise(da::DiscreteAllocation{<:Any, <:Any, <:Any, <:Any, Nothing},
fai::FiniteAllocationInput; str_names::Bool = false,
save::Bool = true, kwargs...) -> DiscreteAllocationResultRun the Discrete Allocation portfolio optimisation.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::FiniteAllocationOptimisationResult, fb::Option{<:FOptE_FOpt_FbChain})No-op factory function for constructing objects with a uniform interface.
optimise(ga::GreedyAllocation{<:Any, <:Any, <:Any, Nothing},
fai::FiniteAllocationInput; kwargs...) -> GreedyAllocationResultRun the Greedy Allocation portfolio optimisation.
factory(
x::LpRegularisation,
pr::AbstractPriorResult
) -> LpRegularisation
factory(
x::LpRegularisation,
pr::AbstractPriorResult,
slv
) -> LpRegularisationResolve the ambiguity radius in val against prior result pr, and return an LpRegularisation holding the number.
struct JuMPOptimisationResult{__T_pa, __T_retcode, __T_sol, __T_model} <: BaseJuMPOptimisationResultShared field core for JuMP-based optimisation results.
struct JuMPOptimiser{__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache} <: BaseJuMPOptimisationEstimatorMain JuMP-based portfolio optimiser configuration.
factory(
opt::JuMPOptimiser,
w::AbstractVector
) -> JuMPOptimiser{_A, _B, _C, _D, _E, _F, Bool, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, _Z1, var"#s185", var"#s1851", _Z2, _Z3, _Z4, _Z5, _Z6, _Z7, _Z8, _Z9, _Z10, _Z11, Bool, Symbol, Bool} where {_A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, _Z1, var"#s185"<:Number, var"#s1851"<:Number, _Z2, _Z3, _Z4, _Z5, _Z6, _Z7, _Z8, _Z9, _Z10, _Z11}Return a copy of opt with all weight-tracking estimator fields updated via factory for the new weights w.
port_opt_view(
opt::JuMPOptimiser,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> JuMPOptimiser{_A, _B, _C, _D, _E, _F, Bool, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, _Z1, var"#s185", var"#s1851", _Z2, _Z3, _Z4, _Z5, _Z6, _Z7, _Z8, _Z9, _Z10, _Z11, Bool, Symbol, Bool} where {_A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, _Z1, var"#s185"<:Number, var"#s1851"<:Number, _Z2, _Z3, _Z4, _Z5, _Z6, _Z7, _Z8, _Z9, _Z10, _Z11}Return a cluster-sliced copy of opt restricted to asset indices i.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(mr::MeanRisk{<:Any, <:Any, <:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1,
str_names::Bool = false, save::Bool = true, kwargs...) -> MeanRiskResultRun the Mean-Risk portfolio optimisation.
port_opt_view(
mr::MeanRisk,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> MeanRisk{JuMPOptimiser{__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}} where {__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}Return a cluster-sliced copy of MeanRisk for asset index set i and returns matrix X.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(frc::FactorRiskContribution{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any,
<:Any, <:Any, Nothing
},
rd::ReturnsResult; dims::Int = 1,
str_names::Bool = false, save::Bool = true, kwargs...) -> FactorRiskContributionResultRun the Factor Risk Contribution portfolio optimisation.
port_opt_view(
frc::FactorRiskContribution,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> FactorRiskContribution{JuMPOptimiser{__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}, _A, _B, _C, _D, _E, _F, Bool} where {__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache, _A, _B, _C, _D, _E, _F}Return a cluster-sliced copy of FactorRiskContribution for asset index set i and returns matrix X.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(res::NonFiniteAllocationOptimisationResult, fb::Option{<:OptE_Opt_FbChain})
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(noc::NearOptimalCentering{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any, <:Any,
<:Any, <:Any, <:Any, <:Any, <:Any, Nothing
},
rd::ReturnsResult; dims::Int = 1,
str_names::Bool = false, save::Bool = true, kwargs...) -> NearOptimalCenteringResultRun the Near Optimal Centering portfolio optimisation.
port_opt_view(
noc::NearOptimalCentering,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> NearOptimalCentering{JuMPOptimiser{__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}, _A, _B, _C, _D, _E, _F, _G, _H, _I, Bool, <:NearOptimalCenteringAlgorithm} where {__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache, _A, _B, _C, _D, _E, _F, _G, _H, _I}Return a cluster-sliced copy of NearOptimalCentering for asset index set i and returns matrix X.
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> a
factory(a::AbstractVector{<:Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}}, args...; kwargs...) -> Vector
factory(
opt::Union{NonFiniteAllocationOptimisationEstimator, NonFiniteAllocationOptimisationResult},
_
) -> RandomWeighted{_A, var"#s185", _B, _C, _D, _E, _F, Bool} where {_A, var"#s185"<:AbstractRNG, _B, _C, _D, _E, _F}No-op factory function for constructing objects with a uniform interface.
optimise(rrb::RelaxedRiskBudgeting{<:Any, <:Any, <:Any, <:Any, Nothing},
rd::ReturnsResult; dims::Int = 1,
str_names::Bool = false, save::Bool = true, kwargs...) -> RelaxedRiskBudgetingResultRun the Relaxed Risk Budgeting portfolio optimisation.
port_opt_view(
rrb::RelaxedRiskBudgeting,
i,
X::AbstractMatrix{<:Union{var"#s136", var"#s53"} where {var"#s136"<:Number, var"#s53"<:AbstractJuMPScalar}},
args...
) -> RelaxedRiskBudgeting{JuMPOptimiser{__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache}, _A, _B, <:RelaxedRiskBudgetingAlgorithm} where {__T_pe, __T_slv, __T_wb, __T_bgt, __T_sbgt, __T_gbgt, __T_xbgt, __T_lt, __T_st, __T_lcse, __T_cte, __T_gcarde, __T_sgcarde, __T_smtx, __T_sgmtx, __T_slt, __T_sst, __T_sglt, __T_sgst, __T_tn, __T_fees, __T_sets, __T_tr, __T_ple, __T_ret, __T_sca, __T_ccnt, __T_cobj, __T_sc, __T_so, __T_ss, __T_card, __T_scard, __T_l2c, __T_lpc, __T_linfc, __T_l1, __T_l2, __T_lp, __T_linf, __T_brt, __T_x_src, __T_strict, __T_cache, _A, _B}Return a cluster-sliced copy of RelaxedRiskBudgeting for asset index set i and returns matrix X.