Skip to content
13

Fees Constraints

PortfolioOptimisers.add_to_fees! Function
julia
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

source
PortfolioOptimisers.set_turnover_fees! Function
julia
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 weights w and per-unit fee val.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_non_fixed_fees! Function
julia
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

source
PortfolioOptimisers.set_long_non_fixed_fees! Function
julia
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 scalar Number or a VecNum.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_short_non_fixed_fees! Function
julia
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 scalar Number or a VecNum.

Returns

  • nothing.

Related

source