---
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)
```
---