summaryrefslogtreecommitdiffstats
path: root/sdk/guides/intros/portfolio/po.html
diff options
context:
space:
mode:
Diffstat (limited to 'sdk/guides/intros/portfolio/po.html')
-rw-r--r--sdk/guides/intros/portfolio/po.html4
1 files changed, 2 insertions, 2 deletions
diff --git a/sdk/guides/intros/portfolio/po.html b/sdk/guides/intros/portfolio/po.html
index 30e34843519..08266695a95 100644
--- a/sdk/guides/intros/portfolio/po.html
+++ b/sdk/guides/intros/portfolio/po.html
@@ -7,13 +7,13 @@
<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.a6a0f696.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.7fe2b147.js" as="script">
<link rel="preload" href="/assets/js/main.aee8443e.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 &#x27;Crypto&#x27;" 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"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" tabindex="0" href="/sdk/guides/intros/portfolio">Portfolio</a><button aria-label="Toggle the collapsible sidebar category &#x27;Portfolio&#x27;" 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 menu__link--active" aria-current="page" 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 &#x27;Stocks&#x27;" 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 &#x27;SDK Reference&#x27;" 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"><a class="breadcrumbs__link" itemprop="item" href="/sdk/guides/intros/portfolio"><span itemprop="name">Portfolio</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Portfolio Optimization</span><meta itemprop="position" content="4"></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 Optimization</h1></header><p>The Portfolio Optimization menu allows the user to apply advanced optimization techniques to a portfolio of any type and of any size. It does so by introducing a multitude of optimization techniques ranging from <a href="https://www.investopedia.com/terms/m/meanvariance-analysis.asp" target="_blank" rel="noreferrer noopener">mean-variance optimization</a> to <a href="https://www.investopedia.com/terms/r/risk-parity.asp" target="_blank" rel="noreferrer noopener">risk parity models</a> and <a href="https://www.investopedia.com/terms/c/cluster_analysis.asp" target="_blank" rel="noreferrer noopener">hierarchical clustering models</a>. By providing Excel templates, the user can make sense of the vast array of parameters that each command has. E.g. think of the historic period you wish to use or which of the more than 10 risk measures and covariance methods should be used? These are questions the templates make easier to answer.</p><p>The capabilities of the <a href="/terminal/guides/intros/portfolio/po">Portfolio Optiminzation menu</a> from the OpenBB Terminal are wrapped into a powerful SDK, enabling users to work with the data in a flexible environment that can be fully customized to meet the needs of any user. These functionalities allow the user to apply advanced optimization techniques to a portfolio of any type and of any size. It does so by introducing a multitude of optimization techniques ranging from <a href="https://www.investopedia.com/terms/m/meanvariance-analysis.asp" target="_blank" rel="noreferrer noopener">mean-variance optimization</a> to <a href="https://www.investopedia.com/terms/r/risk-parity.asp" target="_blank" rel="noreferrer noopener">risk parity models</a> and <a href="https://www.investopedia.com/terms/c/cluster_analysis.asp" target="_blank" rel="noreferrer noopener">hierarchical clustering models</a>. By providing Excel templates, the user can make sense of the vast array of parameters that each command has. E.g. think of the historic period you wish to use or which of the more than 10 risk measures and covariance methods should be used? These are questions the templates make easier to answer.</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>Start a Python script or Notebook file by importing the module:</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)">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></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>This menu requires the usage of the Excel templates to work properly. As there is a lot of complexity involved around these techniques, these templates allow the user to understand what values for each parameter are actually used and allow for an easy way to define the allocation.</p><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span><mdxadmonitiontitle>For this there are two templates that need to be set, the <strong>OpenBB Parameters Template</strong> and the <strong>60_40_Portfolio.xlsx</strong>. These files can be found in <a href="https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/miscellaneous/portfolio_examples" target="_blank" rel="noopener noreferrer">here</a>. One is in the <code>allocation</code> folder and the other is in <code>optimization</code>. the Select a file and press &quot;Download&quot; on the right, then place it into the OpenBBUserData folder. You can find more about this folder <a href="/sdk/advanced/data">here</a>.</mdxadmonitiontitle></div><div class="admonitionContent_S0QG"></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="openbb-parameters-template">OpenBB Parameters Template<a class="hash-link" href="#openbb-parameters-template" title="Direct link to heading">​</a></h3><p>This template provides the user with the ability to set define values for each parameter based on the optimization technique that is deployed. E.g. if you select <code>riskparity</code> for the <code>technique</code> parameter, you will notice that some parameters turn <span style="color:#BEBEBE">grey</span>. This means that the parameter is irrelevant for the selected method.</p><p>The OpenBB Terminal does, however, allow the user to run any model despite the <code>technique</code> you selected. Therefore, if you are interested in running multiple models, consider removing the value for <code>technique</code>. Do note that this makes it more difficult to understand which values are used for which model.</p><a href="https://user-images.githubusercontent.com/46355364/171144692-dd812efd-1e95-4a71-a93f-7ae8a480fe5d.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" alt="OpenBB Parameters Template" src="https://user-images.githubusercontent.com/46355364/171144692-dd812efd-1e95-4a71-a93f-7ae8a480fe5d.png" class="img_ev3q"></a><h3 class="anchor anchorWithStickyNavbar_LWe7" id="openbb-portfolio-template">OpenBB Portfolio Template<a class="hash-link" href="#openbb-portfolio-template" title="Direct link to heading">​</a></h3><p>This template hands the user a format to work with it to define the portfolio. Here, categorization is applied based on asset class, sector, industry, country and currency. By using the dropdown menus within this Excel, you are able to apply the proper categorization. This is based on the same methodology as found in other areas of the terminal.</p><a href="https://user-images.githubusercontent.com/46355364/171145061-cd618153-801c-4771-ba57-7ee0ab8c57e8.png" target="_blank" rel="noopener noreferrer"><img loading="lazy" alt="OpenBB Portfolio Template" src="https://user-images.githubusercontent.com/46355364/171145061-cd618153-801c-4771-ba57-7ee0ab8c57e8.png" class="img_ev3q"></a><p>You can load in the portfolio template with the following 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)">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" style="display:inline-block"></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)"># Define your own orderbook path here, current value won&#x27;t work</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">order_book_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)">&quot;60_40_Portfolio.xlsx&quot;</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 comment" style="color:rgb(106, 153, 85)"># Read in the file</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">order_book </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">read_excel</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">order_book_path</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 comment" style="color:rgb(106, 153, 85)"># Adjust the columns accordingly</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">order_book_cols </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)">&#x27;Ticker&#x27;</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)">&#x27;Asset Class&#x27;</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)">&#x27;Sector&#x27;</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)">&#x27;Industry&#x27;</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)">&#x27;Country&#x27;</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 string" style="color:rgb(206, 145, 120)">&#x27;Current Invested Amount&#x27;</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)">&#x27;Currency&#x27;</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">order_book </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> order_book</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">order_book_cols</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 comment" style="color:rgb(106, 153, 85)"># Load in the portfolio</span><span class="token plain"></span><br></span><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">po</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">symbols_file_path</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain">order_book_path</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">weights</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> performance </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">po</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">equal</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">portfolio_engine</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><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="performing-optimization">Performing optimization<a class="hash-link" href="#performing-optimization" title="Direct link to heading">​</a></h3><p>Based on the parameters and allocation the user has set, the optimization process begins. What optimization technique is ideal depends entirely on the user&#x27;s risk profile and objectives. As an illustration, <a href="https://www.investopedia.com/terms/r/risk-parity.asp" target="_blank" rel="noreferrer noopener">Risk Parity</a> is presented below:</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 comment" style="color:rgb(106, 153, 85)"># Perform calculations</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">weights_riskparity</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> data_returns_riskparity </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">po</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">riskparity</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">weights_riskparity</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>Which returns:</p><table><thead><tr><th align="left"></th><th align="right">Risk Parity</th></tr></thead><tbody><tr><td align="left">AAPL</td><td align="right">0.0462</td></tr><tr><td align="left">AMZN</td><td align="right">0.04545</td></tr><tr><td align="left">APTV</td><td align="right">0.03177</td></tr><tr><td align="left">ASML</td><td align="right">0.03328</td></tr><tr><td align="left">BABA</td><td align="right">0.04192</td></tr><tr><td align="left">GOOGL</td><td align="right">0.04758</td></tr><tr><td align="left">HYG</td><td align="right">0.13093</td></tr><tr><td align="left">NKE</td><td align="right">0.04909</td></tr><tr><td align="left">TIP</td><td align="right">0.30826</td></tr><tr><td align="left">TLT</td><td align="right">0.21927</td></tr><tr><td align="left">TSM</td><td align="right">0.04626</td></tr></tbody></table><p>It is possible to use the commands without loading in the parameters template or by using the parameters template but changing some arguments directly into the terminal. For example, using the same method as described above, the risk measure is changed to <a href="https://www.investopedia.com/terms/c/conditional_value_at_risk.asp" target="_blank" rel="noreferrer noopener">Conditional Value at Risk (CVaR)</a> and the used historic period is increased to 10 years (keeping all other parameters unchanged):</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 comment" style="color:rgb(106, 153, 85)"># Perform calculations</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">weights_riskparity</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> data_returns_riskparity </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">po</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">riskparity</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"> interval</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">&quot;10y&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> risk_measure</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">&quot;CVaR&quot;</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">weights_riskparity</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>Which returns:</p><table><thead><tr><th align="left"></th><th align="right">Risk Parity</th></tr></thead><tbody><tr><td align="left">AAPL</td><td align="right">0.04843</td></tr><tr><td align="left">AMZN</td><td align="right">0.04302</td></tr><tr><td align="left">APTV</td><td align="right">0.03907</td></tr><tr><td align="left">ASML</td><td align="right">0.03717</td></tr><tr><td align="left">GOOGL</td><td align="right">0.04877</td></tr><tr><td align="left">HYG</td><td align="right">0.14643</td></tr><tr><td align="left">NKE</td><td align="right">0.05275</td></tr><tr><td align="left">TIP</td><td align="right">0.33264</td></tr><tr><td align="left">TLT</td><td align="right">0.20371</td></tr><tr><td align="left">TSM</td><td align="right">0.04802</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a class="hash-link" href="#examples" title="Direct link to heading">​</a></h2><p>To demonstrate the capabilities of the Portfolio Optimization menu, the entire <a href="https://www.investopedia.com/terms/s/sp500.asp" target="_blank" rel="noreferrer noopener">S&amp;P 500 index</a> (as of 30th of May 2022) is used and optimized and analysed in a variety of ways. Starting by loading in the dataset with the following:</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)">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" style="display:inline-block"></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)"># Define your own orderbook path here, current value won&#x27;t work</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">order_book_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)">&quot;pathto/SP_500_Portfolio.xlsx&quot;</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 comment" style="color:rgb(106, 153, 85)"># Read in the file</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">order_book </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">read_excel</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">order_book_path</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 comment" style="color:rgb(106, 153, 85)"># Adjust the columns accordingly</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">order_book_cols </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)">&#x27;Ticker&#x27;</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)">&#x27;Asset Class&#x27;</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)">&#x27;Sector&#x27;</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)">&#x27;Industry&#x27;</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)">&#x27;Country&#x27;</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 string" style="color:rgb(206, 145, 120)">&#x27;Current Invested Amount&#x27;</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)">&#x27;Currency&#x27;</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">order_book </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> order_book</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">order_book_cols</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 comment" style="color:rgb(106, 153, 85)"># Load in the portfolio</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">tickers</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> categories </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">po</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">symbols_file_path</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain">order_book_path</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>Then, the <a href="https://jpm.pm-research.com/content/42/4/59.short" target="_blank" rel="noreferrer noopener">Hierarchical Risk Parity</a> technique is applied by using the following:</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">order_book_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)">&quot;pathto/SP_500_Portfolio.xlsx&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class