mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-28 21:12:16 +00:00
19 lines
76 KiB
HTML
19 lines
76 KiB
HTML
<!doctype html>
|
||
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-sdk docs-doc-id-guides/intros/quantitative-analysis">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="generator" content="Docusaurus v2.2.0">
|
||
<title data-rh="true">Quantitative Analysis | OpenBB Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://docs.openbb.co/img/banner.png"><meta data-rh="true" name="twitter:image" content="https://docs.openbb.co/img/banner.png"><meta data-rh="true" property="og:url" content="https://docs.openbb.co/sdk/guides/intros/quantitative-analysis"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-sdk-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-sdk-current"><meta data-rh="true" property="og:title" content="Quantitative Analysis | OpenBB Docs"><meta data-rh="true" name="description" content="The qa module is the Terminal's Quantitative Analysis menu for the SDK environment. It provides users with more ways to interact with the library of functions, and provides cross-disciplinary utility. To activate the code completion for the menu, enter . after, openbb.qa."><meta data-rh="true" property="og:description" content="The qa module is the Terminal's Quantitative Analysis menu for the SDK environment. It provides users with more ways to interact with the library of functions, and provides cross-disciplinary utility. To activate the code completion for the menu, enter . after, openbb.qa."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.openbb.co/sdk/guides/intros/quantitative-analysis"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/sdk/guides/intros/quantitative-analysis" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openbb.co/sdk/guides/intros/quantitative-analysis" hreflang="x-default"><script data-rh="true" defer="true" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon="{"token": "100eb319cb954b9ea86aa757652c0958"}"></script><link rel="preconnect" href="https://www.google-analytics.com">
|
||
<link rel="preconnect" href="https://www.googletagmanager.com">
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YN9SL785J6"></script>
|
||
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-YN9SL785J6",{anonymize_ip:!0})</script><link rel="stylesheet" href="/assets/css/styles.900aa1c9.css">
|
||
<link rel="preload" href="/assets/js/runtime~main.6abb557d.js" as="script">
|
||
<link rel="preload" href="/assets/js/main.645ad6c2.js" as="script">
|
||
</head>
|
||
<body class="navigation-with-keyboard" data-theme="light">
|
||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
|
||
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav class="border-b border-grey-600 lg:px-12 header_docs_sdk navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div class="flex items-center gap-x-[56px]"><a class="ml-5 mb-1 md:mb-0 md:ml-0" href="/"><svg viewBox="0 0 170 17" width="170" height="17" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-white"><path d="M106.107 1.889v11.334l-.961-.946-.959-.945-.962-.943-.959-.946-.961-.943-.962-.945-.959-.944-.961-.945-.96-.943-.961-.946-.96-.943-.96-.945H92.66V17H94.582V4.723l.96.943.96.945.961.944.96.945.961.943.959.946.962.943.961.945.959.946.962.943.959.945.961.944.96.945h.961V1.889H106.107ZM137.03 7.557h-1.921V1.889h-11.524V17h15.37V7.546h-1.92l-.005.01Zm-11.524-.946V3.773h7.683v3.78h-7.683V6.61Zm11.524 3.778v4.727h-11.524v-5.67h11.524v.943ZM168.901 7.557h-2.88V1.889h-11.526V0h-1.921v1.889h1.921V17h15.365V7.546l-.959.01Zm-12.485-.946V3.773h7.684v3.78h-7.684V6.61Zm11.526 3.778v4.727h-11.526v-5.67h11.526v.943ZM75.314 1.889H61.867V17H77.23V15.111H63.787V11.332h11.521V9.443H63.788V3.777H77.23V1.89h-1.916ZM13.444 1.889H0V17h15.367V1.889h-1.922Zm0 2.834V15.11H1.918V3.773h11.527v.95ZM44.397 1.889H30.952V17h1.92v-5.666h13.445V1.88h-1.92v.009Zm0 2.834V9.45H32.873V3.773h11.524v.95Z" fill="currentColor"></path></svg></a><div class="hidden p-2 border border-grey-400 rounded h-[34px] items-center bg-grey-900 gap-3 md:flex"><a class="text-xs rounded px-2 py-1 hover:text-white hover:no-underline text-grey-500 hover:bg-grey-800" href="/terminal">Terminal</a><a class="text-xs px-2 py-1 rounded hover:text-white hover:no-underline text-grey-100 bg-grey-800" href="/sdk">SDK</a></div></div></div><div class="navbar__items navbar__items--right"><div class="flex gap-4 ml-4 md:ml-0"><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="" data-state="closed" class="bg-grey-900 radix-state-open:text-white hover:border-grey-200 hover:text-grey-200 radix-state-open:border-white border -mt-[0.6px] h-[34px] w-[34px] text-grey-400 border-grey-400 rounded flex items-center justify-center"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><div class="searchBox_ZlJk"><div class="dsla-search-wrapper"><div class="dsla-search-field" data-tags="default,docs-default-current,docs-sdk-current"></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebar_njMd"><nav class="menu thin-scrollbar mt-[40px] !px-10 text-sm !pb-10 menu_Y1UP"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/sdk">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/sdk/quickstart/requirements">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/sdk/guides/basics">Using OpenBB SDK</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/basics">Basics</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/sdk/guides/intros/alternative">Intros</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/alternative">Alternative</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/crypto">Crypto</a><button aria-label="Toggle the collapsible sidebar category 'Crypto'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/econometrics">Econometrics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/economy">Economy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/etf">ETF</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/forecast">Forecast</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/forex">Forex</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/futures">Futures</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/portfolio">Portfolio</a><button aria-label="Toggle the collapsible sidebar category 'Portfolio'" 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 menu__link--active" aria-current="page" tabindex="0" href="/sdk/guides/intros/quantitative-analysis">Quantitative Analysis</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/stocks">Stocks</a><button aria-label="Toggle the collapsible sidebar category 'Stocks'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/ta">Technical Analysis</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/sdk/guides/advanced/api-keys">Advanced</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/sdk/reference">SDK Reference</a><button aria-label="Toggle the collapsible sidebar category 'SDK Reference'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/sdk/showcase">Showcase</a></li></ul></nav></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_OVgt"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Using OpenBB SDK</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Intros</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Quantitative Analysis</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>Quantitative Analysis</h1></header><p>The <code>qa</code> module is the Terminal's Quantitative Analysis menu for the SDK environment. It provides users with more ways to interact with the library of functions, and provides cross-disciplinary utility. To activate the code completion for the menu, enter <code>.</code> after, <code>openbb.qa</code>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use">How to Use<a class="hash-link" href="#how-to-use" title="Direct link to heading"></a></h2><p>The functions of the <code>qa</code> module are grouped into categories, listed below along with a short description.</p><table><thead><tr><th align="left">Path</th><th align="center">Type</th><th align="right">Description</th></tr></thead><tbody><tr><td align="left">openbb.qa.acf</td><td align="center">Plot</td><td align="right">Plots Auto and Partial Correlation of Returns and Change in Returns</td></tr><tr><td align="left">openbb.qa.bw</td><td align="center">Plot</td><td align="right">Box and Whisker Plot</td></tr><tr><td align="left">openbb.qa.calculate_adjusted_var</td><td align="center">Risk</td><td align="right">Calculates VaR, adjusted for skew and kurtosis (Cornish-Fisher-Expansion)</td></tr><tr><td align="left">openbb.qa.cdf</td><td align="center">Plot</td><td align="right">Plots the Cumulative Distribution Function</td></tr><tr><td align="left">openbb.qa.cusum</td><td align="center">Plot</td><td align="right">Plots the Cumulative Sum Algorithm</td></tr><tr><td align="left">openbb.qa.decompose</td><td align="center">Plot</td><td align="right">Decomposition in Cyclic-Trend, Season & Residuals of Prices</td></tr><tr><td align="left">openbb.qa.es</td><td align="center">Statistics</td><td align="right">Expected Shortfall per percentile</td></tr><tr><td align="left">openbb.qa.kurtosis</td><td align="center">Rolling Metrics</td><td align="right">Rolling Kurtosis of Distribution of Prices</td></tr><tr><td align="left">openbb.qa.line</td><td align="center">Plot</td><td align="right">Customizable Line Plot, With Annotations</td></tr><tr><td align="left">openbb.qa.normality</td><td align="center">Statistics</td><td align="right">Normality Statistics and Tests</td></tr><tr><td align="left">openbb.qa.omega</td><td align="center">Risk</td><td align="right">Omega Ratio (Risk/Return Performance Measure)</td></tr><tr><td align="left">openbb.qa.quantile</td><td align="center">Rolling Metrics</td><td align="right">Rolling Median and Quantile of Prices</td></tr><tr><td align="left">openbb.qa.qqplot</td><td align="center">Plot</td><td align="right">QQ Plot for Data Against Normal Quantiles</td></tr><tr><td align="left">openbb.qa.rolling</td><td align="center">Rolling Metrics</td><td align="right">Rolling Mean and Standard Deviation of Prices</td></tr><tr><td align="left">openbb.qa.sharpe</td><td align="center">Risk</td><td align="right">Sharpe Ratio (Measure of Risk-Adjusted Return)</td></tr><tr><td align="left">openbb.qa.skew</td><td align="center">Rolling Metrics</td><td align="right">Rolling Skewness of Distribution of Prices</td></tr><tr><td align="left">openbb.qa.sortino</td><td align="center">Risk</td><td align="right">Sortino Ratio Risk Adjustment Metric</td></tr><tr><td align="left">openbb.qa.spread</td><td align="center">Rolling Metrics</td><td align="right">Rolling Variance and Standard Deviation of Prices</td></tr><tr><td align="left">openbb.qa.summary</td><td align="center">Statistics</td><td align="right">A Brief Summary of Statistics for the DataFrame</td></tr><tr><td align="left">openbb.qa.unitroot</td><td align="center">Statistics</td><td align="right">Normality Statistics and Tests</td></tr><tr><td align="left">openbb.qa.var</td><td align="center">Risk</td><td align="right">Value at Risk</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a class="hash-link" href="#examples" title="Direct link to heading"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="import-statements">Import Statements<a class="hash-link" href="#import-statements" title="Direct link to heading"></a></h3><p>The examples below will assume that the following statements are included in the first block of code:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> quandl</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> pandas </span><span class="token keyword" style="color:rgb(86, 156, 214)">as</span><span class="token plain"> pd</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">from</span><span class="token plain"> openbb_terminal</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">sdk </span><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> openbb</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">from</span><span class="token plain"> openbb_terminal </span><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> config_terminal </span><span class="token keyword" style="color:rgb(86, 156, 214)">as</span><span class="token plain"> cfg</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token comment" style="color:rgb(106, 153, 85)"># %matplotlib inline (uncomment if using a Jupyter environment)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-data">Get Data<a class="hash-link" href="#get-data" title="Direct link to heading"></a></h3><p>This example collects data from Nasdaq Data Link, and requires registering for a free API key. Qunadl is the Python client for the Nasdaq Data Link API.</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">shiller_pe_rdiff </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> quandl</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">get</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'MULTPL/SHILLER_PE_RATIO_MONTH'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> collapse </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'monthly'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> transform </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'rdiff'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> api_key </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> cfg</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">API_KEY_QUANDL</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">shiller_pe_rdiff</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'Value'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token string" style="color:rgb(206, 145, 120)">'P/E % Change'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">shiller_pe_ratio </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> quandl</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">get</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'MULTPL/SHILLER_PE_RATIO_MONTH'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> collapse </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'monthly'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> api_key </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> cfg</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">API_KEY_QUANDL</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">shiller_pe_ratio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'Value'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token string" style="color:rgb(206, 145, 120)">'P/E Ratio'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_inf_adj </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> quandl</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">get</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'MULTPL/SP500_INFLADJ_MONTH'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> collapse </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'monthly'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> api_key </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> cfg</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">API_KEY_QUANDL</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_inf_adj</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'Value'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'S&P Inflation-Adjusted Value'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_inf_adj_rdiff </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> quandl</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">get</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'MULTPL/SP500_INFLADJ_MONTH'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> collapse </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'monthly'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> transform </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'rdiff'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> api_key </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> cfg</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">API_KEY_QUANDL</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_inf_adj_rdiff</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'Value'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token string" style="color:rgb(206, 145, 120)">'S&P 500 % Change'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">shiller_pe </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> shiller_pe_ratio</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">join</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">shiller_pe_rdiff</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_inf_adj </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> sp500_inf_adj</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">join</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">sp500_inf_adj_rdiff</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_df </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> sp500_inf_adj</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">join</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">shiller_pe</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_df</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">Date</th><th align="right">S&P Inflation-Adjusted Value</th><th align="right">S&P 500 % Change</th><th align="right">P/E Ratio</th><th align="right">P/E % Change</th></tr></thead><tbody><tr><td align="left">2022-08-31 00:00:00</td><td align="right">3955</td><td align="right">0.0092504</td><td align="right">29.64</td><td align="right">0.022069</td></tr><tr><td align="left">2022-09-30 00:00:00</td><td align="right">3585.62</td><td align="right">-0.0933957</td><td align="right">26.84</td><td align="right">-0.0944669</td></tr><tr><td align="left">2022-10-31 00:00:00</td><td align="right">3871.98</td><td align="right">0.0798635</td><td align="right">28.53</td><td align="right">0.0629657</td></tr><tr><td align="left">2022-11-30 00:00:00</td><td align="right">3856.1</td><td align="right">-0.00410126</td><td align="right">28.37</td><td align="right">-0.00560813</td></tr></tbody></table><p>This particular data series contains 150 years of monthly values. It is among the longest uninterrupted timeseries available in the public domain, and it is cited frequently in macroeconomic research.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a class="hash-link" href="#summary" title="Direct link to heading"></a></h3><p>Get a summary of statistics for each column with <code>qa.summary</code>:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">qa</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">summary</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left"></th><th align="right">S&P Inflation-Adjusted Value</th><th align="right">S&P 500 % Change</th><th align="right">P/E Ratio</th><th align="right">P/E % Change</th></tr></thead><tbody><tr><td align="left">count</td><td align="right">1823</td><td align="right">1822</td><td align="right">1822</td><td align="right">1821</td></tr><tr><td align="left">mean</td><td align="right">697.396</td><td align="right">0.0028703</td><td align="right">16.9914</td><td align="right">0.00137084</td></tr><tr><td align="left">std</td><td align="right">834.501</td><td align="right">0.0424378</td><td align="right">7.07094</td><td align="right">0.0412196</td></tr><tr><td align="left">min</td><td align="right">80.31</td><td align="right">-0.264738</td><td align="right">4.78</td><td align="right">-0.268992</td></tr><tr><td align="left">10%</td><td align="right">152.404</td><td align="right">-0.0447494</td><td align="right">9.31</td><td align="right">-0.0449735</td></tr><tr><td align="left">25%</td><td align="right">203.47</td><td align="right">-0.0172803</td><td align="right">11.7</td><td align="right">-0.0183028</td></tr><tr><td align="left">50%</td><td align="right">309.83</td><td align="right">0.00553122</td><td align="right">15.895</td><td align="right">0.00446999</td></tr><tr><td align="left">75%</td><td align="right">778.42</td><td align="right">0.0260009</td><td align="right">20.5575</td><td align="right">0.0246575</td></tr><tr><td align="left">90%</td><td align="right">1907.87</td><td align="right">0.04505</td><td align="right">26.467</td><td align="right">0.0426357</td></tr><tr><td align="left">max</td><td align="right">4786.79</td><td align="right">0.514085</td><td align="right">44.19</td><td align="right">0.511986</td></tr><tr><td align="left">var</td><td align="right">696392</td><td align="right">0.00180097</td><td align="right">49.9982</td><td align="right">0.00169906</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="spread">Spread<a class="hash-link" href="#spread" title="Direct link to heading"></a></h3><p>Add the variance and standard deviation, over a specified window (three-months), to the DataFrame:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">std</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">variance </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">qa</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">spread</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">data </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">'S&P 500 % Change'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> window </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">3</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">std</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'STDEV_3'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token string" style="color:rgb(206, 145, 120)">'Three-Month Standard Deviation'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">variance</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">columns </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string" style="color:rgb(206, 145, 120)">'VAR_3'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'Three-Month Variance'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_df </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">join</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain">std</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">variance</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rename_axis</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">'date'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> inplace </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token boolean">True</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tail</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token number" style="color:rgb(181, 206, 168)">2</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">date</th><th align="right">S&P Inflation-Adjusted Value</th><th align="right">S&P 500 % Change</th><th align="right">P/E Ratio</th><th align="right">P/E % Change</th><th align="right">Three-Month Standard Deviation</th><th align="right">Three-Month Variance</th></tr></thead><tbody><tr><td align="left">2022-10-31 00:00:00</td><td align="right">3871.98</td><td align="right">0.0798635</td><td align="right">28.53</td><td align="right">0.0629657</td><td align="right">0.0871217</td><td align="right">0.00759019</td></tr><tr><td align="left">2022-11-30 00:00:00</td><td align="right">3856.1</td><td align="right">-0.00410126</td><td align="right">28.37</td><td align="right">-0.00560813</td><td align="right">0.0866432</td><td align="right">0.00750705</td></tr></tbody></table><p>The rolling mean average and standard deviation is calculated with the <code>rolling</code> command. Adding, <code>_chart</code>, to this will return an inline chart within a Jupyter Notebook. For the example below, window, <code>60</code>, represents a five-year period.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="rolling">Rolling<a class="hash-link" href="#rolling" title="Direct link to heading"></a></h3><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">qa</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rolling_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> target </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'P/E Ratio'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> window </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">60</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> symbol </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">''</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/202975615-4400ae87-9cd7-4481-94f1-dfb69de784d6.png" alt="openbb.qa.rolling_chart" title="openbb.qa.rolling_chart" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="unit-root-test">Unit Root Test<a class="hash-link" href="#unit-root-test" title="Direct link to heading"></a></h3><p>Perform a unit root test with <code>unitroot</code>:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token builtin" style="color:rgb(86, 156, 214)">help</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">qa</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">unitroot</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Parameters</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> data </span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> pd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">DataFrame</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> DataFrame of target variable</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> fuller_reg </span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">str</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Type of regression of ADF test</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Can be ‘c’</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">’ct’</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">’ctt’</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">’nc’ </span><span class="token string" style="color:rgb(206, 145, 120)">'c'</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token plain"> Constant </span><span class="token keyword" style="color:rgb(86, 156, 214)">and</span><span class="token plain"> t </span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token plain"> trend order</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> kpss_reg </span><span class="token punctuation" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(86, 156, 214)">str</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Type of regression </span><span class="token keyword" style="color:rgb(86, 156, 214)">for</span><span class="token plain"> KPSS test</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain"> Can be ‘c’</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain">’ct'</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Returns</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token operator" style="color:rgb(212, 212, 212)">-</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> pd</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">DataFrame</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Dataframe </span><span class="token keyword" style="color:rgb(86, 156, 214)">with</span><span class="token plain"> results of ADF test </span><span class="token keyword" style="color:rgb(86, 156, 214)">and</span><span class="token plain"> KPSS test</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">qa</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">unitroot</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">sp500_df</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">'P/E % Change'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left"></th><th align="right">ADF</th><th align="left">KPSS</th></tr></thead><tbody><tr><td align="left">Test Statistic</td><td align="right">-10.7075</td><td align="left">0.34061374135067696</td></tr><tr><td align="left">P-Value</td><td align="right">3.3972e-19</td><td align="left">0.1</td></tr><tr><td align="left">NLags</td><td align="right">20</td><td align="left">2</td></tr><tr><td align="left">Nobs</td><td align="right">1800</td><td align="left"></td></tr><tr><td align="left">ICBest</td><td align="right">-6491.14</td><td align="left"></td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenBB-finance/OpenBBTerminal/edit/main/website/content/sdk/guides/intros/quantitative-analysis.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/sdk/guides/intros/portfolio/po"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Portfolio Optimization</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/sdk/guides/intros/stocks"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Stocks</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_jeP5 thin-scrollbar text-sm mt-[48px] xl:max-w-[216px] theme-doc-toc-desktop"><p class="uppercase text-sm font-bold text-grey-600 dark:text-grey-200 tracking-widest mb-2">On this page</p><ul class="border-l border-grey-300 dark:border-grey-600 list-none pl-4"><li class="pb-1"><a href="#how-to-use" class="text-grey-400 capitalize !no-underline">How to Use</a></li><li class="py-1"><a href="#examples" class="text-grey-400 capitalize !no-underline">Examples</a><ul class="list-none ml-1 border-l border-grey-300 dark:border-grey-600 mt-2"><li class="pb-1 pl-3"><a href="#import-statements" class="text-grey-400 capitalize !no-underline">Import Statements</a></li><li class="py-1 pl-3"><a href="#get-data" class="text-grey-400 capitalize !no-underline">Get Data</a></li><li class="py-1 pl-3"><a href="#summary" class="text-grey-400 capitalize !no-underline">Summary</a></li><li class="py-1 pl-3"><a href="#spread" class="text-grey-400 capitalize !no-underline">Spread</a></li><li class="py-1 pl-3"><a href="#rolling" class="text-grey-400 capitalize !no-underline">Rolling</a></li><li class="py-1 pl-3"><a href="#unit-root-test" class="text-grey-400 capitalize !no-underline">Unit Root Test</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="px-4 border-t dark:border-grey-600/50 lg:px-12 py-14 bg-white dark:bg-grey-900 z-10 overflow-hidden"><div class="flex w-full flex-col justify-between gap-10 md:flex-row md:items-start"><div class="ml-2 mb-2 space-y-10 md:m-0"><a aria-label="Home" class="hover:text-grey-700 dark:text-white dark:hover:text-gray-50" href="/"><svg viewBox="0 0 170 17" width="170" height="17" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-[14px] w-[140px]"><path d="M106.107 1.889v11.334l-.961-.946-.959-.945-.962-.943-.959-.946-.961-.943-.962-.945-.959-.944-.961-.945-.96-.943-.961-.946-.96-.943-.96-.945H92.66V17H94.582V4.723l.96.943.96.945.961.944.96.945.961.943.959.946.962.943.961.945.959.946.962.943.959.945.961.944.96.945h.961V1.889H106.107ZM137.03 7.557h-1.921V1.889h-11.524V17h15.37V7.546h-1.92l-.005.01Zm-11.524-.946V3.773h7.683v3.78h-7.683V6.61Zm11.524 3.778v4.727h-11.524v-5.67h11.524v.943ZM168.901 7.557h-2.88V1.889h-11.526V0h-1.921v1.889h1.921V17h15.365V7.546l-.959.01Zm-12.485-.946V3.773h7.684v3.78h-7.684V6.61Zm11.526 3.778v4.727h-11.526v-5.67h11.526v.943ZM75.314 1.889H61.867V17H77.23V15.111H63.787V11.332h11.521V9.443H63.788V3.777H77.23V1.89h-1.916ZM13.444 1.889H0V17h15.367V1.889h-1.922Zm0 2.834V15.11H1.918V3.773h11.527v.95ZM44.397 1.889H30.952V17h1.92v-5.666h13.445V1.88h-1.92v.009Zm0 2.834V9.45H32.873V3.773h11.524v.95Z" fill="currentColor"></path></svg></a><a class="flex h-[32px] w-[172px] rounded-md border border-grey-300 hover:bg-grey-100 dark:border-white bg-grey-100 dark:bg-white text-xs hover:no-underline" href="https://github.com/OpenBB-finance/OpenBBTerminal" target="_blank" rel="noreferrer"><span class="inline-flex w-[60%] items-center gap-x-[6px] px-3 py-2 text-grey-800"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" style="margin-bottom:3px" class="h-[14.67px] w-[14.67px]"><path d="m12 1 3.263 7.439L23 9.403l-5.72 5.562L18.798 23 12 18.999 5.202 23l1.518-8.035L1 9.403l7.737-.964L12 1Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg>Star us</span><span class="inline-flex w-[40%] items-center justify-center rounded-r-md bg-grey-900 text-grey-500">0</span></a></div><div class="grid grid-cols-1 gap-6 sm:gap-16 md:w-2/3 md:grid-cols-4 lg:w-[68%]"><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Company<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/why-openbb">Why OpenBB?</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/community">Community</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/company">About us</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/company/careers">Careers</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/company/partners">Partners</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Company</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/why-openbb">Why OpenBB?</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/community">Community</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/company">About us</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/company/careers">Careers</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/company/partners">Partners</a></li></ul></div></div><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Products<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/products/terminal">OpenBB Terminal</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://docs.openbb.co/terminal">Terminal Docs</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/products/bot">OpenBB Bot</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://my.openbb.co/app/docs">Bot Docs</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Products</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/products/terminal">OpenBB Terminal</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://docs.openbb.co/terminal">Terminal Docs</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/products/bot">OpenBB Bot</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://my.openbb.co/app/docs">Bot Docs</a></li></ul></div></div><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Community<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/community">Contributors</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/blog">Blog & Stories</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/newsletter">Newsletter</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://www.openbb.design">Brand Book</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Community</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/community">Contributors</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/blog">Blog & Stories</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/newsletter">Newsletter</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://www.openbb.design">Brand Book</a></li></ul></div></div><div><div class="w-full md:hidden"><button class="flex w-full items-center justify-between rounded-sm p-2 font-semibold">Others<svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="tw-transition"><path d="m9 18 6-6-6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="ml-6 mt-2 flex-col items-start gap-4 hidden"><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/request-a-feature">Request feature</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/support">Support</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/contact">Contact</a><a class="flex w-full cursor-pointer gap-x-2 p-2 font-semibold whitespace-nowrap" target="_blank" rel="noreferrer" href="https://openbb.co/sitemap">Sitemap</a></div></div><div class="hidden md:block"><p class="mb-4 text-base font-bold uppercase tracking-widest text-grey-600 dark:text-white">Others</p><ul class="hidden flex-col gap-3 md:flex"><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/request-a-feature">Request feature</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/support">Support</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/contact">Contact</a></li><li><a class="whitespace-nowrap inline-flex w-full items-center gap-2 text-sm text-grey-400 dark:hover:text-white" target="_blank" rel="noreferrer" href="https://openbb.co/sitemap">Sitemap</a></li></ul></div></div></div></div><hr><div class="flex w-full flex-col items-center justify-between gap-4 md:flex-row md:gap-0"><div class="flex flex-col items-start justify-end gap-4 self-start font-light text-grey-500 md:flex-row md:items-center"><p class="text-sm">© 2023 OpenBB</p><div class="_divider-x hidden h-[20px] border-[0.5px] md:block"></div><a class="text-sm dark:hover:text-white" href="/legal/privacy-policy">Privacy Policy</a><div class="_divider-x hidden h-[20px] border-[0.5px] md:block"></div><a class="text-sm dark:hover:text-white" href="/legal/terms-of-service">Terms</a></div><div class="mt-4 mb-10 grid grid-cols-4 gap-4 self-start md:my-0 md:grid-cols-8 md:self-end"><a aria-label="GitHub Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://github.com/OpenBB-finance/OpenBBTerminal"><svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M6 12.76c-3.333 1-3.333-1.667-4.667-2l4.667 2Zm4.667 2v-2.58a2.246 2.246 0 0 0-.627-1.74c2.094-.233 4.294-1.027 4.294-4.667 0-.93-.359-1.825-1-2.5a3.38 3.38 0 0 0-.06-2.513s-.787-.233-2.607.987a8.92 8.92 0 0 0-4.667 0C4.18.527 3.393.76 3.393.76a3.38 3.38 0 0 0-.06 2.513 3.627 3.627 0 0 0-1 2.52c0 3.614 2.2 4.407 4.294 4.667A2.248 2.248 0 0 0 6 12.18v2.58" fill="currentColor"></path><path d="M10.667 14.76v-2.58a2.246 2.246 0 0 0-.627-1.74c2.094-.233 4.294-1.027 4.294-4.667 0-.93-.359-1.825-1-2.5a3.38 3.38 0 0 0-.06-2.513s-.787-.233-2.607.987a8.92 8.92 0 0 0-4.667 0C4.18.527 3.393.76 3.393.76a3.38 3.38 0 0 0-.06 2.513 3.627 3.627 0 0 0-1 2.52c0 3.614 2.2 4.407 4.294 4.667A2.248 2.248 0 0 0 6 12.18v2.58m0-2c-3.333 1-3.333-1.667-4.667-2l4.667 2Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><a aria-label="LinkedIn Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://www.linkedin.com/company/openbb-finance/"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M13 21H9V9h4v2a4.618 4.618 0 0 1 3.525-1.763A4.5 4.5 0 0 1 21 13.75V21h-4v-6.75a2.265 2.265 0 0 0-2.247-1.944A1.815 1.815 0 0 0 13 14.25V21Zm-6 0H3V9h4v12ZM5 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z" fill="currentColor"></path></svg></a><a aria-label="Twitter Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://twitter.com/openbb_finance"><svg viewBox="0 0 16 14" width="16" height="14" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M14.115 2.481A3.36 3.36 0 0 0 15.56.618a6.472 6.472 0 0 1-2.085.817A3.229 3.229 0 0 0 9.532.778c-1.308.718-1.985 2.246-1.654 3.73C5.24 4.37 2.78 3.092 1.114.987c-.87 1.54-.426 3.507 1.015 4.497a3.208 3.208 0 0 1-1.486-.422v.042c0 1.604 1.102 2.985 2.634 3.302-.484.135-.99.155-1.483.058.431 1.372 1.663 2.31 3.067 2.339A6.48 6.48 0 0 1 0 12.199a9.12 9.12 0 0 0 5.032 1.513 9.157 9.157 0 0 0 6.623-2.787 9.644 9.644 0 0 0 2.716-6.795c0-.146-.003-.291-.01-.436A6.767 6.767 0 0 0 16 1.951a6.433 6.433 0 0 1-1.885.53Z" fill="currentColor"></path></svg></a><a aria-label="Tiktok Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://www.tiktok.com/@openbb"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5 pl-[2.5px]"><path d="M0 0h24v24H0z" stroke="none"></path><path d="M9 12a4 4 0 1 0 4 4V4a5 5 0 0 0 5 5"></path></svg></a><a aria-label="Reddit Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://www.reddit.com/r/openbb/"><svg viewBox="0 0 16 16" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M8 14.667A6.667 6.667 0 1 1 14.667 8 6.674 6.674 0 0 1 8 14.667ZM4.538 7.029a.973.973 0 0 0-.405 1.858 1.707 1.707 0 0 0 0 .292c0 1.494 1.743 2.708 3.886 2.708 2.142 0 3.886-1.214 3.886-2.708a1.857 1.857 0 0 0 0-.292.96.96 0 0 0-.432-1.825h-.035a.97.97 0 0 0-.638.271 4.744 4.744 0 0 0-2.567-.82l.434-2.08 1.425.3a.667.667 0 0 0 .735.591A.667.667 0 1 0 10.685 4a.667.667 0 0 0-.506.328L8.547 4a.207.207 0 0 0-.244.158l-.499 2.315a4.749 4.749 0 0 0-2.6.82.967.967 0 0 0-.666-.264Zm3.582 3.987h-.225a2.568 2.568 0 0 1-1.534-.515.18.18 0 0 1 .139-.294.18.18 0 0 1 .114.04c.374.274.825.421 1.289.42h.216c.457 0 .903-.143 1.274-.41a.187.187 0 0 1 .267 0 .19.19 0 0 1-.003.267v-.027a2.557 2.557 0 0 1-1.537.518v.001Zm1.418-1.63h-.01l.005-.025a.626.626 0 1 1 .49-.188.659.659 0 0 1-.462.214h-.024.001Zm-3.091-.053a.667.667 0 1 1 0-1.333.667.667 0 0 1 0 1.333Z" fill="currentColor"></path></svg></a><a aria-label="Discord Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer" href="https://discord.gg/xPHTuHCmuV"><svg viewBox="0 0 16 12" width="16" height="12" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M13.38 8.836a4.375 4.375 0 0 1-2.474 1.507c.407.481.897 1.025.901 1.03 1.655.033 3.221-.688 4.193-1.929-.05-2.572-.724-5.1-1.973-7.397A7.139 7.139 0 0 0 10.194.71h-.016l-.192.203a9.52 9.52 0 0 1 3.412 1.61 11.875 11.875 0 0 0-4.125-1.217 12.415 12.415 0 0 0-2.766.025c-.065.001-.13.008-.193.019h-.04a10.98 10.98 0 0 0-3.11.801c-.493.21-.796.362-.809.368-.013.005 0 0 0-.01A10.022 10.022 0 0 1 5.96.866L5.815.714h-.009a7.142 7.142 0 0 0-3.833 1.335A16.003 16.003 0 0 0 0 9.447c.96 1.249 2.528 1.972 4.182 1.929 0 0 .517-.583.92-1.054a4.307 4.307 0 0 1-2.405-1.496c.01.006.153.096.384.213a.17.17 0 0 0 .056.04.409.409 0 0 0 .058.031 8.043 8.043 0 0 0 1.064.462c.653.24 1.33.423 2.019.548.604.106 1.217.16 1.832.16.576 0 1.15-.049 1.717-.146a9.64 9.64 0 0 0 1.986-.546 8.203 8.203 0 0 0 1.566-.752Zm-2.94-.57c-.627.05-1.224-.26-1.502-.784a1.335 1.335 0 0 1 .244-1.581 1.612 1.612 0 0 1 1.68-.363c.586.212.973.735.973 1.319.032.745-.592 1.374-1.396 1.41h.001Zm-5.001 0c-.79-.064-1.395-.676-1.395-1.41 0-.733.606-1.345 1.395-1.408.363 0 .71.138.963.38.286.276.442.645.433 1.027.033.747-.59 1.378-1.396 1.411Z" fill="currentColor"></path></svg></a><a aria-label="Youtube Link" class="h-8 w-8 dark:hover:!text-white hover:text-grey-700" target="_blank" rel="noreferrer noopener" href="https://www.youtube.com/channel/UCaeFEx-W16IuxRsHlM1ywBQ"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2c.313-1.732.467-3.49.46-5.25a29.005 29.005 0 0 0-.46-5.33v0Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="m9.75 15.017 5.75-3.27-5.75-3.27v6.54Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></footer></div>
|
||
<script src="/assets/js/runtime~main.6abb557d.js"></script>
|
||
<script src="/assets/js/main.645ad6c2.js"></script>
|
||
</body>
|
||
</html> |