Asset turnover: private API
PortfolioOptimisers.TnE_Tn — Type
const TnE_Tn = Union{<:Turnover, <:TurnoverEstimator}Union of the two turnover types, one turnover constraint on either side of name resolution. Both carry w, val and fixed, so factory, port_opt_view and needs_previous_weights act on either without a branch; they differ only in whether val is already one bound per asset.
Related
TurnoverTurnoverEstimatorturnover_constraints: the verb that turns the estimator side into the result side.FeesEstimator: holds one of these in itstnfield.
PortfolioOptimisers.VecTnE_Tn — Type
const VecTnE_Tn = AbstractVector{<:TnE_Tn}Vector of TnE_Tn, the type the broadcast methods of this file dispatch on. Several turnover constraints can hold at once, so the singular alias needs a plural counterpart; the element type may mix both sides of name resolution, which is why the methods that build a new vector keep it concrete.
Related
PortfolioOptimisers.VecTn — Type
const VecTn = AbstractVector{<:Turnover}Vector of Turnover alone, the resolved side of VecTnE_Tn. It is what the vector method of turnover_constraints returns, so a method that dispatches on it is downstream of name resolution and reads val as one bound per asset.
Related
PortfolioOptimisers.Tn_VecTn — Type
const Tn_VecTn = Union{<:Turnover, <:VecTn}One resolved turnover constraint or a vector of them. This is the shape a JuMPOptimiser holds after name resolution and the shape set_turnover_constraints! reads, so no method that dispatches on it ever meets a TurnoverEstimator.
Related
TurnoverVecTnTnE_Tn_VecTnE_Tn: the unresolved counterpart, which the optimiser accepts from the caller.set_turnover_constraints!
PortfolioOptimisers.TnE_Tn_VecTnE_Tn — Type
const TnE_Tn_VecTnE_Tn = Union{<:TnE_Tn, <:VecTnE_Tn}Widest turnover alias: one constraint or estimator, or a vector of them. It is the type a JuMPOptimiser accepts for its tn keyword, because a caller may pass either side of name resolution and either count; turnover_constraints narrows every case of it to Tn_VecTn.
Related
TnE_TnVecTnE_TnTurnoverTurnoverEstimatorTn_VecTn: what this narrows to once the names are resolved.turnover_constraints