--- title: equal description: The page provides detailed information about the equally weighted portfolio (a type of portfolio optimization) in OpenBB Finance with parameters, returns and python example codes. keywords: - OpenBB Finance documentation - Equally weighted portfolio - Portfolio optimization - OpenBB Portfolio po.equal function - Portfolio symbols - Interval, start date, end date in portfolio - Returns in investment - Python Finance library - Portfolio performance --- import HeadTitle from '@site/src/components/General/HeadTitle.tsx'; Equally weighted portfolio, where weight = 1/# of symbols Source Code: [[link](https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/portfolio/portfolio_optimization/po_model.py#L2063)] ```python openbb.portfolio.po.equal(portfolio_engine: portfolio_optimization.po_engine.PoEngine = None, symbols: List[str] = None, kwargs: Any) ``` --- ## Parameters | Name | Type | Description | Default | Optional | | ---- | ---- | ----------- | ------- | -------- | | portfolio_engine | PoEngine | Portfolio optimization engine, by default None
Use `portfolio.po.load` to load a portfolio engine | None | True | | symbols | List[str] | List of symbols, by default None | None | True | | interval | str | Interval to get data, by default '3y' | None | True | | start_date | str | If not using interval, start date string (YYYY-MM-DD), by default "" | None | True | | end_date | str | If not using interval, end date string (YYYY-MM-DD). If empty use last weekday, by default "" | None | True | | log_returns | bool | If True use log returns, else arithmetic returns, by default False | None | True | | freq | str | Frequency of returns, by default 'D'. Options: 'D' for daily, 'W' for weekly, 'M' for monthly | None | True | | maxnan | float | Maximum percentage of NaNs allowed in the data, by default 0.05 | None | True | | threshold | float | Value used to replace outliers that are higher than threshold, by default 0.0 | None | True | | method | str | Method used to fill nan values, by default 'time'
For more information see `interpolate `__. | None | True | | value | float | Amount to allocate to portfolio in long positions, by default 1.0 | None | True | --- ## Returns | Type | Description | | ---- | ----------- | | Tuple[pd.DataFrame, Dict] | Tuple with weights and performance dictionary | --- ## Examples ```python from openbb_terminal.sdk import openbb openbb.portfolio.po.equal(symbols=["AAPL", "MSFT", "AMZN"]) ``` ``` ( value AAPL 0.33333 MSFT 0.33333 AMZN 0.33333, {'Return': 0.22459515482054027, 'Volatility': 0.32898777497511816, 'Sharpe ratio': 0.6826854123607685}) ``` ```python from openbb_terminal.sdk import openbb p = openbb.portfolio.po.load(symbols_file_path="~/openbb_terminal/miscellaneous/portfolio_examples/allocation/60_40_Portfolio.xlsx") weights, performance = openbb.portfolio.po.equal(portfolio_engine=p) ``` ---