bayesline.api.equity.OptimizerSettings#
- model OptimizerSettings#
Optimizer settings to build an optimization problem.
Every enabled objective and constraint must have the inputs it requires, e.g. a factor exposure constraint needs a risk model; under-specified combinations are rejected at validation.
Fields# Field
Type
Required
Default
Constraints
list[Annotated[FactorExposureConstraint|PositionBoundConstraint|PositionPinConstraint|MaxPositionSizeConstraint|NetExposureConstraint|GrossExposureConstraint|TurnoverConstraint|DoNotTradeConstraint|GroupNetExposureConstraint,Discriminator(discriminator=kind, custom_error_type=None, custom_error_message=None, custom_error_context=None)]]No
factory
No
factory
No
Nonestr|int|FactorRiskModelSettings|NoneNo
NoneNo
Nonelist[Annotated[MinimizeTradeVolumeObjective|MinimizeDistanceObjective|IdioTrackingErrorObjective|MaximizeAlphaObjective,Discriminator(discriminator=kind, custom_error_type=None, custom_error_message=None, custom_error_context=None)]]Yes
min_length=1
Yes
- field constraints: list[Annotated[FactorExposureConstraint | PositionBoundConstraint | PositionPinConstraint | MaxPositionSizeConstraint | NetExposureConstraint | GrossExposureConstraint | TurnoverConstraint | DoNotTradeConstraint | GroupNetExposureConstraint, Discriminator(discriminator=kind, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] [Optional]#
Hard restrictions on the feasible set, on top of
defaults. The book’s total holdings stay fixed unless anet_exposureconstraint lifts that. The optimizer trades only the names a portfolio holds, plus any name aposition_pinorposition_boundrefers to; a referenced name the portfolio does not hold is opened from zero.
- field defaults: OptimizerDefaults [Optional]#
Safeguards applied on top of
constraints; edit a field to relax one.
- field factor_cov_settings: FactorCovarianceSettings | None [Optional]#
Settings for the factor covariance matrix forecasts.
Noneunless an enabled objective or constraint is evaluated against covariance forecasts.
- field factor_model_settings: str | int | FactorRiskModelSettings | None [Optional]#
The factor risk model supplying exposures and risk: either inline settings or a reference (name or id) to saved factor risk model settings.
Nonefor problems that need no risk model, e.g. a mechanical rebalance back inside position limits.
- field idio_vol_settings: IdioVolSettings | None [Optional]#
Settings for the idiosyncratic volatility forecasts.
Noneunless an enabled objective or constraint is evaluated against idiosyncratic volatility forecasts.
- field objectives: list[Annotated[MinimizeTradeVolumeObjective | MinimizeDistanceObjective | IdioTrackingErrorObjective | MaximizeAlphaObjective, Discriminator(discriminator=kind, custom_error_type=None, custom_error_message=None, custom_error_context=None)]] [Required]#
Objectives combined into the weighted sum the optimizer minimizes, at most one per kind.
- Constraints:
min_length =
1
- field portfolio_hierarchy: str | int | PortfolioHierarchySettings [Required]#
The hierarchy of portfolios (with optional per-portfolio benchmarks) to optimize, each optimized independently against the same objectives and constraints: either inline settings or a reference (name or id) to saved settings.