Files
OpenBB/sdk/guides/intros/forecast.html
github-actions[bot] ba7678680f deploy: 93f440a31c
2023-01-05 16:37:40 +00:00

19 lines
169 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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/forecast">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.2.0">
<title data-rh="true">Forecast | 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/forecast"><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="Forecast | OpenBB Docs"><meta data-rh="true" name="description" content="The Forecast module provides programmatic access to the same commands found in the OpenBB Terminal Forecast menu. The extensive library of models, built on top of the u8darts library, are easily tuned with hyper-parameters."><meta data-rh="true" property="og:description" content="The Forecast module provides programmatic access to the same commands found in the OpenBB Terminal Forecast menu. The extensive library of models, built on top of the u8darts library, are easily tuned with hyper-parameters."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.openbb.co/sdk/guides/intros/forecast"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/sdk/guides/intros/forecast" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/sdk/guides/intros/forecast" hreflang="x-default"><script data-rh="true" defer="true" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon="{&quot;token&quot;: &quot;100eb319cb954b9ea86aa757652c0958&quot;}"></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 &#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 menu__link--active" aria-current="page" 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 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/portfolio">Portfolio</a><button aria-label="Toggle the collapsible sidebar category &#x27;Portfolio&#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/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 breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Forecast</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>Forecast</h1></header><p>The Forecast module provides programmatic access to the same commands found in the OpenBB Terminal Forecast menu. The extensive library of models, built on top of the <a href="https://unit8co.github.io/darts/" target="_blank" rel="noopener noreferrer">u8darts</a> library, are easily tuned with hyper-parameters.</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>The Forecast menu was designed specifically for the CLI application, and consequently, the operation of these commands do not mirror the workflow of the OpenBB Terminal. This will be improved in the future to more closely resemble it, and this guide will highlight some notable differences.</p><p>Commands within the <code>forecast</code> module are representatives from three broad categories:</p><ul><li>Exploration</li><li>Feature Engineering</li><li>Model</li></ul><p>Each command is listed below with a short description. A majority of functions will also have an additional syntax, <code>_chart</code>, for displaying the generated charts inline. For ease of use, we recommend using the <code>_chart</code> version for Model functions.</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.forecast.atr</td><td align="center">Feature Engineering</td><td align="right">Add a Column for the Average True Range</td></tr><tr><td align="left">openbb.forecast.autoces</td><td align="center">Model</td><td align="right">Automatic Complex Exponential Smoothing Model</td></tr><tr><td align="left">openbb.forecast.autoets</td><td align="center">Model</td><td align="right">Automatic ETS (Error, Trend, Seasonality) Model</td></tr><tr><td align="left">openbb.forecast.autoselect</td><td align="center">Model</td><td align="right">Automatically Selects the Best Statistical Model From AutoARIMA, AutoETS, AutoCES, MSTL, etc.</td></tr><tr><td align="left">openbb.forecast.brnn</td><td align="center">Model</td><td align="right">Block Recurrent Neural Network (RNN, LSTM, GRU) (feat. Past covariates)</td></tr><tr><td align="left">openbb.forecast.clean</td><td align="center">Exploration</td><td align="right">Fill or Drop NaN Values</td></tr><tr><td align="left">openbb.forecast.combine</td><td align="center">Exploration</td><td align="right">Combine Columns From Different Datasets</td></tr><tr><td align="left">openbb.forecast.corr</td><td align="center">Exploration</td><td align="right">Correlation Coefficients Between Columns of a Dataset</td></tr><tr><td align="left">openbb.forecast.delete</td><td align="center">Exploration</td><td align="right">Delete Columns From a Dataset</td></tr><tr><td align="left">openbb.forecast.delta</td><td align="center">Feature Engineering</td><td align="right">Add a Column for % Change</td></tr><tr><td align="left">openbb.forecast.desc</td><td align="center">Exploration</td><td align="right">Show Descriptive Statistics for a Dataset</td></tr><tr><td align="left">openbb.forecast.ema</td><td align="center">Feature Engineering</td><td align="right">Add a Column for Exponentially Weighted Moving Average</td></tr><tr><td align="left">openbb.forecast.expo</td><td align="center">Model</td><td align="right">Probabilistic Exponential Smoothing</td></tr><tr><td align="left">openbb.forecast.export</td><td align="center">Export</td><td align="right">Export a Processed Dataset as a CSV or XLSX File</td></tr><tr><td align="left">openbb.forecast.linregr</td><td align="center">Model</td><td align="right">Probabilistic Linear Regression (feat. Past covariates and Explainability)</td></tr><tr><td align="left">openbb.forecast.load</td><td align="center">Import</td><td align="right">Import a Local CSV or XLSX File</td></tr><tr><td align="left">openbb.forecast.mom</td><td align="center">Feature Engineering</td><td align="right">Add a Column for Momentum</td></tr><tr><td align="left">openbb.forecast.nbeats</td><td align="center">Model</td><td align="right">Neural Bayesian Estimation (feat. Past covariates)</td></tr><tr><td align="left">openbb.forecast.nhits</td><td align="center">Model</td><td align="right">Neural Hierarchical Interpolation (feat. Past covariates)</td></tr><tr><td align="left">openbb.forecast.plot</td><td align="center">Exploration</td><td align="right">Plots Specific Columns From a Loaded Dataset</td></tr><tr><td align="left">openbb.forecast.regr</td><td align="center">Model</td><td align="right">Regression (feat. Past covariates and Explainability)</td></tr><tr><td align="left">openbb.forecast.rename</td><td align="center">Exploration</td><td align="right">Rename Columns in a Dataset</td></tr><tr><td align="left">openbb.forecast.rnn</td><td align="center">Model</td><td align="right">Probabilistic Recurrent Neural Network (RNN, LSTM, GRU)</td></tr><tr><td align="left">openbb.forecast.roc</td><td align="center">Feature Engineering</td><td align="right">Add a Column for Rate of Change</td></tr><tr><td align="left">openbb.forecast.rsi</td><td align="center">Feature Engineering</td><td align="right">Add a Column for Relative Strength Index</td></tr><tr><td align="left">openbb.forecast.rwd</td><td align="center">Model</td><td align="right">Random Walk with Drift Model</td></tr><tr><td align="left">openbb.forecast.season</td><td align="center">Exploration</td><td align="right">Plot Seasonality of a Column in a Dataset</td></tr><tr><td align="left">openbb.forecast.seasonalnaive</td><td align="center">Model</td><td align="right">Seasonal Naive Model</td></tr><tr><td align="left">openbb.forecast.signal</td><td align="center">Feature Engineering</td><td align="right">Add a Column for Price Signal (Short vs. Long Term)</td></tr><tr><td align="left">openbb.forecast.sto</td><td align="center">Feature Engineering</td><td align="right">Add a Column for Stochastic Oscillator %K and %D</td></tr><tr><td align="left">openbb.forecast.tcn</td><td align="center">Model</td><td align="right">Temporal Convolutional Neural Network (feat. Past covariates)</td></tr><tr><td align="left">openbb.forecast.tft</td><td align="center">Model</td><td align="right">Temporal Fusion Transformer Network(feat. Past covariates)</td></tr><tr><td align="left">openbb.forecast.theta</td><td align="center">Model</td><td align="right">Theta Method</td></tr><tr><td align="left">openbb.forecast.trans</td><td align="center">Model</td><td align="right">Transformer Network (feat. Past covariates)</td></tr></tbody></table><p>Alteratively, the contents of the menu 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">forecast</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>Type hints and code completion will be activated upon entering the <code>.</code>, after, <code>openbb.forecast</code>. The first step is always going to involve loading some data. Let&#x27;s walk through a procedure for procuring a DataFrame with some examples below.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a class="hash-link" href="#examples" title="Direct link to heading">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="import-statements">Import Statements<a class="hash-link" href="#import-statements" title="Direct link to heading">​</a></h3><p>The examples provided below will assume that the following import block is included at the beginning of the Python script or Notebook file:</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><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 Interactive Terminal or Notebook)</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="loading-data">Loading Data<a class="hash-link" href="#loading-data" title="Direct link to heading">​</a></h3><p>This library of models are specifically for time-series, and consequently, the data must follow some formatting guidelines:</p><ul><li>If the index is not a date, it must be sequentially ordered and evenly spaced - i.e., it can&#x27;t be indexed like: <code>[1,2,5,11,50]</code></li><li>A datetime index must be spaced evenly - i.e., monthly data is better handled when the interval date is the first of the month.</li><li>If the datetime index is a weekly interval, use a Monday-Friday format.</li><li>Intraday data is not officially supported at this time.</li></ul><p>The equities market revolves around the S&amp;P 500, so let&#x27;s take a look at the ETF, <code>SPY</code>, from inception:</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">spy </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">stocks</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 string" style="color:rgb(206, 145, 120)">&#x27;SPY&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> start_date </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)">&#x27;1990-01-01&#x27;</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">Loading Daily data for SPY with starting period 1993-01-29.</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 printed message indicates that the first day of available data is not the same as the requested start date. <a href="https://en.wikipedia.org/wiki/SPDR_S%26P_500_Trust_ETF" target="_blank" rel="noopener noreferrer">Wikipedia</a> shows the fund was launched on January 22, 1993. The product was marketed and sold to liquidity providers prior to trading on a public exchange, so this DataFrame is pretty darn close to the inception date. We can confirm that this data arrived as expected by printing the created DataFrame.</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">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">head</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><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">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th></tr></thead><tbody><tr><td align="left">1993-01-29 00:00:00</td><td align="right">43.9688</td><td align="right">43.9688</td><td align="right">43.75</td><td align="right">43.9375</td><td align="right">25.334</td><td align="right">1.0032e+06</td></tr><tr><td align="left">1993-02-01 00:00:00</td><td align="right">43.9688</td><td align="right">44.25</td><td align="right">43.9688</td><td align="right">44.25</td><td align="right">25.5142</td><td align="right">480500</td></tr><tr><td align="left">1993-02-02 00:00:00</td><td align="right">44.2188</td><td align="right">44.375</td><td align="right">44.125</td><td align="right">44.3438</td><td align="right">25.5683</td><td align="right">201300</td></tr><tr><td align="left">1993-02-03 00:00:00</td><td align="right">44.4062</td><td align="right">44.8438</td><td align="right">44.375</td><td align="right">44.8125</td><td align="right">25.8385</td><td align="right">529400</td></tr><tr><td align="left">1993-02-04 00:00:00</td><td align="right">44.9688</td><td align="right">45.0938</td><td align="right">44.4688</td><td align="right">45</td><td align="right">25.9467</td><td align="right">531500</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="plot">Plot<a class="hash-link" href="#plot" title="Direct link to heading">​</a></h3><p>The data can also be inspected visually, <code>openbb.forecast.plot</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">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">plot</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">data</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain">spy</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)">&#x27;Adj Close&#x27;</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><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/203671651-e7d5776f-c2ab-4a2a-8600-a5f6b6f2aa93.png" alt="openbb.forecast.plot" title="openbb.forecast.plot" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="theta">Theta<a class="hash-link" href="#theta" title="Direct link to heading">​</a></h3><p>Data consisting of a numeric value and a datetime index is sufficient enough for feeding the inputs to a forecast model. One important distinction between the Terminal and SDK is that the <code>target_column</code> must be explicitly declared when using the SDK, if it is not labeled as &quot;close&quot;. It is case-sensitive.</p><p>To use a forecast model with default parameters, all that is required in the syntax is:</p><ul><li>The name of the dataset.</li><li>The target column for the forecast.</li></ul><p>A basic, default, syntax will look like:</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">theta_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">data </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</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>The default number of days to predict for all models is five. If the interval of the time-series is not daily, days equates to the interval of the index.</p><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">Theta Model obtains MAPE: 1.91%</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/203897200-f2d3938c-f3a9-4ee4-bf67-0398d8d3bce6.png" alt="openbb.forecast.theta_chart" class="img_ev3q"></p><table><thead><tr><th align="left">Datetime</th><th align="right">Prediction</th></tr></thead><tbody><tr><td align="left">2022-11-24</td><td align="right">402.62</td></tr><tr><td align="left">2022-11-25</td><td align="right">402.92</td></tr><tr><td align="left">2022-11-28</td><td align="right">403.14</td></tr><tr><td align="left">2022-11-29</td><td align="right">403.38</td></tr><tr><td align="left">2022-11-30</td><td align="right">403.59</td></tr></tbody></table><p>Refer to the docstrings to learn about each model&#x27;s unique set of arguments.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">theta_chart</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><h2 class="anchor anchorWithStickyNavbar_LWe7" id="feature-engineering">Feature Engineering<a class="hash-link" href="#feature-engineering" title="Direct link to heading">​</a></h2><p>This category of functions are for adding columns to a dataset that are the results of calculations, like technical and quantitative analysis. Individual parameters will vary slightly between functions, but syntax construction will be similar.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="ema">EMA<a class="hash-link" href="#ema" title="Direct link to heading">​</a></h3><p>A moving average provides an indication of the trend of the price movement by cutting down the amount of &quot;noise&quot; in a price chart.</p><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">help(openbb.forecast.ema)</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"> dataset : pd.DataFrame</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The dataset you wish to clean</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> target_column : str</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The column you wish to add the EMA to</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> period : int</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Time Span</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"> pd.DataFrame</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Dataframe with added EMA column</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 example below adds a column to the <code>spy</code> dataset for the 150-day exponential moving average of the adjusted-close price.</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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">ema</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">150</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><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)">3</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="right"></th><th align="left">date</th><th align="right">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th><th align="right">EMA_150</th></tr></thead><tbody><tr><td align="right">7508</td><td align="left">2022-11-21</td><td align="right">394.64</td><td align="right">395.82</td><td align="right">392.66</td><td align="right">394.59</td><td align="right">394.59</td><td align="right">51243200</td><td align="right">394.923</td></tr><tr><td align="right">7509</td><td align="left">2022-11-22</td><td align="right">396.63</td><td align="right">400.07</td><td align="right">395.15</td><td align="right">399.9</td><td align="right">399.9</td><td align="right">60429000</td><td align="right">394.989</td></tr><tr><td align="right">7510</td><td align="left">2022-11-23</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">402.42</td><td align="right">68161400</td><td align="right">395.087</td></tr></tbody></table><p>Additional columns can be added for each desired period length of the calculation:</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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">ema</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">20</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><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)">3</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="right"></th><th align="left">date</th><th align="right">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th></tr></thead><tbody><tr><td align="right">7508</td><td align="left">2022-11-21</td><td align="right">394.64</td><td align="right">395.82</td><td align="right">392.66</td><td align="right">394.59</td><td align="right">394.59</td><td align="right">51243200</td><td align="right">394.923</td><td align="right">387.237</td></tr><tr><td align="right">7509</td><td align="left">2022-11-22</td><td align="right">396.63</td><td align="right">400.07</td><td align="right">395.15</td><td align="right">399.9</td><td align="right">399.9</td><td align="right">60429000</td><td align="right">394.989</td><td align="right">388.443</td></tr><tr><td align="right">7510</td><td align="left">2022-11-23</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">402.42</td><td align="right">68161400</td><td align="right">395.087</td><td align="right">389.775</td></tr></tbody></table><p>The process can be repeated as required.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="rsi">RSI<a class="hash-link" href="#rsi" title="Direct link to heading">​</a></h3><p>Similar to <code>ema</code>, <code>rsi</code> adds a column for the Relative Strength Index. The three variables are the same here as above. A period of ten equates to ten trading days, or two-weeks.</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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rsi</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">10</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><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)">3</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="right"></th><th align="left">date</th><th align="right">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th><th align="right">RSI_10_Adj Close</th></tr></thead><tbody><tr><td align="right">7508</td><td align="left">2022-11-21</td><td align="right">394.64</td><td align="right">395.82</td><td align="right">392.66</td><td align="right">394.59</td><td align="right">394.59</td><td align="right">51243200</td><td align="right">394.923</td><td align="right">387.237</td><td align="right">58.837</td></tr><tr><td align="right">7509</td><td align="left">2022-11-22</td><td align="right">396.63</td><td align="right">400.07</td><td align="right">395.15</td><td align="right">399.9</td><td align="right">399.9</td><td align="right">60429000</td><td align="right">394.989</td><td align="right">388.443</td><td align="right">63.7145</td></tr><tr><td align="right">7510</td><td align="left">2022-11-23</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">402.42</td><td align="right">68161400</td><td align="right">395.087</td><td align="right">389.775</td><td align="right">65.8484</td></tr></tbody></table><p>Let&#x27;s add another column for a twelve-week period:</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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rsi</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">60</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><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)">3</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="right"></th><th align="left">date</th><th align="right">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th><th align="right">RSI_10_Adj Close</th><th align="right">RSI_60_Adj Close</th></tr></thead><tbody><tr><td align="right">7508</td><td align="left">2022-11-21</td><td align="right">394.64</td><td align="right">395.82</td><td align="right">392.66</td><td align="right">394.59</td><td align="right">394.59</td><td align="right">51243200</td><td align="right">394.923</td><td align="right">387.237</td><td align="right">58.837</td><td align="right">50.5453</td></tr><tr><td align="right">7509</td><td align="left">2022-11-22</td><td align="right">396.63</td><td align="right">400.07</td><td align="right">395.15</td><td align="right">399.9</td><td align="right">399.9</td><td align="right">60429000</td><td align="right">394.989</td><td align="right">388.443</td><td align="right">63.7145</td><td align="right">51.4456</td></tr><tr><td align="right">7510</td><td align="left">2022-11-23</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">402.42</td><td align="right">68161400</td><td align="right">395.087</td><td align="right">389.775</td><td align="right">65.8484</td><td align="right">51.8685</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="sto">STO<a class="hash-link" href="#sto" title="Direct link to heading">​</a></h3><p>Some of the Feature Engineering commands require multiple columns, <code>openbb.forecast.sto</code> is one of them.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">sto</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">Stochastic Oscillator %K and %D : A stochastic oscillator is a momentum indicator comparing a particular closing price of a security to a range of its prices over a certain period of time. %K and %D are slow and fast indicators.</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">Requires Low/High/Close columns.</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Note: This will drop first rows equal to period due to how this metric is calculated.</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">close_column: str</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Column name for closing price</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">high_column: str</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Column name for high price</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">low_column: str</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Column name for low price</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">dataset : pd.DataFrame</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The dataset you wish to calculate for</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">period : int</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Span</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">pd.DataFrame</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Dataframe with added STO K &amp; D columns</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 results of these calculations appends the dataset with two additional columns.</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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">sto</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"> dataset </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> 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"> high_column</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;High&#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"> low_column </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)">&#x27;Low&#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"> close_column </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)">&#x27;Adj Close&#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"> period </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)">20</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><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><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)">3</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">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th><th align="right">RSI_10_Adj Close</th><th align="right">RSI_60_Adj Close</th><th align="right">SO%K_20</th><th align="right">SO%D_20</th></tr></thead><tbody><tr><td align="left">2022-11-21 00:00:00</td><td align="right">394.64</td><td align="right">395.82</td><td align="right">392.66</td><td align="right">394.59</td><td align="right">394.59</td><td align="right">5.12432e+07</td><td align="right">394.923</td><td align="right">387.237</td><td align="right">58.837</td><td align="right">50.5453</td><td align="right">76.969</td><td align="right">79.1396</td></tr><tr><td align="left">2022-11-22 00:00:00</td><td align="right">396.63</td><td align="right">400.07</td><td align="right">395.15</td><td align="right">399.9</td><td align="right">399.9</td><td align="right">6.0429e+07</td><td align="right">394.989</td><td align="right">388.443</td><td align="right">63.7145</td><td align="right">51.4456</td><td align="right">92.8102</td><td align="right">83.6814</td></tr><tr><td align="left">2022-11-23 00:00:00</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">402.42</td><td align="right">6.81614e+07</td><td align="right">395.087</td><td align="right">389.775</td><td align="right">65.8484</td><td align="right">51.8685</td><td align="right">98.5062</td><td align="right">89.4285</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="exploration">Exploration<a class="hash-link" href="#exploration" title="Direct link to heading">​</a></h2><p>As made evident by the composite dataset created, the name of a column can be undesirable. The exploration functions provide some tools for managing and maintaining the dataset.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="rename">Rename<a class="hash-link" href="#rename" title="Direct link to heading">​</a></h3><p>Column names can be altered with <code>openbb.forecast.rename</code>. One column can be changed:</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">spy </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">forecast</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">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)">&#x27;RSI_10_Adj Close&#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;RSI_10&#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">spy</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)">1</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">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Adj Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th><th align="right">RSI_10</th><th align="right">RSI_60_Adj Close</th><th align="right">SO%K_20</th><th align="right">SO%D_20</th></tr></thead><tbody><tr><td align="left">2022-11-23 00:00:00</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">402.42</td><td align="right">6.81614e+07</td><td align="right">395.087</td><td align="right">389.775</td><td align="right">65.8484</td><td align="right">51.8685</td><td align="right">98.5062</td><td align="right">89.4285</td></tr></tbody></table><p>Let&#x27;s rename a few more to make working with them a little easier, this time using the Python-method:</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">spy</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 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;RSI_60_Adj Close&#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;RSI_60&#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;SO%K_20&#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;STO_Slow&#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;SO%D_20&#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;STO_Fast&#x27;</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><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>Verify the names were updated as intended with a console print:</p><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">spy.columns</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"> Index([&#x27;Open&#x27;, &#x27;High&#x27;, &#x27;Low&#x27;, &#x27;Close&#x27;, &#x27;Adj Close&#x27;, &#x27;Volume&#x27;, &#x27;EMA_150&#x27;, &#x27;EMA_20&#x27;, &#x27;RSI_10&#x27;, &#x27;RSI_60&#x27;, STO_Slow&#x27;, &#x27;STO_Fast&#x27;], dtype=&#x27;object&#x27;)</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="delete">Delete<a class="hash-link" href="#delete" title="Direct link to heading">​</a></h3><p>Say, for example, that we would like to eliminate the <code>Close</code> column in favour of the adjusted-close values. First, delete the desired column:</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">delete</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">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)">&#x27;Close&#x27;</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, let&#x27;s rename, &#x27;Adj Close&#x27;, as, &#x27;Close&#x27;, and verify the results:</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">spy </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">forecast</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">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)">&#x27;Adj Close&#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;Close&#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">spy</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)">1</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">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th><th align="right">RSI_10</th><th align="right">RSI_60</th><th align="right">STO_Slow</th><th align="right">STO_Fast</th></tr></thead><tbody><tr><td align="left">2022-11-23 00:00:00</td><td align="right">399.55</td><td align="right">402.93</td><td align="right">399.31</td><td align="right">402.42</td><td align="right">6.81614e+07</td><td align="right">395.087</td><td align="right">389.775</td><td align="right">65.8484</td><td align="right">51.8685</td><td align="right">98.5062</td><td align="right">89.4285</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="models">Models<a class="hash-link" href="#models" title="Direct link to heading">​</a></h2><p>Some models are more taxing on system resources than others, and some take considerably longer to run. Changes to parameters can have dramatic effects on the forecast, be sure to make note of the changes while tuning the hyper-parameters. There are also two distinct types of models:</p><ul><li>Those with the ability to target past-covariates.</li><li>Those without the ability to target past-covarites.</li></ul><p>We currently recommend using the <code>_chart</code> version for every model.</p><p>Models of the former type are:</p><ul><li><code>linregr</code></li><li><code>regr</code></li><li><code>brnn</code></li><li><code>nbeats</code></li><li><code>nhits</code></li><li><code>tcn</code></li><li><code>trans</code></li><li><code>tft</code></li></ul><p>All models default to <code>past-covariates = None</code>, and targets for past covariates are selected with a comma-separated list of names, as demonstrated below.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="regr_chart">regr_chart<a class="hash-link" href="#regr_chart" title="Direct link to heading">​</a></h3><p><code>openbb.forecast.regr_chart</code> is a regression model which can forecast with, or without, past-covariates. The first example below is without.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">regr_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Close&#x27;</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">Predicting Regression for 5 days</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">Regression model obtains MAPE: 1.90%</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/203897290-330de1a6-056b-475b-9206-44658ebe5239.png" alt="openbb.forecast.regr_chart" title="openbb.forecast.regr_chart" class="img_ev3q"></p><table><thead><tr><th align="left">Datetime</th><th align="right">Prediction</th></tr></thead><tbody><tr><td align="left">2022-11-24</td><td align="right">403.06</td></tr><tr><td align="left">2022-11-25</td><td align="right">401.95</td></tr><tr><td align="left">2022-11-28</td><td align="right">402.69</td></tr><tr><td align="left">2022-11-29</td><td align="right">402.55</td></tr><tr><td align="left">2022-11-30</td><td align="right">399.84</td></tr></tbody></table><p>Then, targeting both EMA columns as past-covariates:</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">regr_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> past_covariates</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;EMA_150,EMA_20&quot;</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">Warning: when using past covariates n_predict must equal output_chunk_length. We have changed your output_chunk_length to 5 to match your n_predict</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">Covariate #0: EMA_150</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #1: EMA_20</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">Predicting Regression for 5 days</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">Regression model obtains MAPE: 1.85%</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/203897358-1111b8f6-e907-4ac6-a97d-327c87e07f1e.png" alt="openbb.forecast.regr_chart" title="openbb.forecast.regr_chart" class="img_ev3q"></p><table><thead><tr><th align="left">Datetime</th><th align="right">Prediction</th></tr></thead><tbody><tr><td align="left">2022-11-24</td><td align="right">403.20</td></tr><tr><td align="left">2022-11-25</td><td align="right">401.95</td></tr><tr><td align="left">2022-11-28</td><td align="right">402.15</td></tr><tr><td align="left">2022-11-29</td><td align="right">400.99</td></tr><tr><td align="left">2022-11-30</td><td align="right">398.01</td></tr></tbody></table><p>Adding these past-covariates has improved the MAPE by 0.05%, which is a good thing; like golf, a lower score is better.</p><p>A second chart displayed by a regression model is for &quot;explainability&quot;, SHAP values. It is an illustration of which past-covariates have the most impact on the model output.</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/203897584-37898fee-611f-47c1-abd0-23e2ef21613a.png" alt="Explainability" title="Explainability" class="img_ev3q"></p><p>Targeting the <code>Volume</code> column as a past-covariate reveals it to be negatively impacting the forecast, in this particular instance and application.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">regr_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> past_covariates</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">&quot;Volume&quot;</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/203897625-9a71960a-29a1-40e1-8c5e-2950bddd1a9c.png" alt="openbb.forecast.regr_chart" title="openbb.forecast.regr_chart" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="combine">Combine<a class="hash-link" href="#combine" title="Direct link to heading">​</a></h3><p>Let&#x27;s add another potential past-covariate to the dataset by taking the adjusted-close value of <code>XOM</code>, and using <code>combine</code> to join the column with our existing DataFrame.</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">xom </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">stocks</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 string" style="color:rgb(206, 145, 120)">&quot;XOM&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> start_date </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)">&#x27;1993-01-29&#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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">combine</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">df1 </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> df2 </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> xom</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> dataset </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)">&#x27;XOM&#x27;</span><span class="token plain"> </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">spy</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)">&#x27;XOM_Adj Close&#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;XOM&#x27;</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><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="corr">Corr<a class="hash-link" href="#corr" title="Direct link to heading">​</a></h3><p><code>openbb.forecast.corr</code> calculates the correlation between all columns in a dataset.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">corr</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</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="right">Open</th><th align="right">High</th><th align="right">Low</th><th align="right">Close</th><th align="right">Volume</th><th align="right">EMA_150</th><th align="right">EMA_20</th><th align="right">RSI_10_Adj Close</th><th align="right">RSI_60</th><th align="right">STO_Slow</th><th align="right">STO_Fast</th><th align="right">XOM</th></tr></thead><tbody><tr><td align="left">Open</td><td align="right">1</td><td align="right">0.999928</td><td align="right">0.999907</td><td align="right">0.996296</td><td align="right">0.102601</td><td align="right">0.990844</td><td align="right">0.995626</td><td align="right">0.0485853</td><td align="right">0.0685473</td><td align="right">0.631412</td><td align="right">0.635814</td><td align="right">0.725111</td></tr><tr><td align="left">High</td><td align="right">0.999928</td><td align="right">1</td><td align="right">0.999845</td><td align="right">0.996388</td><td align="right">0.105301</td><td align="right">0.991371</td><td align="right">0.995819</td><td align="right">0.0468199</td><td align="right">0.0648085</td><td align="right">0.63298</td><td align="right">0.637221</td><td align="right">0.724806</td></tr><tr><td align="left">Low</td><td align="right">0.999907</td><td align="right">0.999845</td><td align="right">1</td><td align="right">0.996337</td><td align="right">0.0988936</td><td align="right">0.990313</td><td align="right">0.995387</td><td align="right">0.0548303</td><td align="right">0.0740719</td><td align="right">0.630126</td><td align="right">0.634485</td><td align="right">0.725668</td></tr><tr><td align="left">Close</td><td align="right">0.996296</td><td align="right">0.996388</td><td align="right">0.996337</td><td align="right">1</td><td align="right">0.115854</td><td align="right">0.995506</td><td align="right">0.99931</td><td align="right">0.0544362</td><td align="right">0.0708491</td><td align="right">0.62215</td><td align="right">0.626235</td><td align="right">0.725945</td></tr><tr><td align="left">Volume</td><td align="right">0.102601</td><td align="right">0.105301</td><td align="right">0.0988936</td><td align="right">0.115854</td><td align="right">1</td><td align="right">0.143554</td><td align="right">0.125322</td><td align="right">-0.255959</td><td align="right">-0.3392</td><td align="right">0.387554</td><td align="right">0.384561</td><td align="right">0.470041</td></tr><tr><td align="left">EMA_150</td><td align="right">0.990844</td><td align="right">0.991371</td><td align="right">0.990313</td><td align="right">0.995506</td><td align="right">0.143554</td><td align="right">1</td><td align="right">0.997117</td><td align="right">0.00795085</td><td align="right">0.00294935</td><td align="right">0.63139</td><td align="right">0.635393</td><td align="right">0.737946</td></tr><tr><td align="left">EMA_20</td><td align="right">0.995626</td><td align="right">0.995819</td><td align="right">0.995387</td><td align="right">0.99931</td><td align="right">0.125322</td><td align="right">0.997117</td><td align="right">1</td><td align="right">0.0295848</td><td align="right">0.0530582</td><td align="right">0.621829</td><td align="right">0.625925</td><td align="right">0.726945</td></tr><tr><td align="left">RSI_10_Adj Close</td><td align="right">0.0485853</td><td align="right">0.0468199</td><td align="right">0.0548303</td><td align="right">0.0544362</td><td align="right">-0.255959</td><td align="right">0.00795085</td><td align="right">0.0295848</td><td align="right">1</td><td align="right">0.707723</td><td align="right">0.00550661</td><td align="right">0.00475805</td><td align="right">0.0316687</td></tr><tr><td align="left">RSI_60</td><td align="right">0.0685473</td><td align="right">0.0648085</td><td align="right">0.0740719</td><td align="right">0.0708491</td><td align="right">-0.3392</td><td align="right">0.00294935</td><td align="right">0.0530582</td><td align="right">0.707723</td><td align="right">1</td><td align="right">-0.203022</td><td align="right">-0.201585</td><td align="right">0.00254247</td></tr><tr><td align="left">STO_Slow</td><td align="right">0.631412</td><td align="right">0.63298</td><td align="right">0.630126</td><td align="right">0.62215</td><td align="right">0.387554</td><td align="right">0.63139</td><td align="right">0.621829</td><td align="right">0.00550661</td><td align="right">-0.203022</td><td align="right">1</td><td align="right">0.991231</td><td align="right">0.609652</td></tr><tr><td align="left">STO_Fast</td><td align="right">0.635814</td><td align="right">0.637221</td><td align="right">0.634485</td><td align="right">0.626235</td><td align="right">0.384561</td><td align="right">0.635393</td><td align="right">0.625925</td><td align="right">0.00475805</td><td align="right">-0.201585</td><td align="right">0.991231</td><td align="right">1</td><td align="right">0.613626</td></tr><tr><td align="left">XOM</td><td align="right">0.725111</td><td align="right">0.724806</td><td align="right">0.725668</td><td align="right">0.725945</td><td align="right">0.470041</td><td align="right">0.737946</td><td align="right">0.726945</td><td align="right">0.0316687</td><td align="right">0.00254247</td><td align="right">0.609652</td><td align="right">0.613626</td><td align="right">1</td></tr></tbody></table><p>Let&#x27;s see how Exxon impacts our previous forecast.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">regr_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">data </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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;Close&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> dataset_name </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)">&#x27;SPY&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> past_covariates </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;EMA_20,EMA_150,XOM&quot;</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">Warning: when using past covariates n_predict must equal output_chunk_length. We have changed your output_chunk_length to 5 to match your n_predict</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">Covariate #0: EMA_20</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #1: EMA_150</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #2: XOM</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">Predicting Regression for 5 days</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">Regression model obtains MAPE: 1.80%</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">Datetime</th><th align="right">Prediction</th></tr></thead><tbody><tr><td align="left">2022-11-24</td><td align="right">401.70</td></tr><tr><td align="left">2022-11-25</td><td align="right">402.02</td></tr><tr><td align="left">2022-11-26</td><td align="right">402.25</td></tr><tr><td align="left">2022-11-27</td><td align="right">401.48</td></tr><tr><td align="left">2022-11-28</td><td align="right">397.16</td></tr></tbody></table><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/203897681-e2bfb592-c832-477a-8f24-2604e5ed8254.png" alt="openbb.forecast.regr_chart" title="openbb.forecast.regr_chart" class="img_ev3q"></p><p>To include pan/zoom functionality for charts, substitute <code>%matplotlib widget</code> in the import statement block. The code block below will recreate the DataFrame as shown in the examples above:</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><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 widget (uncomment if using a Jupyter Interactive Terminal or Notebook)</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><span class="token punctuation" 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 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 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><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">stocks</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 string" style="color:rgb(206, 145, 120)">&#x27;SPY&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> start_date </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)">&#x27;1990-01-01&#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">spy </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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">ema</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">150</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><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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">ema</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">20</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><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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rsi</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">10</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><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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rsi</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target_column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> period </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)">60</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><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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">sto</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"> dataset </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> 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"> high_column</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;High&#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"> low_column </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)">&#x27;Low&#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"> close_column </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)">&#x27;Adj Close&#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"> period </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)">20</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><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">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">delete</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">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)">&#x27;Close&#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">spy</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 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;Adj Close&#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;Close&#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;RSI_60_Adj Close&#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;RSI_10&#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;RSI_60_Adj Close&#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;RSI_60&#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;SO%K_20&#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;STO_Slow&#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;SO%D_20&#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;STO_Fast&#x27;</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">xom </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">stocks</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 string" style="color:rgb(206, 145, 120)">&quot;XOM&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> start_date </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)">&#x27;1993-01-29&#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">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">combine</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">df1 </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> spy</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> df2 </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> xom</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> column </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)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> dataset </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)">&#x27;XOM&#x27;</span><span class="token plain"> </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">spy</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)">&#x27;XOM_Adj Close&#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;XOM&#x27;</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" 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><h2 class="anchor anchorWithStickyNavbar_LWe7" id="hyper-parameters">Hyper-Parameters<a class="hash-link" href="#hyper-parameters" title="Direct link to heading">​</a></h2><p>Hyper-parameters are the fine-tune dials for each model. Refer to the docstrings for the extensive list. The parameters below are the ways in which the regression model can be altered. Each model will be different, and their responses will vary. The demonstrated workflow is a simple way to begin experimenting with the functions. The same general processes can be applied for all models. The purpose of this guide is to help users get going with using the Forecast module, some assembly required.</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">forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">regr_chart</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">Help on Operation </span><span class="token keyword" style="color:rgb(86, 156, 214)">in</span><span class="token plain"> module openbb_terminal</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">core</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">library</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">operation</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 operator" style="color:rgb(212, 212, 212)">&lt;</span><span class="token plain">openbb_terminal</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">core</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">library</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">operation</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">Operation </span><span class="token builtin" style="color:rgb(86, 156, 214)">object</span><span class="token operator" style="color:rgb(212, 212, 212)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Display Regression Forecasting</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><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 operator" style="color:rgb(212, 212, 212)">-</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 operator" style="color:rgb(212, 212, 212)">-</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 operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" 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"> data</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> Union</span><span class="token punctuation" 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">Series</span><span class="token punctuation" 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"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Input Data</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> target_column</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">str</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Target column to forecast</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token string" style="color:rgb(206, 145, 120)">&quot;close&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"> dataset_name</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">str</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The name of the ticker to be predicted</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> n_predict</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">int</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Days to predict</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token number" style="color:rgb(181, 206, 168)">5.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> train_split</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">float</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Train</span><span class="token operator" style="color:rgb(212, 212, 212)">/</span><span class="token plain">val split</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token number" style="color:rgb(181, 206, 168)">0.85</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"> past_covariates</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">str</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Multiple secondary columns to factor </span><span class="token keyword" style="color:rgb(86, 156, 214)">in</span><span class="token plain"> when forecasting</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token boolean">None</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"> forecast_horizon</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">int</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Forecast horizon when performing historical forecasting</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token number" style="color:rgb(181, 206, 168)">5.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> output_chunk_length</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">int</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The length of the forecast of the model</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token number" style="color:rgb(181, 206, 168)">1.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> lags</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> Union</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token builtin" style="color:rgb(86, 156, 214)">int</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> List</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token builtin" style="color:rgb(86, 156, 214)">int</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"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> lagged target values to predict the </span><span class="token builtin" style="color:rgb(86, 156, 214)">next</span><span class="token plain"> time step</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> export</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">str</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Format to export data</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> residuals</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">bool</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Whether to show residuals </span><span class="token keyword" style="color:rgb(86, 156, 214)">for</span><span class="token plain"> the model</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </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"> forecast_only</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">bool</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Whether to only show dates </span><span class="token keyword" style="color:rgb(86, 156, 214)">in</span><span class="token plain"> the forecasting </span><span class="token builtin" style="color:rgb(86, 156, 214)">range</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </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"> start_date</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> Optional</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">datetime</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"> The starting date to perform analysis</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> data before this </span><span class="token keyword" style="color:rgb(86, 156, 214)">is</span><span class="token plain"> trimmed</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token boolean">None</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"> end_date</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> Optional</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">datetime</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"> The ending date to perform analysis</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> data after this </span><span class="token keyword" style="color:rgb(86, 156, 214)">is</span><span class="token plain"> trimmed</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </span><span class="token boolean">None</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"> naive</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">bool</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Whether to show the naive baseline</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> This just assumes the closing price will be the same</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)">as</span><span class="token plain"> the previous day&#x27;s closing price</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Defaults to </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"> external_axes</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> Optional</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">List</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">plt</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">axes</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"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> External axes to plot on</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><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/forecast.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/etf"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">ETF</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/sdk/guides/intros/forex"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Forex</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></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="#loading-data" class="text-grey-400 capitalize !no-underline">Loading Data</a></li><li class="py-1 pl-3"><a href="#plot" class="text-grey-400 capitalize !no-underline">Plot</a></li><li class="py-1 pl-3"><a href="#theta" class="text-grey-400 capitalize !no-underline">Theta</a></li></ul></li><li class="py-1"><a href="#feature-engineering" class="text-grey-400 capitalize !no-underline">Feature Engineering</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="#ema" class="text-grey-400 capitalize !no-underline">EMA</a></li><li class="py-1 pl-3"><a href="#rsi" class="text-grey-400 capitalize !no-underline">RSI</a></li><li class="py-1 pl-3"><a href="#sto" class="text-grey-400 capitalize !no-underline">STO</a></li></ul></li><li class="py-1"><a href="#exploration" class="text-grey-400 capitalize !no-underline">Exploration</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="#rename" class="text-grey-400 capitalize !no-underline">Rename</a></li><li class="py-1 pl-3"><a href="#delete" class="text-grey-400 capitalize !no-underline">Delete</a></li></ul></li><li class="py-1"><a href="#models" class="text-grey-400 capitalize !no-underline">Models</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="#regr_chart" class="text-grey-400 capitalize !no-underline">regr_chart</a></li><li class="py-1 pl-3"><a href="#combine" class="text-grey-400 capitalize !no-underline">Combine</a></li><li class="py-1 pl-3"><a href="#corr" class="text-grey-400 capitalize !no-underline">Corr</a></li></ul></li><li class="py-1"><a href="#hyper-parameters" class="text-grey-400 capitalize !no-underline">Hyper-Parameters</a></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 &amp; 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 &amp; 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>