mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-13 12:51:49 +00:00
19 lines
99 KiB
HTML
19 lines
99 KiB
HTML
<!doctype html>
|
||
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-sdk docs-doc-id-guides/intros/portfolio/index">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="generator" content="Docusaurus v2.2.0">
|
||
<title data-rh="true">Portfolio | OpenBB Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://docs.openbb.co/img/banner.png"><meta data-rh="true" name="twitter:image" content="https://docs.openbb.co/img/banner.png"><meta data-rh="true" property="og:url" content="https://docs.openbb.co/sdk/guides/intros/portfolio"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-sdk-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-sdk-current"><meta data-rh="true" property="og:title" content="Portfolio | OpenBB Docs"><meta data-rh="true" name="description" content="The Portfolio menu, from the OpenBB Terminal, is wrapped into a Python SDK layer, enabling users to programmatically work with the data in a flexible environment, fully customizable for the needs of any user. This guide will introduce the functions within the main Portfolio module, and walk through examples demonstrating how to work with a portfolio file and object."><meta data-rh="true" property="og:description" content="The Portfolio menu, from the OpenBB Terminal, is wrapped into a Python SDK layer, enabling users to programmatically work with the data in a flexible environment, fully customizable for the needs of any user. This guide will introduce the functions within the main Portfolio module, and walk through examples demonstrating how to work with a portfolio file and object."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.openbb.co/sdk/guides/intros/portfolio"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/sdk/guides/intros/portfolio" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/sdk/guides/intros/portfolio" hreflang="x-default"><script data-rh="true" defer="true" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon="{"token": "100eb319cb954b9ea86aa757652c0958"}"></script><link rel="preconnect" href="https://www.google-analytics.com">
|
||
<link rel="preconnect" href="https://www.googletagmanager.com">
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YN9SL785J6"></script>
|
||
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-YN9SL785J6",{anonymize_ip:!0})</script><link rel="stylesheet" href="/assets/css/styles.900aa1c9.css">
|
||
<link rel="preload" href="/assets/js/runtime~main.6abb557d.js" as="script">
|
||
<link rel="preload" href="/assets/js/main.645ad6c2.js" as="script">
|
||
</head>
|
||
<body class="navigation-with-keyboard" data-theme="light">
|
||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
|
||
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav class="border-b border-grey-600 lg:px-12 header_docs_sdk navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div class="flex items-center gap-x-[56px]"><a class="ml-5 mb-1 md:mb-0 md:ml-0" href="/"><svg viewBox="0 0 170 17" width="170" height="17" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-white"><path d="M106.107 1.889v11.334l-.961-.946-.959-.945-.962-.943-.959-.946-.961-.943-.962-.945-.959-.944-.961-.945-.96-.943-.961-.946-.96-.943-.96-.945H92.66V17H94.582V4.723l.96.943.96.945.961.944.96.945.961.943.959.946.962.943.961.945.959.946.962.943.959.945.961.944.96.945h.961V1.889H106.107ZM137.03 7.557h-1.921V1.889h-11.524V17h15.37V7.546h-1.92l-.005.01Zm-11.524-.946V3.773h7.683v3.78h-7.683V6.61Zm11.524 3.778v4.727h-11.524v-5.67h11.524v.943ZM168.901 7.557h-2.88V1.889h-11.526V0h-1.921v1.889h1.921V17h15.365V7.546l-.959.01Zm-12.485-.946V3.773h7.684v3.78h-7.684V6.61Zm11.526 3.778v4.727h-11.526v-5.67h11.526v.943ZM75.314 1.889H61.867V17H77.23V15.111H63.787V11.332h11.521V9.443H63.788V3.777H77.23V1.89h-1.916ZM13.444 1.889H0V17h15.367V1.889h-1.922Zm0 2.834V15.11H1.918V3.773h11.527v.95ZM44.397 1.889H30.952V17h1.92v-5.666h13.445V1.88h-1.92v.009Zm0 2.834V9.45H32.873V3.773h11.524v.95Z" fill="currentColor"></path></svg></a><div class="hidden p-2 border border-grey-400 rounded h-[34px] items-center bg-grey-900 gap-3 md:flex"><a class="text-xs rounded px-2 py-1 hover:text-white hover:no-underline text-grey-500 hover:bg-grey-800" href="/terminal">Terminal</a><a class="text-xs px-2 py-1 rounded hover:text-white hover:no-underline text-grey-100 bg-grey-800" href="/sdk">SDK</a></div></div></div><div class="navbar__items navbar__items--right"><div class="flex gap-4 ml-4 md:ml-0"><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="" data-state="closed" class="bg-grey-900 radix-state-open:text-white hover:border-grey-200 hover:text-grey-200 radix-state-open:border-white border -mt-[0.6px] h-[34px] w-[34px] text-grey-400 border-grey-400 rounded flex items-center justify-center"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><div class="searchBox_ZlJk"><div class="dsla-search-wrapper"><div class="dsla-search-field" data-tags="default,docs-default-current,docs-sdk-current"></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebar_njMd"><nav class="menu thin-scrollbar mt-[40px] !px-10 text-sm !pb-10 menu_Y1UP"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/sdk">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/sdk/quickstart/requirements">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/sdk/guides/basics">Using OpenBB SDK</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/basics">Basics</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/sdk/guides/intros/alternative">Intros</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/alternative">Alternative</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/crypto">Crypto</a><button aria-label="Toggle the collapsible sidebar category 'Crypto'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/econometrics">Econometrics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/economy">Economy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/etf">ETF</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/forecast">Forecast</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/forex">Forex</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/futures">Futures</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" aria-expanded="true" tabindex="0" href="/sdk/guides/intros/portfolio">Portfolio</a><button aria-label="Toggle the collapsible sidebar category 'Portfolio'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/portfolio/po">Portfolio Optimization</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/quantitative-analysis">Quantitative Analysis</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/stocks">Stocks</a><button aria-label="Toggle the collapsible sidebar category 'Stocks'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/ta">Technical Analysis</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/sdk/guides/advanced/api-keys">Advanced</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/sdk/reference">SDK Reference</a><button aria-label="Toggle the collapsible sidebar category 'SDK Reference'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/sdk/showcase">Showcase</a></li></ul></nav></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_OVgt"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Using OpenBB SDK</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Intros</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Portfolio</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_bxCs"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Portfolio</h1></header><p>The <a href="/terminal/guides/intros/portfolio">Portfolio menu</a>, from the OpenBB Terminal, is wrapped into a Python SDK layer, enabling users to programmatically work with the data in a flexible environment, fully customizable for the needs of any user. This guide will introduce the functions within the main Portfolio module, and walk through examples demonstrating how to work with a portfolio file and object.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use">How to Use<a class="hash-link" href="#how-to-use" title="Direct link to heading"></a></h2><p>Below is a brief description of each function within the Portfolio module:</p><table><thead><tr><th align="left">Path</th><th align="center">Type</th><th align="right">Description</th></tr></thead><tbody><tr><td align="left">openbb.portfolio.alloc</td><td align="center">Sub-Module</td><td align="right">Allocation Metrics Compared to the Benchmark</td></tr><tr><td align="left">openbb.portfolio.bench</td><td align="center">Function</td><td align="right">Select a Benchmark for the Portfolio</td></tr><tr><td align="left">openbb.portfolio.distr</td><td align="center">Function</td><td align="right">Distribution of Daily Returns</td></tr><tr><td align="left">openbb.portfolio.dret</td><td align="center">Function</td><td align="right">Daily Returns</td></tr><tr><td align="left">openbb.portfolio.es</td><td align="center">Function</td><td align="right">Expected Shortfall</td></tr><tr><td align="left">openbb.portfolio.holdp</td><td align="center">Function</td><td align="right">Holdings of Assets as a %</td></tr><tr><td align="left">openbb.portfolio.holdv</td><td align="center">Function</td><td align="right">Holdings of Assets as an Absolute Value</td></tr><tr><td align="left">openbb.portfolio.load</td><td align="center">Function</td><td align="right">Load a Portfolio File</td></tr><tr><td align="left">openbb.portfolio.maxdd</td><td align="center">Function</td><td align="right">Maximum Drawdown</td></tr><tr><td align="left">openbb.portfolio.metric</td><td align="center">Sub-Module</td><td align="right">Risk and Portfolio Metrics</td></tr><tr><td align="left">openbb.portfolio.mret</td><td align="center">Function</td><td align="right">Monthly Returns</td></tr><tr><td align="left">openbb.portfolio.om</td><td align="center">Function</td><td align="right">Omega Ratio</td></tr><tr><td align="left">openbb.portfolio.perf</td><td align="center">Function</td><td align="right">Portfolio Performance vs Benchmark</td></tr><tr><td align="left">openbb.portfolio.po</td><td align="center">Sub-Module</td><td align="right">Portfolio Optimization Sub Menu</td></tr><tr><td align="left">openbb.portfolio.rbeta</td><td align="center">Function</td><td align="right">Rolling Beta of Portfolio and Benchmark Returns</td></tr><tr><td align="left">openbb.portfolio.rsharpe</td><td align="center">Function</td><td align="right">Rolling Sharpe Ratio</td></tr><tr><td align="left">openbb.portfolio.rsort</td><td align="center">Function</td><td align="right">Rolling Sortino Ratio</td></tr><tr><td align="left">openbb.portfolio.rvol</td><td align="center">Function</td><td align="right">Rolling Volatility</td></tr><tr><td align="left">openbb.portfolio.show</td><td align="center">Function</td><td align="right">Portfolio Transactions</td></tr><tr><td align="left">openbb.portfolio.summary</td><td align="center">Function</td><td align="right">Summary of Portfolio and Benchmark Returns</td></tr><tr><td align="left">openbb.portfolio.var</td><td align="center">Function</td><td align="right">Portfolio VaR</td></tr><tr><td align="left">openbb.portfolio.yret</td><td align="center">Function</td><td align="right">Yearly Returns</td></tr></tbody></table><p>Alteratively, the contents of the Porfolio module is printed with:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token builtin" style="color:rgb(86, 156, 214)">help</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Many of the functions in this module will also have a companion command, <code>_chart</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="portfolio-files">Portfolio Files<a class="hash-link" href="#portfolio-files" title="Direct link to heading"></a></h3><p>Portfolio files are spreadsheets (xlsx or csv files) containing historical trades which add up to represent a net balance in the Portfolio Engine. Users should keep their collection of holdings files in the OpenBBUserData folder, <code>~/OpenBBUserData/portfolio/holdings</code>. They are shared resources with the CLI Terminal, and sample files are included within the installation folder. See the <a href="https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/miscellaneous/portfolio_examples/holdings" target="_blank" rel="noopener noreferrer">source code</a> on GitHub to view and download them directly. We recommend using the example files as a template when creating a new portfolio because of specific formatting requirements. The table below illustrates the required column titles:</p><table><thead><tr><th align="left">Date</th><th align="left">Type</th><th align="left">Ticker</th><th align="left">Side</th><th align="right">Price</th><th align="right">Quantity</th><th align="right">Fees</th><th align="right">Investment</th><th align="left">Currency</th><th align="left">Sector</th><th align="left">Industry</th><th align="left">Country</th><th align="left">Region</th></tr></thead><tbody><tr><td align="left">2021-10-29</td><td align="left">STOCK</td><td align="left">K.TO</td><td align="left">Buy</td><td align="right">7.93</td><td align="right">190</td><td align="right">20</td><td align="right">1526.7</td><td align="left">CAD</td><td align="left">Basic Materials</td><td align="left">Gold</td><td align="left">Canada</td><td align="left">North America</td></tr><tr><td align="left">2015-01-02</td><td align="left">ETF</td><td align="left">SPY</td><td align="left">Buy</td><td align="right">178.28</td><td align="right">5.6</td><td align="right">0</td><td align="right">998.368</td><td align="left">USD</td><td align="left">-</td><td align="left">-</td><td align="left">-</td><td align="left">-</td></tr><tr><td align="left">2015-01-01</td><td align="left">CRYPTO</td><td align="left">BTC-USD</td><td align="left">Buy</td><td align="right">1000</td><td align="right">2</td><td align="right">0</td><td align="right">2000</td><td align="left">USD</td><td align="left">Crypto</td><td align="left">Crypto</td><td align="left">Crypto</td><td align="left">Crypto</td></tr><tr><td align="left">2011-01-03</td><td align="left">STOCK</td><td align="left">AMZN</td><td align="left">Buy</td><td align="right">9.22</td><td align="right">100</td><td align="right">0</td><td align="right">922</td><td align="left">USD</td><td align="left">Consumer Cyclical</td><td align="left">Internet Retail</td><td align="left">United States</td><td align="left">North America</td></tr><tr><td align="left">2011-01-03</td><td align="left">STOCK</td><td align="left">AAPL</td><td align="left">Buy</td><td align="right">11.74</td><td align="right">100</td><td align="right">0</td><td align="right">1174</td><td align="left">USD</td><td align="left">Technology</td><td align="left">Consumer Electronics</td><td align="left">United States</td><td align="left">North America</td></tr><tr><td align="left">2011-01-03</td><td align="left">STOCK</td><td align="left">MSFT</td><td align="left">Buy</td><td align="right">28.04</td><td align="right">100</td><td align="right">0</td><td align="right">2804</td><td align="left">USD</td><td align="left">Technology</td><td align="left">Software-Infrastructure</td><td align="left">United States</td><td align="left">North America</td></tr><tr><td align="left">2011-01-03</td><td align="left">STOCK</td><td align="left">TSLA</td><td align="left">Buy</td><td align="right">1.76</td><td align="right">100</td><td align="right">0</td><td align="right">176</td><td align="left">USD</td><td align="left">Consumer Cyclical</td><td align="left">Auto Manufacturers</td><td align="left">United States</td><td align="left">North America</td></tr><tr><td align="left">2011-01-03</td><td align="left">STOCK</td><td align="left">GOOG</td><td align="left">Buy</td><td align="right">15.01</td><td align="right">100</td><td align="right">0</td><td align="right">1501</td><td align="left">USD</td><td align="left">Communication Services</td><td align="left">Internet Content & Information</td><td align="left">United States</td><td align="left">North America</td></tr></tbody></table><p>Not every column needs to contain a value, but they must exist despite being empty. The accepted values for <code>Type</code> are currently:</p><ul><li>Crypto</li><li>ETF</li><li>Stock</li><li>More Coming Soon!</li></ul><p>The table above is supplied here as a portfolio XLSX file - <a href="https://github.com/OpenBB-finance/OpenBBTerminal/files/10096861/example.xlsx" target="_blank" rel="noopener noreferrer">example.xlsx</a> - save the file in the OpenBBUserData folder, <code>~/OpenBBUserData/portfolio/holdings/</code></p><p>Categorization will be done automatically where the information is not supplied. To manually set the asset categorization (region, sector, industry, country), use the template file, <code>Public_Equity_Orderbook.xlsx</code>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a class="hash-link" href="#examples" title="Direct link to heading"></a></h2><p>The examples in this guide will assume that the import statements below are included at the top of the Python script or Jupyter Notebook.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="import-statements">Import Statements<a class="hash-link" href="#import-statements" title="Direct link to heading"></a></h3><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token keyword" style="color:rgb(86, 156, 214)">from</span><span class="token plain"> openbb_terminal</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">sdk </span><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> openbb</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> pandas </span><span class="token keyword" style="color:rgb(86, 156, 214)">as</span><span class="token plain"> pd</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token comment" style="color:rgb(106, 153, 85)"># %matplotlib inline (uncomment if using a Jupyter Notebook or an Interactive Window)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="load">Load<a class="hash-link" href="#load" title="Direct link to heading"></a></h3><p>Taking the downloaded <code>example.xlsx</code> file from the previous section, let's load it into the Portfolio Engine. There are a few parameters available for this function, and an object is returned.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token builtin" style="color:rgb(86, 156, 214)">help</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-console codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Get PortfolioEngine object</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Parameters</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> ----------</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> transactions_file_path : str</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Path to transactions file</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> benchmark_symbol : str</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Benchmark ticker to download data</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> full_shares : bool</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Whether to mimic the portfolio trades exactly (partial shares) or round down the</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> quantity to the nearest number</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> risk_free_rate : float</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Risk free rate in float format</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Returns</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -------</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> PortfolioEngine</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> PortfolioEngine class instance, this will hold transactions and perform calculations</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Examples</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --------</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> >>> from openbb_terminal.sdk import openbb</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> >>> p = openbb.portfolio.load("openbb_terminal/miscellaneous/portfolio_examples/holdings/example.csv")</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>The syntax should resemble something like the sample below; don't forget to modify the path to match the local path.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">P </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> transactions_file_path </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'/Users/path_to/OpenBBUserData/portfolio/holdings/example.xlsx'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> benchmark_symbol </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'VTI'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> full_shares </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">False</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> risk_free_rate </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">3.0</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-console codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">Preprocessing transactions: 100%|██████████| 14/14 [00:01<00:00, 8.82it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Loading price data: 100%|██████████| 3/3 [00:01<00:00, 2.64it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Calculating returns: 100%|██████████| 1/1 [00:00<00:00, 14.52it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Loading benchmark: 100%|██████████| 4/4 [00:04<00:00, 1.21s/it]</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-portfolio-object">The Portfolio Object<a class="hash-link" href="#the-portfolio-object" title="Direct link to heading"></a></h3><p>A Portfolio Object is assigned to the variable, <code>P</code>. The created object, or parts of it, are used as inputs to the other functions in this module. It can also be interacted with directly, for example, to change the benchmark ticker. <code>SPY</code> is a holding in the example portfolio, so let's stick with <code>VTI</code> as the performance benchmark.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">set_benchmark</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">symbol </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'SPY'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Loading benchmark</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">50</span><span class="token operator" style="color:rgb(212, 212, 212)">%</span><span class="token operator" style="color:rgb(212, 212, 212)">|</span><span class="token plain">█████ </span><span class="token operator" style="color:rgb(212, 212, 212)">|</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">2</span><span class="token operator" style="color:rgb(212, 212, 212)">/</span><span class="token number" style="color:rgb(181, 206, 168)">4</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token number" style="color:rgb(181, 206, 168)">00</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token number" style="color:rgb(181, 206, 168)">00</span><span class="token operator" style="color:rgb(212, 212, 212)"><</span><span class="token number" style="color:rgb(181, 206, 168)">00</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token number" style="color:rgb(181, 206, 168)">00</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">69it</span><span class="token operator" style="color:rgb(212, 212, 212)">/</span><span class="token plain">s</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">benchmark_ticker</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">SPY</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Populating a list of tickers from the Portfolio Object is accomplished by assigning a variable to it:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">tickers </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tickers_list</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">tickers</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">'SPY'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'TSLA'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'K.TO'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'AAPL'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'AMZN'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'MSFT'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'BTC-USD'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'GOOG'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="show">Show<a class="hash-link" href="#show" title="Direct link to heading"></a></h3><p><code>openbb.portfolio.show</code> is for displaying the transactions from the loaded portfolio file. Scroll back up to view the output of this function again.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">show</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="perf">Perf<a class="hash-link" href="#perf" title="Direct link to heading"></a></h3><p>Performance against the benchmark is summarized in a table with, <code>openbb.portfolio.perf</code>.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">perf</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left"></th><th align="left">Portfolio</th><th align="left">Benchmark</th><th align="left">Difference</th></tr></thead><tbody><tr><td align="left">Total Investment</td><td align="left">11102.07</td><td align="left">11102.07</td><td align="left">-</td></tr><tr><td align="left">Total Value</td><td align="left">114027.38</td><td align="left">36203.96</td><td align="left">77823.43</td></tr><tr><td align="left">Total % Return</td><td align="left">927.08%</td><td align="left">226.10%</td><td align="left">700.98%</td></tr><tr><td align="left">Total Abs Return</td><td align="left">102925.31</td><td align="left">25101.89</td><td align="left">77823.43</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a class="hash-link" href="#summary" title="Direct link to heading"></a></h3><p><code>openbb.portfolio.summary</code> prints a table of risk metrics, comparing the portfolio against the benchmark.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">summary</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left"></th><th align="left">Portfolio</th><th align="left">Benchmark</th><th align="left">Difference</th></tr></thead><tbody><tr><td align="left">Volatility</td><td align="left">1.65%</td><td align="left">0.99%</td><td align="left">0.66%</td></tr><tr><td align="left">Skew</td><td align="left">-0.32</td><td align="left">-0.61</td><td align="left">0.29</td></tr><tr><td align="left">Kurtosis</td><td align="left">8.80</td><td align="left">16.87</td><td align="left">-8.079</td></tr><tr><td align="left">Maximum Drawdown</td><td align="left">-59.05%</td><td align="left">-35.00%</td><td align="left">-24.05%</td></tr><tr><td align="left">Sharpe ratio</td><td align="left">0.05</td><td align="left">0.039</td><td align="left">0.011</td></tr><tr><td align="left">Sortino ratio</td><td align="left">0.06</td><td align="left">0.04</td><td align="left">0.021</td></tr><tr><td align="left">R2 Score</td><td align="left">41.36%</td><td align="left">41.36%</td><td align="left">0.00%</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="maxdd">MaxDD<a class="hash-link" href="#maxdd" title="Direct link to heading"></a></h3><p><code>openbb.portfolio.maxdd</code> calculates the maximum drawdown as price and % value; it returns a Tuple.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">holdings</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">dd </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">maxdd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">dd </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> pd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">DataFrame</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">dd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">dd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'Total'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Portfolio % Drawdown'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">holdings </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> pd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">DataFrame</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">holdings</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">holdings</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'Total'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Portfolio Value'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">dd </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> dd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">join</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">holdings</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">dd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> dd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">strftime</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">date_format</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">'%Y-%m-%d'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">dd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tail</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">Date</th><th align="right">Portfolio % Drawdown</th><th align="right">Portfolio Value</th></tr></thead><tbody><tr><td align="left">2022-11-21</td><td align="right">-0.58</td><td align="right">109442</td></tr><tr><td align="left">2022-11-22</td><td align="right">-0.57</td><td align="right">111257</td></tr><tr><td align="left">2022-11-23</td><td align="right">-0.56</td><td align="right">114017</td></tr><tr><td align="left">2022-11-24</td><td align="right">-0.56</td><td align="right">114027</td></tr><tr><td align="left">2022-11-25</td><td align="right">-0.56</td><td align="right">113302</td></tr></tbody></table><p>MaxDD also has a <code>_chart</code> command, and is called with:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">maxdd_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/204072456-f6b8e038-08ef-4ac5-9920-14a9c1e4197f.png" alt="openbb.portfolio.maxdd_chart" title="openbb.portfolio.maxdd_chart" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="rsharpe">RSharpe<a class="hash-link" href="#rsharpe" title="Direct link to heading"></a></h3><p>Calculate a rolling sharpe ratio over a specified window.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">rs </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rsharpe</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> window </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'3m'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">rs</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'portfolio'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Portfolio Sharpe'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'benchmark'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Benchmark Sharpe'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">rs</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> rs</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">strftime</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">date_format</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">'%Y-%m-%d'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">rs</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tail</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">Date</th><th align="right">Portfolio Sharpe</th><th align="right">Benchmark Sharpe</th></tr></thead><tbody><tr><td align="left">2022-11-21</td><td align="right">-0.15</td><td align="right">0.02</td></tr><tr><td align="left">2022-11-22</td><td align="right">-0.13</td><td align="right">0.05</td></tr><tr><td align="left">2022-11-23</td><td align="right">-0.09</td><td align="right">0.07</td></tr><tr><td align="left">2022-11-24</td><td align="right">-0.09</td><td align="right">0.08</td></tr><tr><td align="left">2022-11-25</td><td align="right">-0.09</td><td align="right">0.11</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="rvol">RVol<a class="hash-link" href="#rvol" title="Direct link to heading"></a></h3><p><code>openbb.portfolio.rvol</code> has the same input parameters as <code>rsharpe</code>.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">rv </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rvol</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> window </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'3m'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">rv</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'portfolio'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Portfolio Volatility'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'benchmark'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Benchmark Volatility'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">rv</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> rv</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">strftime</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">date_format</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">'%Y-%m-%d'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">rv</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tail</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">Date</th><th align="right">Portfolio Volatility</th><th align="right">Benchmark Volatility</th></tr></thead><tbody><tr><td align="left">2022-11-23</td><td align="right">0.021727</td><td align="right">0.014490</td></tr><tr><td align="left">2022-11-24</td><td align="right">0.021715</td><td align="right">0.014439</td></tr><tr><td align="left">2022-11-25</td><td align="right">0.021596</td><td align="right">0.014256</td></tr><tr><td align="left">2022-11-26</td><td align="right">0.021591</td><td align="right">0.014256</td></tr><tr><td align="left">2022-11-27</td><td align="right">0.021592</td><td align="right">0.014256</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="dret">DRet<a class="hash-link" href="#dret" title="Direct link to heading"></a></h3><p><code>openbb.portfolio.dret</code> returns a DataFrame with daily returns of the portfolio and benchmark.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">returns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">portfolio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">dret</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">P</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">returns</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'portfolio'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Portfolio % Returns'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'benchmark'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Benchmark % Returns'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">returns</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> returns</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">index</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'Date'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">print</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">returns</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tail</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">Date</th><th align="right">Portfolio % Returns</th><th align="right">Benchmark % Returns</th></tr></thead><tbody><tr><td align="left">2022-11-21</td><td align="right">-0.03</td><td align="right">-0.00</td></tr><tr><td align="left">2022-11-22</td><td align="right">0.02</td><td align="right">0.01</td></tr><tr><td align="left">2022-11-23</td><td align="right">0.02</td><td align="right">0.01</td></tr><tr><td align="left">2022-11-24</td><td align="right">0.00</td><td align="right">0.00</td></tr><tr><td align="left">2022-11-25</td><td align="right">-0.01</td><td align="right">0.00</td></tr></tbody></table><p>Read the <a href="https://docs.openbb.co/sdk/guides/intros/portfolio/po" target="_blank" rel="noopener noreferrer">Portfolio Optimization Intro</a> to learn about the optimization features, and the parameters preset template.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenBB-finance/OpenBBTerminal/edit/main/website/content/sdk/guides/intros/portfolio/index.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/sdk/guides/intros/futures"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Futures</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/sdk/guides/intros/portfolio/po"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Portfolio Optimization</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_jeP5 thin-scrollbar text-sm mt-[48px] xl:max-w-[216px] theme-doc-toc-desktop"><p class="uppercase text-sm font-bold text-grey-600 dark:text-grey-200 tracking-widest mb-2">On this page</p><ul class="border-l border-grey-300 dark:border-grey-600 list-none pl-4"><li class="pb-1"><a href="#how-to-use" class="text-grey-400 capitalize !no-underline">How to Use</a><ul class="list-none ml-1 border-l border-grey-300 dark:border-grey-600 mt-2"><li class="pb-1 pl-3"><a href="#portfolio-files" class="text-grey-400 capitalize !no-underline">Portfolio Files</a></li></ul></li><li class="py-1"><a href="#examples" class="text-grey-400 capitalize !no-underline">Examples</a><ul class="list-none ml-1 border-l border-grey-300 dark:border-grey-600 mt-2"><li class="pb-1 pl-3"><a href="#import-statements" class="text-grey-400 capitalize !no-underline">Import Statements</a></li><li class="py-1 pl-3"><a href="#load" class="text-grey-400 capitalize !no-underline">Load</a></li><li class="py-1 pl-3"><a href="#the-portfolio-object" class="text-grey-400 capitalize !no-underline">The Portfolio Object</a></li><li class="py-1 pl-3"><a href="#show" class="text-grey-400 capitalize !no-underline">Show</a></li><li class="py-1 pl-3"><a href="#perf" class="text-grey-400 capitalize !no-underline">Perf</a></li><li class="py-1 pl-3"><a href="#summary" class="text-grey-400 capitalize !no-underline">Summary</a></li><li class="py-1 pl-3"><a href="#maxdd" class="text-grey-400 capitalize !no-underline">MaxDD</a></li><li class="py-1 pl-3"><a href="#rsharpe" class="text-grey-400 capitalize !no-underline">RSharpe</a></li><li class="py-1 pl-3"><a href="#rvol" class="text-grey-400 capitalize !no-underline">RVol</a></li><li class="py-1 pl-3"><a href="#dret" class="text-grey-400 capitalize !no-underline">DRet</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="px-4 border-t dark:border-grey-600/50 lg:px-12 py-14 bg-white dark:bg-grey-900 z-10 overflow-hidden"><div class="flex w-full flex-col justify-between gap-10 md:flex-row md:items-start"><div class="ml-2 mb-2 space-y-10 md:m-0"><a aria-label="Home" class="hover:text-grey-700 dark:text-white dark:hover:text-gray-50" href="/"><svg viewBox="0 0 170 17" width="170" height="17" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-[14px] w-[140px]"><path d="M106.107 1.889v11.334l-.961-.946-.959-.945-.962-.943-.959-.946-.961-.943-.962-.945-.959-.944-.961-.945-.96-.943-.961-.946-.96-.943-.96-.945H92.66V17H94.582V4.723l.96.943.96.945.961.944.96.945.961.943.959.946.962.943.961.945.959.946.962.943.959.945.961.944.96.945h.961V1.889H106.107ZM137.03 7.557h-1.921V1.889h-11.524V17h15.37V7.546h-1.92l-.005.01Zm-11.524-.946V3.773h7.683v3.78h-7.683V6.61Zm11.524 3.778v4.727h-11.524v-5.67h11.524v.943ZM168.901 7.557h-2.88V1.889h-11.526V0h-1.921v1.889h1.921V17h15.365V7.546l-.959.01Zm-12.485-.946V3.773h7.684v3.78h-7.684V6.61Zm11.526 3.778v4.727h-11.526v-5.67h11.526v.943ZM75.314 1.889H61.867V17H77.23V15.111H63.787V11.332h11.521V9.443H63.788V3.777H77.23V1.89h-1.916ZM13.444 1.889H0V17h15.367V1.889h-1.922Zm0 2.834V15.11H1.918V3.773h11.527v.95ZM44.397 1.889H30.952V17h1.92v-5.666h13.445V1.88h-1.92v.009Zm0 2.834V9.45H32.873V3.773h11.524v.95Z" fill="currentColor"></path></svg></a><a class="flex h-[32px] w-[172px] rounded-md border border-grey-300 hover:bg-grey-100 dark:border-white bg-grey-100 dark:bg-white text-xs hover:no-underline" href="https://github.com/OpenBB-finance/OpenBBTerminal" target="_blank" rel="noreferrer"><span class="inline-flex w-[60%] items-center gap-x-[6px] px-3 py-2 text-grey-800"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-bottom:3px" class="h-[14.67px] w-[14.67px]"><path d="m12 1 3.263 7.439L23 9.403l-5.72 5.562L18.798 23 12 18.999 5.202 23l1.518-8.035L1 9.403l7.737-.964L12 1Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg>Star us</span><span class="inline-flex w-[40%] items-center justify-center rounded-r-md bg-grey-900 text-grey-500">0</span></a></div><div class="grid grid-cols-1 gap-6 sm:gap-16 md:w-2/3 md:grid-cols-4 lg:w-[68%]"><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Company<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/why-openbb">Why OpenBB?</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/community">Community</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/company">About us</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/company/careers">Careers</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/company/partners">Partners</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Company</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/why-openbb">Why OpenBB?</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/community">Community</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/company">About us</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/company/careers">Careers</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/company/partners">Partners</a></li></ul></div></div><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Products<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/products/terminal">OpenBB Terminal</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://docs.openbb.co/terminal">Terminal Docs</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/products/bot">OpenBB Bot</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://my.openbb.co/app/docs">Bot Docs</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Products</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/products/terminal">OpenBB Terminal</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://docs.openbb.co/terminal">Terminal Docs</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/products/bot">OpenBB Bot</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://my.openbb.co/app/docs">Bot Docs</a></li></ul></div></div><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Community<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/community">Contributors</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/blog">Blog & Stories</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/newsletter">Newsletter</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://www.openbb.design">Brand Book</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Community</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/community">Contributors</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/blog">Blog & Stories</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/newsletter">Newsletter</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://www.openbb.design">Brand Book</a></li></ul></div></div><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Others<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/request-a-feature">Request feature</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/support">Support</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/contact">Contact</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/sitemap">Sitemap</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Others</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/request-a-feature">Request feature</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/support">Support</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/contact">Contact</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/sitemap">Sitemap</a></li></ul></div></div></div></div><hr><div class="flex w-full flex-col items-center justify-between gap-4 md:flex-row md:gap-0"><div class="flex flex-col items-start justify-end gap-4 self-start font-light text-grey-500 md:flex-row md:items-center"><p class="text-sm">© 2023 OpenBB</p><div class="_divider-x hidden h-[20px] border-[0.5px] md:block"></div><a class="text-sm dark:hover:text-white" href="/legal/privacy-policy">Privacy Policy</a><div class="_divider-x hidden h-[20px] border-[0.5px] md:block"></div><a class="text-sm dark:hover:text-white" href="/legal/terms-of-service">Terms</a></div><div class="mt-4 mb-10 grid grid-cols-4 gap-4 self-start md:my-0 md:grid-cols-8 md:self-end"><a aria-label="GitHub Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://github.com/OpenBB-finance/OpenBBTerminal"><svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M6 12.76c-3.333 1-3.333-1.667-4.667-2l4.667 2Zm4.667 2v-2.58a2.246 2.246 0 0 0-.627-1.74c2.094-.233 4.294-1.027 4.294-4.667 0-.93-.359-1.825-1-2.5a3.38 3.38 0 0 0-.06-2.513s-.787-.233-2.607.987a8.92 8.92 0 0 0-4.667 0C4.18.527 3.393.76 3.393.76a3.38 3.38 0 0 0-.06 2.513 3.627 3.627 0 0 0-1 2.52c0 3.614 2.2 4.407 4.294 4.667A2.248 2.248 0 0 0 6 12.18v2.58" fill="currentColor"></path><path d="M10.667 14.76v-2.58a2.246 2.246 0 0 0-.627-1.74c2.094-.233 4.294-1.027 4.294-4.667 0-.93-.359-1.825-1-2.5a3.38 3.38 0 0 0-.06-2.513s-.787-.233-2.607.987a8.92 8.92 0 0 0-4.667 0C4.18.527 3.393.76 3.393.76a3.38 3.38 0 0 0-.06 2.513 3.627 3.627 0 0 0-1 2.52c0 3.614 2.2 4.407 4.294 4.667A2.248 2.248 0 0 0 6 12.18v2.58m0-2c-3.333 1-3.333-1.667-4.667-2l4.667 2Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><a aria-label="LinkedIn Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://www.linkedin.com/company/openbb-finance/"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M13 21H9V9h4v2a4.618 4.618 0 0 1 3.525-1.763A4.5 4.5 0 0 1 21 13.75V21h-4v-6.75a2.265 2.265 0 0 0-2.247-1.944A1.815 1.815 0 0 0 13 14.25V21Zm-6 0H3V9h4v12ZM5 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z" fill="currentColor"></path></svg></a><a aria-label="Twitter Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://twitter.com/openbb_finance"><svg viewBox="0 0 16 14" width="16" height="14" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M14.115 2.481A3.36 3.36 0 0 0 15.56.618a6.472 6.472 0 0 1-2.085.817A3.229 3.229 0 0 0 9.532.778c-1.308.718-1.985 2.246-1.654 3.73C5.24 4.37 2.78 3.092 1.114.987c-.87 1.54-.426 3.507 1.015 4.497a3.208 3.208 0 0 1-1.486-.422v.042c0 1.604 1.102 2.985 2.634 3.302-.484.135-.99.155-1.483.058.431 1.372 1.663 2.31 3.067 2.339A6.48 6.48 0 0 1 0 12.199a9.12 9.12 0 0 0 5.032 1.513 9.157 9.157 0 0 0 6.623-2.787 9.644 9.644 0 0 0 2.716-6.795c0-.146-.003-.291-.01-.436A6.767 6.767 0 0 0 16 1.951a6.433 6.433 0 0 1-1.885.53Z" fill="currentColor"></path></svg></a><a aria-label="Tiktok Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://www.tiktok.com/@openbb"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5 pl-[2.5px]"><path d="M0 0h24v24H0z" stroke="none"></path><path d="M9 12a4 4 0 1 0 4 4V4a5 5 0 0 0 5 5"></path></svg></a><a aria-label="Reddit Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://www.reddit.com/r/openbb/"><svg viewBox="0 0 16 16" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M8 14.667A6.667 6.667 0 1 1 14.667 8 6.674 6.674 0 0 1 8 14.667ZM4.538 7.029a.973.973 0 0 0-.405 1.858 1.707 1.707 0 0 0 0 .292c0 1.494 1.743 2.708 3.886 2.708 2.142 0 3.886-1.214 3.886-2.708a1.857 1.857 0 0 0 0-.292.96.96 0 0 0-.432-1.825h-.035a.97.97 0 0 0-.638.271 4.744 4.744 0 0 0-2.567-.82l.434-2.08 1.425.3a.667.667 0 0 0 .735.591A.667.667 0 1 0 10.685 4a.667.667 0 0 0-.506.328L8.547 4a.207.207 0 0 0-.244.158l-.499 2.315a4.749 4.749 0 0 0-2.6.82.967.967 0 0 0-.666-.264Zm3.582 3.987h-.225a2.568 2.568 0 0 1-1.534-.515.18.18 0 0 1 .139-.294.18.18 0 0 1 .114.04c.374.274.825.421 1.289.42h.216c.457 0 .903-.143 1.274-.41a.187.187 0 0 1 .267 0 .19.19 0 0 1-.003.267v-.027a2.557 2.557 0 0 1-1.537.518v.001Zm1.418-1.63h-.01l.005-.025a.626.626 0 1 1 .49-.188.659.659 0 0 1-.462.214h-.024.001Zm-3.091-.053a.667.667 0 1 1 0-1.333.667.667 0 0 1 0 1.333Z" fill="currentColor"></path></svg></a><a aria-label="Discord Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://discord.gg/xPHTuHCmuV"><svg viewBox="0 0 16 12" width="16" height="12" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M13.38 8.836a4.375 4.375 0 0 1-2.474 1.507c.407.481.897 1.025.901 1.03 1.655.033 3.221-.688 4.193-1.929-.05-2.572-.724-5.1-1.973-7.397A7.139 7.139 0 0 0 10.194.71h-.016l-.192.203a9.52 9.52 0 0 1 3.412 1.61 11.875 11.875 0 0 0-4.125-1.217 12.415 12.415 0 0 0-2.766.025c-.065.001-.13.008-.193.019h-.04a10.98 10.98 0 0 0-3.11.801c-.493.21-.796.362-.809.368-.013.005 0 0 0-.01A10.022 10.022 0 0 1 5.96.866L5.815.714h-.009a7.142 7.142 0 0 0-3.833 1.335A16.003 16.003 0 0 0 0 9.447c.96 1.249 2.528 1.972 4.182 1.929 0 0 .517-.583.92-1.054a4.307 4.307 0 0 1-2.405-1.496c.01.006.153.096.384.213a.17.17 0 0 0 .056.04.409.409 0 0 0 .058.031 8.043 8.043 0 0 0 1.064.462c.653.24 1.33.423 2.019.548.604.106 1.217.16 1.832.16.576 0 1.15-.049 1.717-.146a9.64 9.64 0 0 0 1.986-.546 8.203 8.203 0 0 0 1.566-.752Zm-2.94-.57c-.627.05-1.224-.26-1.502-.784a1.335 1.335 0 0 1 .244-1.581 1.612 1.612 0 0 1 1.68-.363c.586.212.973.735.973 1.319.032.745-.592 1.374-1.396 1.41h.001Zm-5.001 0c-.79-.064-1.395-.676-1.395-1.41 0-.733.606-1.345 1.395-1.408.363 0 .71.138.963.38.286.276.442.645.433 1.027.033.747-.59 1.378-1.396 1.411Z" fill="currentColor"></path></svg></a><a aria-label="Youtube Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer noopener" href="https://www.youtube.com/channel/UCaeFEx-W16IuxRsHlM1ywBQ"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2c.313-1.732.467-3.49.46-5.25a29.005 29.005 0 0 0-.46-5.33v0Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="m9.75 15.017 5.75-3.27-5.75-3.27v6.54Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></footer></div>
|
||
<script src="/assets/js/runtime~main.6abb557d.js"></script>
|
||
<script src="/assets/js/main.645ad6c2.js"></script>
|
||
</body>
|
||
</html> |