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

27 lines
124 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-default 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/terminal/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-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Forecast | OpenBB Docs"><meta data-rh="true" name="description" content="The Forecast menu is a machine learning toolkit that provides practitioners with high-level components that can quickly provide state-of-the-art results, be it with with classical or deep learning models, while also providing researchers with low-level components that can be mixed, matched and fine tuned to build new approaches and custom tuned models. Bring in multiple datasets and train machine learning models with unlimited external factors to see how underlying data may change future forecasting predictions and accuracy."><meta data-rh="true" property="og:description" content="The Forecast menu is a machine learning toolkit that provides practitioners with high-level components that can quickly provide state-of-the-art results, be it with with classical or deep learning models, while also providing researchers with low-level components that can be mixed, matched and fine tuned to build new approaches and custom tuned models. Bring in multiple datasets and train machine learning models with unlimited external factors to see how underlying data may change future forecasting predictions and accuracy."><meta data-rh="true" name="keywords" content="machine learning,statistics,deep learning,neural networks,time series,research,feature engineering,hyperparameters"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.openbb.co/terminal/guides/intros/forecast"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/terminal/guides/intros/forecast" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/terminal/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_terminal 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-100 bg-grey-800" href="/terminal">Terminal</a><a class="text-xs px-2 py-1 rounded hover:text-white hover:no-underline text-grey-500 hover: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="/terminal">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="/terminal/quickstart/installation">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="/terminal/guides/basics">Using OpenBB Terminal</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="/terminal/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="/terminal/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="/terminal/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="/terminal/common-features">Common Menus</a><button aria-label="Toggle the collapsible sidebar category &#x27;Common Menus&#x27;" type="button" class="clean-btn menu__caret"></button></div></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="/terminal/guides/intros/crypto">Cryptocurrency</a><button aria-label="Toggle the collapsible sidebar category &#x27;Cryptocurrency&#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="/terminal/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="/terminal/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="/terminal/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="/terminal/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="/terminal/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="/terminal/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="/terminal/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-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="/terminal/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></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="/terminal/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="/terminal/reference">Terminal Reference</a><button aria-label="Toggle the collapsible sidebar category &#x27;Terminal Reference&#x27;" type="button" class="clean-btn menu__caret"></button></div></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 Terminal</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 menu is a machine learning toolkit that provides practitioners with high-level components that can quickly provide state-of-the-art results, be it with with classical or deep learning models, while also providing researchers with low-level components that can be mixed, matched and fine tuned to build new approaches and custom tuned models. Bring in multiple datasets and train machine learning models with unlimited external factors to see how underlying data may change future forecasting predictions and accuracy.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="accessing-the-forecast-menu">Accessing the Forecast menu<a class="hash-link" href="#accessing-the-forecast-menu" title="Direct link to heading">​</a></h3><p>The Forecast menu is called upon by typing <code>forecast</code> which opens the following menu:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) / $ forecast</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><img loading="lazy" width="1244" alt="image" src="https://user-images.githubusercontent.com/105685594/192546554-d75280d1-8d43-4c42-b1ba-e2f42bf5dc96.png" class="img_ev3q"><h3 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></h3><p>To begin any machine learning, you must first load in data. The menu supports importing both terminal datasets found in <code>stocks</code> and <code>cryptocurrency</code>, along with external datasets in the form of <code>.csv</code> that can be placed in the following location: <code>~/OpenBBUserData/custom_imports/forecast/</code></p><p>It is important to note, if you ever have troubles on running a command, please read the help commands to guide you on what is available. You can do this by trailing any command with a <code>-h</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ &lt;command&gt; -h</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><h4 class="anchor anchorWithStickyNavbar_LWe7" id="loading-data">Loading Data<a class="hash-link" href="#loading-data" title="Direct link to heading">​</a></h4><p>Importing data from within the terminal can be simply done as follows:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) / $ stocks</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /stocks/ $ load AAPL</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /stocks/ $ forecast</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 menu can support loading in unlimited datasets. Once the first one is loaded, the menu options should turn blue to allow you to begin working through the menu options.</p><p>To load external data in the form as <code>.csv</code>, please place them into the folder shown within your terminal menu and then load them in as follows:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) / $ forecast</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ load msft.csv</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ load btc.csv</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><img loading="lazy" width="1244" alt="image" src="https://user-images.githubusercontent.com/105685594/192547582-33012e7a-4dbd-412d-a22d-8812d251981e.png" class="img_ev3q"><h4 class="anchor anchorWithStickyNavbar_LWe7" id="understanding-the-structure-of-the-menu">Understanding the structure of the menu<a class="hash-link" href="#understanding-the-structure-of-the-menu" title="Direct link to heading">​</a></h4><p>The menu is broken up into three distinct sections. These sections represent the typical order of operations a machine learning professional would have to take in order to complete a project. Once data is loaded in, begin with <code>Exploration</code>.</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="exploration">Exploration<a class="hash-link" href="#exploration" title="Direct link to heading">​</a></h5><p>Explore the datasets loaded into the menu to further understand your data and create unique new datasets by combining and analyzing features. Functions to note: <code>plot</code>, <code>combine</code>, <code>desc</code>, <code>corr</code>.</p><img loading="lazy" width="692" alt="image" src="https://user-images.githubusercontent.com/105685594/189729792-079f151e-f2b4-41bf-99d9-c83849c59170.png" class="img_ev3q"><h5 class="anchor anchorWithStickyNavbar_LWe7" id="feature-engineering">Feature Engineering<a class="hash-link" href="#feature-engineering" title="Direct link to heading">​</a></h5><p>Manuipulate datasets (addition, deletion, combination, mutation) of your data set to potentially improve machine learning model training, by providing new features and covariates that may leading to better performance and greater accuracy.</p><img loading="lazy" width="694" alt="image" src="https://user-images.githubusercontent.com/105685594/189730399-fc4051f2-4d8e-4ff1-8494-44528d8f5513.png" class="img_ev3q"><h5 class="anchor anchorWithStickyNavbar_LWe7" id="imeseries-forecasting">imeSeries Forecasting<a class="hash-link" href="#imeseries-forecasting" title="Direct link to heading">​</a></h5><p>Train state of the art models on custom datasets and experiment tuning hyperparameters. For more information on specific model
implementations, please see <a href="https://unit8co.github.io/darts/generated_api/darts.models.forecasting.html" target="_blank" rel="noopener noreferrer">Darts Models</a>
for in depth documentation.</p><img loading="lazy" width="694" alt="image" src="https://user-images.githubusercontent.com/105685594/189730287-1c5c8141-1801-4a35-b9e9-acb32be35c13.png" class="img_ev3q"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-workflow-1-beginner">Sample workflow #1 (beginner)<a class="hash-link" href="#sample-workflow-1-beginner" title="Direct link to heading">​</a></h3><p>Let&#x27;s begin by using one of the datasets we loaded in previously : <code>AAPL</code></p><p>We will be forecasting <code>5 Business days</code> ahead for the remaider of these workflows unless specified.</p><p><strong>Note:</strong> All models automatically perform Historical backtesting on the test split before providing a prediction.</p><p>We use <a href="https://en.wikipedia.org/wiki/Mean_absolute_percentage_error" target="_blank" rel="noopener noreferrer">MAPE</a> as it is quite convenient and scale independent since it calculates error as a percentage instead of an absolute value. THere are many more metrics to compare time series. The metrics will compare only common slices of series when the two series are not aligned, and parallelize computation over a large number of pairs of series. More metrics will be released in future versions of the menu.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ plot AAPL.close</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/189739347-476b24d5-ee68-43ac-9fad-e780f64ab72f.png" class="img_ev3q"><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ desc AAPL</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"> Showing Descriptive Statistics for Dataset AAPL</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">┃ ┃ open ┃ high ┃ low ┃ close ┃ adj_close ┃ volume ┃</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">│ count │ 758.00 │ 758.00 │ 758.00 │ 758.00 │ 758.00 │ 758.00 │</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">│ mean │ 121.57 │ 123.07 │ 120.15 │ 121.68 │ 120.72 │ 113864153.69 │</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">│ std │ 36.37 │ 36.74 │ 35.95 │ 36.34 │ 36.61 │ 56098731.72 │</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">│ min │ 53.47 │ 54.11 │ 52.77 │ 53.54 │ 52.38 │ 41000000.00 │</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">│ 25% │ 83.10 │ 86.41 │ 83.04 │ 84.16 │ 83.00 │ 77032650.00 │</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">│ 50% │ 128.18 │ 129.64 │ 126.63 │ 127.86 │ 126.70 │ 98135650.00 │</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">│ 75% │ 149.05 │ 150.38 │ 147.69 │ 149.14 │ 148.50 │ 131152875.00 │</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">│ max │ 182.63 │ 182.94 │ 179.12 │ 182.01 │ 181.26 │ 426510000.00 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└───────┴────────┴────────┴────────┴────────┴───────────┴──────────────┘</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>Let&#x27;s use a simple <strong>Probabilistic Exponential Smoothing Model</strong> to predict the close price. Keep in mind all models are perform automatic historical backtesting before providing future forecasts. Note that all models forecast <code>close</code> by default.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ expo AAPL</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:17&lt;00:00, 6.44it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Exponential smoothing obtains MAPE: 3.86%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 157.37</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-12 │ 157.99 │</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">│ 2022-09-13 │ 157.89 │</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">│ 2022-09-14 │ 158.32 │</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">│ 2022-09-15 │ 158.25 │</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">│ 2022-09-16 │ 158.52 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/189740925-ed0fb214-8b1c-4aff-a149-517d122082c8.png" class="img_ev3q"><p>That looks great, but we might want to see it a little more up close. Lets set the flag for <code>--forecast-only</code>.</p><img loading="lazy" width="791" alt="image" src="https://user-images.githubusercontent.com/105685594/189741811-21832a87-f05f-4191-88f8-6ac30eb3d7b6.png" class="img_ev3q"><p>We can also play with some models that are bit more advanced. As we go down the list, models begin to become larger in parameter size and complexity. This will play a key role later on when we want to train models with <code>past_covariates</code> (aka. external factors).</p><p>This time lets test with a <strong>Recurrent Neural Network</strong> which by default uses an <code>LSTM</code> backbone. We can also choose to test out a <code>GRU</code> backbone to experiment. Let&#x27;s do both and see if we can improve our accuracy and reduce the overall MAPE.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ rnn AAPL --forecast-only</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 193: 100%|███████████████████████████████████████████████████████████| 25/25 [00:00&lt;00:00, 129.49it/s, loss=-2.74, train_loss=-2.75, val_loss=-2.22]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:01&lt;00:00, 86.89it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">RNN model obtains MAPE: 3.69%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 157.37</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-12 │ 155.71 │</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">│ 2022-09-13 │ 155.42 │</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">│ 2022-09-14 │ 155.11 │</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">│ 2022-09-15 │ 154.81 │</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">│ 2022-09-16 │ 154.51 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="791" alt="image" src="https://user-images.githubusercontent.com/105685594/189743690-2f1be795-437e-4e4f-992e-3e8ad4de62f6.png" class="img_ev3q"><p>Seems like we improved the performance and reduced MAPE!</p><p>Now for the second task, we would like to change the model type from <code>LSTM</code> --&gt; <code>GRU</code>. Use the <code>-h</code> flag to understand the particular parameters one can change for RNN. (Please note that the parameters are different for each model).</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ rnn -h</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">usage: rnn [--hidden-dim HIDDEN_DIM] [--training_length TRAINING_LENGTH] [--naive] [-d {AAPL,msft}] [-c TARGET_COLUMN] [-n N_DAYS] [-t TRAIN_SPLIT]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> [-i INPUT_CHUNK_LENGTH] [--force-reset FORCE_RESET] [--save-checkpoints SAVE_CHECKPOINTS] [--model-save-name MODEL_SAVE_NAME]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> [--n-epochs N_EPOCHS] [--model-type MODEL_TYPE] [--dropout DROPOUT] [--batch-size BATCH_SIZE] [--end S_END_DATE] [--start S_START_DATE]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> [--learning-rate LEARNING_RATE] [--residuals] [--forecast-only] [-h] [--export EXPORT]</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">Perform RNN forecast (Vanilla RNN, LSTM, GRU)</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">optional arguments:</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --hidden-dim HIDDEN_DIM</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Size for feature maps for each hidden RNN layer (h_n) (default: 20)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --training_length TRAINING_LENGTH</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The length of both input (target and covariates) and output (target) time series used during training. Generally speaking,</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> training_length should have a higher value than input_chunk_length because otherwise during training the RNN is never run for as</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> many iterations as it will during training. (default: 20)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --naive Show the naive baseline for a model. (default: False)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -d {AAPL,msft}, --target-dataset {AAPL,msft}</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The name of the dataset you want to select (default: None)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -c TARGET_COLUMN, --target-column TARGET_COLUMN</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> The name of the specific column you want to use (default: close)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -n N_DAYS, --n-days N_DAYS</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> prediction days. (default: 5)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -t TRAIN_SPLIT, --train-split TRAIN_SPLIT</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Start point for rolling training and forecast window. 0.0-1.0 (default: 0.85)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -i INPUT_CHUNK_LENGTH, --input-chunk-length INPUT_CHUNK_LENGTH</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Number of past time steps for forecasting module at prediction time. (default: 14)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --force-reset FORCE_RESET</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> If set to True, any previously-existing model with the same name will be reset (all checkpoints will be discarded). (default:</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> True)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --save-checkpoints SAVE_CHECKPOINTS</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Whether to automatically save the untrained model and checkpoints. (default: True)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --model-save-name MODEL_SAVE_NAME</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Name of the model to save. (default: rnn_model)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --n-epochs N_EPOCHS Number of epochs over which to train the model. (default: 300)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --model-type MODEL_TYPE</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Either a string specifying the RNN module type (&quot;RNN&quot;, &quot;LSTM&quot; or &quot;GRU&quot;) (default: LSTM)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --dropout DROPOUT Fraction of neurons afected by Dropout. (default: 0)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --batch-size BATCH_SIZE</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Number of time series (input and output) used in each training pass (default: 32)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --end S_END_DATE The end date (format YYYY-MM-DD) to select for testing (default: None)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --start S_START_DATE The start date (format YYYY-MM-DD) to select for testing (default: None)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --learning-rate LEARNING_RATE</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Learning rate during training. (default: 0.001)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --residuals Show the residuals for the model. (default: False)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --forecast-only Do not plot the hisotorical data without forecasts. (default: False)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> -h, --help show this help message (default: False)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> --export EXPORT Export figure into png, jpg, pdf, svg (default: )</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>Lets change the <code>--model-type</code> parameter to <code>GRU</code> and rerun.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ rnn AAPL --model-type GRU --forecast-only</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 35: 100%|████████████████████████████████████████████████████████████| 25/25 [00:00&lt;00:00, 125.85it/s, loss=-2.72, train_loss=-2.74, val_loss=-2.13]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:01&lt;00:00, 85.14it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">RNN model obtains MAPE: 3.64%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 157.37</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-12 │ 155.28 │</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">│ 2022-09-13 │ 155.02 │</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">│ 2022-09-14 │ 154.65 │</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">│ 2022-09-15 │ 154.30 │</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">│ 2022-09-16 │ 153.96 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="791" alt="image" src="https://user-images.githubusercontent.com/105685594/189745500-c079614c-9213-4fcb-8967-01a5b85a5722.png" class="img_ev3q"><p>Looks like we squeezed out a little bit more accuracy! Good work.</p><p>The take away for this is that all models should work out of the box when forecasting for a particular Timeseries. One can switch the target by specifying a <code>-c</code> for <code>TARGET_COLUMN</code> and test out performance with multiple different models with a single command.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-workflow-2-advanced">Sample workflow #2 (advanced)<a class="hash-link" href="#sample-workflow-2-advanced" title="Direct link to heading">​</a></h3><p>To build successful models and improve accuracy over time, it is important to capture external data related to the timeseries you are training on. This can be seen in everyday applications:</p><ul><li>Observed rainfalls and known weather forecasts can help to predict hydro and solar electricity production</li><li>Recently-observed activity on an e-commerce website can help predict future sales.</li><li>Making the model aware of up-coming holidays can help sales forecasting.</li></ul><p>In fact, more often than not, strictly relying on the history of a time series
to predict its future is missing a lot of valuable information.</p><p><strong>Past covariates</strong> are time series whose past values are known at prediction
time. Those series often contain values that have to be observed to be known.</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/105685594/190244764-ce8cf01f-c959-4827-a326-62b0e172332d.png" alt="image" class="img_ev3q"></p><p>If you would like to explore this topic more, please read the <a href="https://medium.com/unit8-machine-learning-publication/time-series-forecasting-using-past-and-future-external-data-with-darts-1f0539585993" target="_blank" rel="noopener noreferrer">blog post</a> written by the authors of Darts.</p><p>Note that only the following models can handle <code>past_covariates</code>: <code>BlockRNNModel</code>, <code>NBEATSModel</code>, <code>TCNModel</code>, <code>TransformerModel</code>, <code>RegressionModel</code> (incl. <code>LinearRegressionModel</code>), <code>Temporal Fusion Transformer</code></p><p>In this work flow lets do the following:</p><ul><li>add in some correlation analysis</li><li>combine datasets</li><li>perform feature engineering</li><li>train models with <code>past_covariates</code></li></ul><p>Let&#x27;s begin by loading in our datasets of AAPL and MSFT once again. In this work flow we are going to test if <code>close</code> price of MSFT is at all affected by the <code>close</code> of AAPL.</p><p>For a refresher, we will grab data from the <code>stocks</code> menu found on the terminal.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) / $ stocks</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /stocks/ $ load AAPL</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /stocks/ $ forecast</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ ..</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /stocks/ $ load MSFT</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /stocks/ $ forecast</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><img loading="lazy" width="476" alt="image" src="https://user-images.githubusercontent.com/105685594/190245759-758e566f-ad35-49fe-8df1-7d87f5d9f935.png" class="img_ev3q"><p>Before we go combining them, let&#x27;s train a simple <code>Block RNN</code> model on MSFT <code>close</code> price to see how to use <code>past_covariates</code></p><p>Make sure to always check your current data set to know the column names:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ show MSFT</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">MSFT dataset has shape (row, column): (759, 7)</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"> Dataset MSFT | Showing 10 of 759 rows</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">┃ ┃ date ┃ open ┃ high ┃ low ┃ close ┃ adj_close ┃ volume ┃</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">│ 0 │ 2019-09-10 00:00:00 │ 136.80 │ 136.89 │ 134.51 │ 136.08 │ 132.22 │ 28903400 │</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">│ 1 │ 2019-09-11 00:00:00 │ 135.91 │ 136.27 │ 135.09 │ 136.12 │ 132.26 │ 24726100 │</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">│ 2 │ 2019-09-12 00:00:00 │ 137.85 │ 138.42 │ 136.87 │ 137.52 │ 133.62 │ 27010000 │</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">│ 3 │ 2019-09-13 00:00:00 │ 137.78 │ 138.06 │ 136.57 │ 137.32 │ 133.42 │ 23363100 │</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">│ 4 │ 2019-09-16 00:00:00 │ 135.83 │ 136.70 │ 135.66 │ 136.33 │ 132.46 │ 16731400 │</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">│ 5 │ 2019-09-17 00:00:00 │ 136.96 │ 137.52 │ 136.43 │ 137.39 │ 133.49 │ 17814200 │</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">│ 6 │ 2019-09-18 00:00:00 │ 137.36 │ 138.67 │ 136.53 │ 138.52 │ 134.59 │ 23982100 │</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">│ 7 │ 2019-09-19 00:00:00 │ 140.30 │ 142.37 │ 140.07 │ 141.07 │ 137.07 │ 35772100 │</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">│ 8 │ 2019-09-20 00:00:00 │ 141.01 │ 141.65 │ 138.25 │ 139.44 │ 135.48 │ 39167300 │</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">│ 9 │ 2019-09-23 00:00:00 │ 139.23 │ 139.63 │ 138.44 │ 139.14 │ 135.19 │ 17139300 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└───┴─────────────────────┴────────┴────────┴────────┴────────┴───────────┴──────────┘</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>Without any covariates:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ brnn MSFT --forecast-only</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 87: 100%|█████████████████████████████████████████████████████████████| 25/25 [00:00&lt;00:00, 33.84it/s, loss=-2.06, train_loss=-2.27, val_loss=-1.82]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting Block RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:06&lt;00:00, 18.76it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Block RNN model obtains MAPE: 4.62%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 251.99</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-14 │ 258.52 │</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">│ 2022-09-15 │ 258.01 │</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">│ 2022-09-16 │ 258.95 │</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">│ 2022-09-19 │ 257.20 │</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">│ 2022-09-20 │ 257.66 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/190246958-d97ca130-2d4c-448d-b880-81ac3d70e93b.png" class="img_ev3q"><p>With covariates:</p><p>To use any covariates, you have 2 options:</p><ul><li>specify specific columns with <code>--past-covariates</code></li><li>specify all columns as past covariates except the one you are forecasting
<code>--all-past-covariates</code></li></ul><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ brnn MSFT --forecast-only --past-covariates volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #0: volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 37: 100%|████████████████████████████████████████████████████████████| 25/25 [00:00&lt;00:00, 149.03it/s, loss=-2.16, train_loss=-2.08, val_loss=-1.44]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting Block RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:01&lt;00:00, 88.94it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Block RNN model obtains MAPE: 5.10%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 251.99</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-14 │ 257.02 │</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">│ 2022-09-15 │ 255.82 │</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">│ 2022-09-16 │ 260.13 │</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">│ 2022-09-19 │ 258.32 │</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">│ 2022-09-20 │ 258.52 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/190247412-fe533231-17d9-4dc6-b41f-f5a27b6c2d57.png" class="img_ev3q"><p>You can see here that adding in the external variable of <code>volume</code> negatively affected the accuracy.</p><p>Let&#x27;s add in all remaining columns from our dataset as covariates and see what happens to the accuracy.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ brnn MSFT --forecast-only --all-past-covariates</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #0: open</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #1: high</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #2: low</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #3: adj_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #4: volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 50: 100%|████████████████████████████████████████████████████████████| 25/25 [00:00&lt;00:00, 149.29it/s, loss=-2.41, train_loss=-2.53, val_loss=-1.71]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting Block RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:01&lt;00:00, 89.43it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Block RNN model obtains MAPE: 4.26%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 251.99</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-14 │ 259.28 │</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">│ 2022-09-15 │ 259.13 │</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">│ 2022-09-16 │ 259.42 │</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">│ 2022-09-19 │ 257.73 │</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">│ 2022-09-20 │ 258.64 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/190248547-2bd7801e-4ac4-43c0-868b-9aa2f79a3c3c.png" class="img_ev3q"><p><strong>Final Result:</strong> Using <code>open</code>, <code>high</code>, <code>low</code>, <code>adj_close</code>, <code>volume</code> as
<code>past_covariates</code> improved MAPE from 4.62 --&gt; 4.26.</p><p>Now that we know how to use covariates and understand their effect, why don&#x27;t we also use <code>AAPL</code>&#x27;s ticker data as <code>past_covariates</code> to check whether this correlates and improves our forecasting accuracy.</p><p><strong>Remember: You can use unlimited number of <code>past_covariates</code> but they must all be combined into a single dataframe with the target forecast timeseries before training.</strong></p><p>We will combine <code>MSFT</code> and <code>AAPL</code>.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ combine MSFT -c AAPL</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ show MSFT</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">MSFT dataset has shape (row, column): (759, 13)</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Dataframe has more than 10 columns. Please export to see all of the data.</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Dataset MSFT | Showing 10 of 759 rows</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">┃ ┃ date ┃ open ┃ high ┃ low ┃ close ┃ adj_close ┃ volume ┃ AAPL_open ┃ AAPL_high ┃ AAPL_low ┃</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">│ 0 │ 2019-09-10 00:00:00 │ 136.80 │ 136.89 │ 134.51 │ 136.08 │ 132.22 │ 28903400 │ 53.47 │ 54.19 │ 52.93 │</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">│ 1 │ 2019-09-11 00:00:00 │ 135.91 │ 136.27 │ 135.09 │ 136.12 │ 132.26 │ 24726100 │ 54.52 │ 55.93 │ 54.43 │</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">│ 2 │ 2019-09-12 00:00:00 │ 137.85 │ 138.42 │ 136.87 │ 137.52 │ 133.62 │ 27010000 │ 56.20 │ 56.60 │ 55.72 │</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">│ 3 │ 2019-09-13 00:00:00 │ 137.78 │ 138.06 │ 136.57 │ 137.32 │ 133.42 │ 23363100 │ 55.00 │ 55.20 │ 54.26 │</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">│ 4 │ 2019-09-16 00:00:00 │ 135.83 │ 136.70 │ 135.66 │ 136.33 │ 132.46 │ 16731400 │ 54.43 │ 55.03 │ 54.39 │</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">│ 5 │ 2019-09-17 00:00:00 │ 136.96 │ 137.52 │ 136.43 │ 137.39 │ 133.49 │ 17814200 │ 54.99 │ 55.21 │ 54.78 │</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">│ 6 │ 2019-09-18 00:00:00 │ 137.36 │ 138.67 │ 136.53 │ 138.52 │ 134.59 │ 23982100 │ 55.26 │ 55.71 │ 54.86 │</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">│ 7 │ 2019-09-19 00:00:00 │ 140.30 │ 142.37 │ 140.07 │ 141.07 │ 137.07 │ 35772100 │ 55.50 │ 55.94 │ 55.09 │</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">│ 8 │ 2019-09-20 00:00:00 │ 141.01 │ 141.65 │ 138.25 │ 139.44 │ 135.48 │ 39167300 │ 55.35 │ 55.64 │ 54.37 │</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">│ 9 │ 2019-09-23 00:00:00 │ 139.23 │ 139.63 │ 138.44 │ 139.14 │ 135.19 │ 17139300 │ 54.74 │ 54.96 │ 54.41 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└───┴─────────────────────┴────────┴────────┴────────┴────────┴───────────┴──────────┴───────────┴───────────┴──────────┘</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>Now we can run the same <code>BRNN</code> model with all <code>past_covariates</code> of both tickers. The output will show the model grabbing all covariates to bring into training to predict <code>close</code> of <code>MSFT</code>.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ brnn MSFT --forecast-only --all-past-covariates</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #0: open</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #1: high</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #2: low</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #3: adj_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #4: volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #5: AAPL_open</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #6: AAPL_high</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #7: AAPL_low</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #8: AAPL_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #9: AAPL_adj_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #10: AAPL_volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 116: 100%|████████████████████████████████████████████████████████████| 25/25 [00:00&lt;00:00, 149.26it/s, loss=-2.5, train_loss=-2.61, val_loss=-1.93]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting Block RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 115/115 [00:01&lt;00:00, 90.26it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Block RNN model obtains MAPE: 3.93%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 251.99</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-14 │ 259.78 │</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">│ 2022-09-15 │ 258.15 │</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">│ 2022-09-16 │ 261.44 │</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">│ 2022-09-19 │ 257.57 │</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">│ 2022-09-20 │ 257.99 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/190250934-61e55441-dd20-439e-bff1-a54904ecfec9.png" class="img_ev3q"><p>For one last experiment, we can perform some other feature engineering on <code>MSFT</code> and add it to our <code>past_covariates</code> to train on.</p><p>In this case, let&#x27;s add in <code>Momentum</code> over past 10 days of <code>MSFT</code> and append it to our <code>past_covariates</code></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-text codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">(🦋) /forecast/ $ mom MSFT</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Successfully added &#x27;Momentum_10&#x27; to &#x27;MSFT&#x27; dataset</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">(🦋) /forecast/ $ brnn MSFT --forecast-only --all-past-covariates</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">The data contains inf or nan values. They will be removed.</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: open</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #1: high</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #2: low</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #3: adj_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #4: volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #5: AAPL_open</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #6: AAPL_high</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #7: AAPL_low</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #8: AAPL_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #9: AAPL_adj_close</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #10: AAPL_volume</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Covariate #11: Momentum_10</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Epoch 71: 100%|████████████████████████████████████████████████████████████| 24/24 [00:00&lt;00:00, 147.87it/s, loss=-2.52, train_loss=-2.57, val_loss=-1.82]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Predicting Block RNN for 5 days</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 114/114 [00:01&lt;00:00, 90.05it/s]</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">Block RNN model obtains MAPE: 3.72%</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" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Actual price: 251.99</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">┃ Datetime ┃ Prediction ┃</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">│ 2022-09-14 │ 255.14 │</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">│ 2022-09-15 │ 256.20 │</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">│ 2022-09-16 │ 256.67 │</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">│ 2022-09-19 │ 258.63 │</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">│ 2022-09-20 │ 256.62 │</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">└────────────┴────────────┘</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><img loading="lazy" width="792" alt="image" src="https://user-images.githubusercontent.com/105685594/190255025-9f32d6ff-d1d7-4cdf-80a8-2a6ff4c0617d.png" class="img_ev3q"><p>There we have it. Bringing in another ticker has allowed us to further improve the model accuracy. Furthermore, adding in a new feature to the dataset allowed us to improve the accuracy further.</p><p><strong>MAPE = 4.62%</strong> (no past covariates)</p><p><strong>MAPE = 4.26%</strong> (<code>open</code>,<code>high</code>,<code>low</code>,<code>adj_close</code>,<code>volume</code>)</p><p><strong>MAPE = 3.93%</strong>
(<code>open</code>,<code>high</code>,<code>low</code>,<code>adj_close</code>,<code>volume</code>,<code>AAPL_open</code>,<code>AAPL_high</code>,<code>APPL_low</code>,<code>APPL_adj_close</code>,<code>APPL_volume</code>,<code>APPL_close</code>)</p><p><strong>MAPE = 3.72%</strong>
(<code>open</code>,<code>high</code>,<code>low</code>,<code>adj_close</code>,<code>volume</code>,<code>AAPL_open</code>,<code>AAPL_high</code>,<code>APPL_low</code>,<code>APPL_adj_close</code>,<code>APPL_volume</code>,<code>APPL_close</code>,<code>Momentum_10</code>)</p><p>If you have any questions or would like to request for new feature engineering or model additions, please join us on <a href="/terminal/guides/intros/openbb.co/discord">Discord</a>. Happy hacking!</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenBB-finance/OpenBBTerminal/edit/main/website/content/terminal/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="/terminal/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="/terminal/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="#accessing-the-forecast-menu" class="text-grey-400 capitalize !no-underline">Accessing the Forecast menu</a></li><li class="py-1"><a href="#how-to-use" class="text-grey-400 capitalize !no-underline">How to Use</a></li><li class="py-1"><a href="#sample-workflow-1-beginner" class="text-grey-400 capitalize !no-underline">Sample workflow #1 (beginner)</a></li><li class="py-1"><a href="#sample-workflow-2-advanced" class="text-grey-400 capitalize !no-underline">Sample workflow #2 (advanced)</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>