Factor risk contribution
PortfolioOptimisers.FactorRiskContributionResult Type
struct FactorRiskContributionResult{__T_oe, __T_pa, __T_rr, __T_frc_plr, __T_retcode, __T_sol, __T_model, __T_fb} <: NonFiniteAllocationOptimisationResultResult type for Factor Risk Contribution portfolio optimisation.
Fields
oe: Type of the optimisation estimator that produced this result.pa: Processed optimisation attributes.rr: Regression result used for factor decomposition.frc_plr: Factor risk contribution placeholder result.retcode: Optimisation return code.sol: JuMP model solution.model: The JuMP model.fb: Fallback result.
The w property is forwarded from sol.w.
Related
sourcePortfolioOptimisers.FactorRiskContribution Type
struct FactorRiskContribution{__T_opt, __T_re, __T_r, __T_obj, __T_frc_ple, __T_sets, __T_wi, __T_flag, __T_fb} <: RiskJuMPOptimisationEstimatorFactor Risk Contribution (FRC) portfolio optimiser.
FactorRiskContribution allocates portfolio weights so that each factor (and the idiosyncratic component) contributes a target proportion to the total portfolio risk. It combines factor regression with a JuMP-based risk budgeting optimisation.
Fields
opt: JuMP optimiser configuration.re: Regression estimator for computing factor loadings.r: Risk measure or vector of risk measures.obj: Portfolio objective function.frc_ple: Factor risk contribution placeholder constraints.sets: Asset sets.wi: Initial weights for warm-starting.flag: Iftrue, uses the full factor regression decomposition; iffalse, uses a simplified approach.fb: Fallback optimiser.
Constructors
FactorRiskContribution(;
opt::JuMPOptimiser = JuMPOptimiser(),
re::RegE_Reg = StepwiseRegression(),
r::RM_VecRM = Variance(),
obj::ObjectiveFunction = MinimumRisk(),
frc_ple::Option{<:PlCE_PhC_VecPlCE_PlC} = nothing,
sets::Option{<:AssetSets} = nothing,
wi::Option{<:VecNum} = nothing,
flag::Bool = false,
fb::Option{<:OptE_Opt} = nothing
) -> FactorRiskContributionKeywords correspond to the struct's fields.
Related
sourcePortfolioOptimisers.optimise Function
optimise(frc::FactorRiskContribution{<:Any, <:Any, <:Any, <:Any, <:Any, <:Any,
<:Any, <:Any, Nothing
},
rd::ReturnsResult = ReturnsResult(); dims::Int = 1,
str_names::Bool = false, save::Bool = true, kwargs...) -> FactorRiskContributionResultArguments
frc: The factor risk contribution optimiser to use.rd: The returns result to use. Ifisa(hec.opt.pe, AbstractPriorResult),rdis not necessary if doing a standalone optimisation, but may be required/desired by fallbacks and/or clusterisation.dims: The dimension along which observations advance in time.str_names: Whether to use string names for the assets in the optimisation.save: Whether to save the JuMP model in the optimisation result.kwargs: Additional keyword arguments passed to the optimisation function.