Portfolio Construction
Supported Optimizers
Introduction
This page describes the pre-built Portfolio Optimizer models in LEAN. The number of models grows over time. To add a model to LEAN, make a pull request to the GitHub repository. If none of these models perform exactly how you want, create a custom Portfolio Optimizer model.
Maximum Sharpe Ratio Optimizer
The MaximumSharpeRatioPortfolioOptimizer
seeks to maximize the portfolio Sharpe Ratio.
optimizer = MaximumSharpeRatioPortfolioOptimizer()
The following table describes the arguments the model accepts:
Argument | Data Type | Description | Default Value |
---|---|---|---|
minimum_weight | float | The lower bounds on portfolio weights | -1 |
maximum_weight | float | The upper bounds on portfolio weights | 1 |
risk_free_rate | float | The risk free rate | 0 |
To view the implementation of this model, see the LEAN GitHub repository.
Minimum Variance Optimizer
The MinimumVariancePortfolioOptimizer
seeks to minimize the portfolio variance and achieve a target return.
optimizer = MinimumVariancePortfolioOptimizer()
The following table describes the arguments the model accepts:
Argument | Data Type | Description | Default Value |
---|---|---|---|
minimum_weight | float | The lower bounds on portfolio weights | -1 |
maximum_weight | float | The upper bounds on portfolio weights | 1 |
target_return | float | The target portfolio return | 0.02 (2%) |
To view the implementation of this model, see the LEAN GitHub repository.
Unconstrained Mean Variance Optimizer
The UnconstrainedMeanVariancePortfolioOptimizer
seeks to find the optimal risk-adjusted portfolio that lies on the efficient frontier.
optimizer = UnconstrainedMeanVariancePortfolioOptimizer()
To view the implementation of this model, see the LEAN GitHub repository.
Risk Parity Optimizer
The RiskParityPortfolioOptimizer
seeks to equalize the individual risk contribution to the total portfolio risk from each asset.
optimizer = RiskParityPortfolioOptimizer()
The following table describes the arguments the model accepts:
Argument | Data Type | Description | Default Value |
---|---|---|---|
minimum_weight | float | The lower bounds on portfolio weights | 1e-05 |
maximum_weight | float | The upper bounds on portfolio weights | sys.float_info.max |
To view the implementation of this model, see the LEAN GitHub repository.