Files
OpenBB/website/content/sdk/reference/portfolio/po/ef.md
teh_coderer 79046608b6 Docs Fix (#3543)
* Update generate_terminal_markdown.py

* updates

* update workflows

* Automated Change

* tests

* tests

* Automated Change

* Update test_generate_docs.py

* Automated Change

* updates

* Automated Change

* Update gen-docs.yml

* Update test.yml

* Automated Change

* Update test.yml

* Automated Change

* Update generate_sdk_markdown.py

* Automated Change

* test

* Automated Change

* testtt23

* Automated Change

* Update generate_sdk_markdown.py

* Automated Change

* Automated Change

* added empting reference folders before autogen docs

* updates

* Automated Change

* update tests gitactions

* Automated Change

* up

* Automated Change

* Automated Change

* update pytest

* Automated Change

* tests

* Automated Change

* examples update

* Automated Change

* Update generate_sdk_markdown.py

* Automated Change

* Update test.yml

* Update generate_sdk_markdown.py

* strip

* Automated Change

* Workflow : check test update

* Automated Change

* Automated Change

* Automated Change

* Update test.yml

* Automated Change

* Update test.yml

* Automated Change

* Automated Change

* up

* Automated Change

* Update generate_sdk_markdown.py

* Automated Change

* update workflows

* fix guides

* testing

* Update gh-pages.yml

* Update gh-pages.yml

Co-authored-by: tehcoderer <tehcoderer@users.noreply.github.com>
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: Chavithra <Chavithra@users.noreply.github.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: jose-donato <jose-donato@users.noreply.github.com>
2022-11-25 17:19:08 -05:00

7.4 KiB
Vendored

title, description
title description
ef OpenBB SDK Function

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

ef

Get Efficient Frontier

Source Code: [link]

openbb.portfolio.po.ef(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 <https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html>__.
None True
value float Amount to allocate to portfolio in long positions, by default 1.0 None True
value_short float Amount to allocate to portfolio in short positions, by default 0.0 None True
risk_measure str The risk measure used to optimize the portfolio, by default 'MV'
Possible values are:

- 'MV': Standard Deviation.
- 'MAD': Mean Absolute Deviation.
- 'MSV': Semi Standard Deviation.
- 'FLPM': First Lower Partial Moment (Omega Ratio).
- 'SLPM': Second Lower Partial Moment (Sortino Ratio).
- 'CVaR': Conditional Value at Risk.
- 'EVaR': Entropic Value at Risk.
- 'WR': Worst Realization.
- 'ADD': Average Drawdown of uncompounded cumulative returns.
- 'UCI': Ulcer Index of uncompounded cumulative returns.
- 'CDaR': Conditional Drawdown at Risk of uncompounded cumulative returns.
- 'EDaR': Entropic Drawdown at Risk of uncompounded cumulative returns.
- 'MDD': Maximum Drawdown of uncompounded cumulative returns.
None True
risk_free_rate float Risk free rate, annualized. Used for 'FLPM' and 'SLPM' and Sharpe objective function, by default 0.0 None True
alpha float Significance level of VaR, CVaR, EDaR, DaR, CDaR, EDaR, Tail Gini of losses, by default 0.05 None True
n_portfolios int Number of portfolios to simulate, by default 100 None True
seed int Seed used to generate random portfolios, by default 123 None True

Returns

Type Description
Tuple[ pd.DataFrame,
pd.DataFrame,
pd.DataFrame,
pd.DataFrame,
Optional[pd.DataFrame],
NDArray[floating],
NDArray[floating],
rp.Portfolio,

Examples

from openbb_terminal.sdk import openbb
frontier = openbb.portfolio.po.ef(symbols=["AAPL", "MSFT", "AMZN"])
from openbb_terminal.sdk import openbb
p = openbb.portfolio.po.load(symbols_file_path="~/openbb_terminal/miscellaneous/portfolio_examples/allocation/60_40_Portfolio.xlsx")
frontier = openbb.portfolio.po.ef(portfolio_engine=p)

Display efficient frontier

Source Code: [link]

openbb.portfolio.po.ef_chart(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 <https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html>__.
None True
value float Amount to allocate to portfolio in long positions, by default 1.0 None True
value_short float Amount to allocate to portfolio in short positions, by default 0.0 None True
risk_measure str The risk measure used to optimize the portfolio, by default 'MV'
Possible values are:

- 'MV': Standard Deviation.
- 'MAD': Mean Absolute Deviation.
- 'MSV': Semi Standard Deviation.
- 'FLPM': First Lower Partial Moment (Omega Ratio).
- 'SLPM': Second Lower Partial Moment (Sortino Ratio).
- 'CVaR': Conditional Value at Risk.
- 'EVaR': Entropic Value at Risk.
- 'WR': Worst Realization.
- 'ADD': Average Drawdown of uncompounded cumulative returns.
- 'UCI': Ulcer Index of uncompounded cumulative returns.
- 'CDaR': Conditional Drawdown at Risk of uncompounded cumulative returns.
- 'EDaR': Entropic Drawdown at Risk of uncompounded cumulative returns.
- 'MDD': Maximum Drawdown of uncompounded cumulative returns.
None True
risk_free_rate float Risk free rate, annualized. Used for 'FLPM' and 'SLPM' and Sharpe objective function, by default 0.0 None True
alpha float Significance level of VaR, CVaR, EDaR, DaR, CDaR, EDaR, Tail Gini of losses, by default 0.05 None True
n_portfolios int Number of portfolios to simulate, by default 100 None True
seed int Seed used to generate random portfolios, by default 123 None True

Returns

This function does not return anything


Examples

from openbb_terminal.sdk import openbb
frontier = openbb.portfolio.po.ef_chart(symbols=["AAPL", "MSFT", "AMZN"])
from openbb_terminal.sdk import openbb
p = openbb.portfolio.po.load(symbols_file_path="openbb_terminal/miscellaneous/portfolio_examples/allocation/60_40_Portfolio.xlsx")
frontier = openbb.portfolio.po.ef_chart(portfolio_engine=p)