Fees Constraints
PortfolioOptimisers.add_to_fees! Function
add_to_fees!(model::Model, expr::AbstractJuMPScalar)Accumulate a JuMP expression into the :fees expression of the optimisation model.
Creates the :fees expression if it does not yet exist; otherwise adds expr to it in place.
Arguments
model::JuMP.Model: The JuMP optimisation model.expr::JuMP.AbstractJuMPScalar: The fee expression to accumulate.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_turnover_fees! Function
set_turnover_fees!(args...)Add a turnover-based transaction fee expression to the JuMP optimisation model.
The fall-through method does nothing. The concrete method computes val' * |w - wt| via NormOneCone constraints and accumulates the result into the model's :fees expression via add_to_fees!.
Arguments
model::JuMP.Model: The JuMP optimisation model.tn::Turnover: Turnover specification containing benchmark weightswand per-unit feeval.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_non_fixed_fees! Function
set_non_fixed_fees!(args...)Add all non-fixed (proportional and turnover) fee expressions to the JuMP optimisation model.
The fall-through method does nothing. The concrete method delegates to set_long_non_fixed_fees!, set_short_non_fixed_fees!, and set_turnover_fees!.
Arguments
model::JuMP.Model: The JuMP optimisation model.fees::Fees: Fee specification containing long, short, and turnover fee rates.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_long_non_fixed_fees! Function
set_long_non_fixed_fees!(args...)Add proportional long-side fee expression to the JuMP optimisation model.
The fall-through method does nothing. The concrete method adds fl' * lw to the model's :fees expression via add_to_fees!.
Arguments
model::JuMP.Model: The JuMP optimisation model.fl: Long-side fee rate(s). Accepts a scalarNumberor aVecNum.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_short_non_fixed_fees! Function
set_short_non_fixed_fees!(args...)Add proportional short-side fee expression to the JuMP optimisation model.
The fall-through method does nothing. The concrete method adds fs' * sw to the model's :fees expression via add_to_fees!. Does nothing when no short-weight variable :sw exists in the model.
Arguments
model::JuMP.Model: The JuMP optimisation model.fs: Short-side fee rate(s). Accepts a scalarNumberor aVecNum.
Returns
nothing.
Related
source