summaryrefslogtreecommitdiffstats
path: root/sdk/guides/intros/ta.html
diff options
context:
space:
mode:
Diffstat (limited to 'sdk/guides/intros/ta.html')
-rw-r--r--sdk/guides/intros/ta.html10
1 files changed, 5 insertions, 5 deletions
diff --git a/sdk/guides/intros/ta.html b/sdk/guides/intros/ta.html
index ebfc1f427e0..501d83426eb 100644
--- a/sdk/guides/intros/ta.html
+++ b/sdk/guides/intros/ta.html
@@ -7,13 +7,13 @@
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YN9SL785J6"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-YN9SL785J6",{anonymize_ip:!0})</script><link rel="stylesheet" href="/assets/css/styles.900aa1c9.css">
-<link rel="preload" href="/assets/js/runtime~main.3e93d013.js" as="script">
-<link rel="preload" href="/assets/js/main.4eef715a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.22c1566d.js" as="script">
+<link rel="preload" href="/assets/js/main.aee8443e.js" as="script">
</head>
<body class="navigation-with-keyboard" data-theme="light">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav class="border-b border-grey-600 lg:px-12 header_docs_sdk navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div class="flex items-center gap-x-[56px]"><a class="ml-5 mb-1 md:mb-0 md:ml-0" href="/"><svg viewBox="0 0 170 17" width="170" height="17" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-white"><path d="M106.107 1.889v11.334l-.961-.946-.959-.945-.962-.943-.959-.946-.961-.943-.962-.945-.959-.944-.961-.945-.96-.943-.961-.946-.96-.943-.96-.945H92.66V17H94.582V4.723l.96.943.96.945.961.944.96.945.961.943.959.946.962.943.961.945.959.946.962.943.959.945.961.944.96.945h.961V1.889H106.107ZM137.03 7.557h-1.921V1.889h-11.524V17h15.37V7.546h-1.92l-.005.01Zm-11.524-.946V3.773h7.683v3.78h-7.683V6.61Zm11.524 3.778v4.727h-11.524v-5.67h11.524v.943ZM168.901 7.557h-2.88V1.889h-11.526V0h-1.921v1.889h1.921V17h15.365V7.546l-.959.01Zm-12.485-.946V3.773h7.684v3.78h-7.684V6.61Zm11.526 3.778v4.727h-11.526v-5.67h11.526v.943ZM75.314 1.889H61.867V17H77.23V15.111H63.787V11.332h11.521V9.443H63.788V3.777H77.23V1.89h-1.916ZM13.444 1.889H0V17h15.367V1.889h-1.922Zm0 2.834V15.11H1.918V3.773h11.527v.95ZM44.397 1.889H30.952V17h1.92v-5.666h13.445V1.88h-1.92v.009Zm0 2.834V9.45H32.873V3.773h11.524v.95Z" fill="currentColor"></path></svg></a><div class="hidden p-2 border border-grey-400 rounded h-[34px] items-center bg-grey-900 gap-3 md:flex"><a class="text-xs rounded px-2 py-1 hover:text-white hover:no-underline text-grey-500 hover:bg-grey-800" href="/terminal">Terminal</a><a class="text-xs px-2 py-1 rounded hover:text-white hover:no-underline text-grey-100 bg-grey-800" href="/sdk">SDK</a></div></div></div><div class="navbar__items navbar__items--right"><div class="flex gap-4 ml-4 md:ml-0"><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="" data-state="closed" class="bg-grey-900 radix-state-open:text-white hover:border-grey-200 hover:text-grey-200 radix-state-open:border-white border -mt-[0.6px] h-[34px] w-[34px] text-grey-400 border-grey-400 rounded flex items-center justify-center"><svg viewBox="0 0 24 24" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><div class="searchBox_ZlJk"><div class="dsla-search-wrapper"><div class="dsla-search-field" data-tags="default,docs-default-current,docs-sdk-current"></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebar_njMd"><nav class="menu thin-scrollbar mt-[40px] !px-10 text-sm !pb-10 menu_Y1UP"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/sdk">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/sdk/quickstart/requirements">Getting Started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/sdk/guides/basics">Using OpenBB SDK</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/basics">Basics</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/sdk/guides/intros/alternative">Intros</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/alternative">Alternative</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/crypto">Crypto</a><button aria-label="Toggle the collapsible sidebar category &#x27;Crypto&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/econometrics">Econometrics</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/economy">Economy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/etf">ETF</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/forecast">Forecast</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/forex">Forex</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/futures">Futures</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/portfolio">Portfolio</a><button aria-label="Toggle the collapsible sidebar category &#x27;Portfolio&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sdk/guides/intros/quantitative-analysis">Quantitative Analysis</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="/sdk/guides/intros/stocks">Stocks</a><button aria-label="Toggle the collapsible sidebar category &#x27;Stocks&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/sdk/guides/intros/ta">Technical Analysis</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/sdk/guides/advanced/api-keys">Advanced</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/sdk/reference">SDK Reference</a><button aria-label="Toggle the collapsible sidebar category &#x27;SDK Reference&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/sdk/showcase">Showcase</a></li></ul></nav></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_OVgt"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Using OpenBB SDK</span><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Intros</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Technical 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>Technical Analysis</h1></header><p>The Technical Analysis module is a toolkit for analyzing time-series data, at any resolution. The functions are a collection of formulas that fit into broad categories, and they are mostly derived from the pandas_ta library:</p><ul><li>Momentum</li><li>Overlap (Moving Averages)</li><li>Trend</li><li>Volatility</li><li>Volume</li><li>Other (Fibonacci)</li></ul><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>Every SDK function also has a secondary <code>_chart</code> command. The table below is a brief description of each SDK function within the <code>ta</code> module; for simplicity, <code>_chart</code> has been omitted. Technical Analysis functions specific to stocks are included as a sub-module, <code>openbb.stocks.ta</code>.</p><table><thead><tr><th align="left">Path</th><th align="center">Category</th><th align="right">Description</th></tr></thead><tbody><tr><td align="left">openbb.ta.ad</td><td align="center">Volume</td><td align="right">Accumulation/Distribution Line</td></tr><tr><td align="left">openbb.ta.adosc</td><td align="center">Volume</td><td align="right">Chaikin Oscillator</td></tr><tr><td align="left">openbb.ta.adx</td><td align="center">Trend</td><td align="right">Average Directional Movement Index</td></tr><tr><td align="left">openbb.ta.aroon</td><td align="center">Trend</td><td align="right">Aroon Indicator</td></tr><tr><td align="left">openbb.ta.atr</td><td align="center">Volatility</td><td align="right">Average True Range</td></tr><tr><td align="left">openbb.ta.bbands</td><td align="center">Voaltility</td><td align="right">Bollinger Bands</td></tr><tr><td align="left">openbb.ta.cci</td><td align="center">Momentum</td><td align="right">Commodity Channel Index</td></tr><tr><td align="left">openbb.ta.cg</td><td align="center">Momentum</td><td align="right">Center of Gravity</td></tr><tr><td align="left">openbb.ta.clenow</td><td align="center">Momentum</td><td align="right">Clenow Volatility Adjusted Momentum</td></tr><tr><td align="left">openbb.ta.demark</td><td align="center">Momentum</td><td align="right">Tom Demark&#x27;s Sequential Indicator (Unofficial)</td></tr><tr><td align="left">openbb.ta.donchian</td><td align="center">Volatility</td><td align="right">Donchian Channels</td></tr><tr><td align="left">openbb.ta.ema</td><td align="center">Overlap</td><td align="right">Exponential Moving Average</td></tr><tr><td align="left">openbb.ta.fib</td><td align="center">Other</td><td align="right">Fibonacci Retracement</td></tr><tr><td align="left">openbb.ta.fisher</td><td align="center">Momentum</td><td align="right">Fisher Transform</td></tr><tr><td align="left">openbb.ta.hma</td><td align="center">Overlap</td><td align="right">Hull Moving Average</td></tr><tr><td align="left">openbb.ta.kc</td><td align="center">Volatility</td><td align="right">Keltner Channels</td></tr><tr><td align="left">openbb.ta.ma</td><td align="center">Overlap</td><td align="right">Moving Averages (For Charting)</td></tr><tr><td align="left">openbb.ta.macd</td><td align="center">Momentum</td><td align="right">Moving Average Convergence/Divergence</td></tr><tr><td align="left">openbb.ta.obv</td><td align="center">Volume</td><td align="right">On-Balance Volume</td></tr><tr><td align="left">openbb.ta.rsi</td><td align="center">Momentum</td><td align="right">Relative Strength Index</td></tr><tr><td align="left">openbb.ta.sma</td><td align="center">Overlap</td><td align="right">Simple Moving Average</td></tr><tr><td align="left">openbb.ta.stoch</td><td align="center">Momentum</td><td align="right">Stochastic Oscillator</td></tr><tr><td align="left">openbb.ta.vwap</td><td align="center">Overlap</td><td align="right">Volume-Weighted Average Price</td></tr><tr><td align="left">openbb.ta.wma</td><td align="center">Overlap</td><td align="right">Weighted Moving Average</td></tr><tr><td align="left">openbb.ta.zlma</td><td align="center">Overlap</td><td align="right">Zero-Lag Moving Average</td></tr></tbody></table><p>The syntax for the data argument can be:</p><ul><li><p><code>data = ohlcv_df</code></p><p>Where functions only require a single column, <code>data = ohlcv_df[&#x27;Adj Close&#x27;]</code></p></li><li><p><code>data = openbb.stocks.load(&quot;ticker&quot;)</code></p><p>Target intraday by adding the <code>interval</code> argument to the <code>load</code> syntax.</p></li></ul><p>Best practice is to deploy the first method because the latter will work only with the commands requiring OHLC+V data as inputs. An error message will be returned if this is the case.</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 style="white-space:pre-wrap;overflow-wrap:anywhere" 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">ta</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">obv</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"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">stocks</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;QQQ&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><table><thead><tr><th align="left">date</th><th align="right">OBV</th></tr></thead><tbody><tr><td align="left">2019-11-15 00:00:00</td><td align="right">1.84279e+07</td></tr><tr><td align="left">2019-11-18 00:00:00</td><td align="right">3.67938e+07</td></tr><tr><td align="left">2019-11-19 00:00:00</td><td align="right">5.37171e+07</td></tr><tr><td align="left">2019-11-20 00:00:00</td><td align="right">1.70881e+07</td></tr><tr><td align="left">2022-11-15 00:00:00</td><td align="right">-1.09017e+08</td></tr><tr><td align="left">2022-11-16 00:00:00</td><td align="right">-1.57876e+08</td></tr><tr><td align="left">2022-11-17 00:00:00</td><td align="right">-2.13339e+08</td></tr><tr><td align="left">2022-11-18 00:00:00</td><td align="right">-1.59987e+08</td></tr></tbody></table><p>The error message:</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 style="white-space:pre-wrap;overflow-wrap:anywhere" 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">ta</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">rsi</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">data </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">stocks</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;QQQ&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-console codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token plain">Please send a series and not a DataFrame.</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="_chart">_chart<a class="hash-link" href="#_chart" title="Direct link to heading">​</a></h3><p>To display the chart, instead of raw data, add <code>_chart</code> to the syntax before the (<code>arguments</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 style="white-space:pre-wrap;overflow-wrap:anywhere" 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">ta</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">obv_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">data</span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">stocks</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;QQQ&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> start_date </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;2022-11-18&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> interval </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> prepost </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 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/202889106-4caa882b-5e29-41a8-8cd2-b2a2a01d1fca.png" alt="openbb.ta.obv_chart" title="openbb.ta.obv_chart" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a class="hash-link" href="#examples" title="Direct link to heading">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="import-statements">Import Statements<a class="hash-link" href="#import-statements" title="Direct link to heading">​</a></h3><p>The examples here assume that this code block is at the top of the Python script of Notebook file:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_m3Ux"><pre tabindex="0" class="prism-code language-python codeBlock_qGQc thin-scrollbar"><code class="codeBlockLines_p187"><span class="token-line" style="color:#9CDCFE"><span class="token keyword" style="color:rgb(86, 156, 214)">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 comment" style="color:rgb(106, 153, 85)"># %matplotlib inline (uncomment for Jupyter environments)</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="ma-moving-averages">MA (Moving Averages)<a class="hash-link" href="#ma-moving-averages" title="Direct link to heading">​</a></h3><p>The different types of moving averages, which also are individual functions (e.g., <code>openbb.ta.ema</code>), are available as an argument (<code>ma_type</code>) to the <code>ma</code> command. There are five accepted arguments, they are listed below in brackets:</p><ul><li>Simple (SMA)</li><li>Exponential (EMA)</li><li>Hull (HMA)</li><li>Weighted (WMA)</li><li>Zero-Lag (ZLMA)</li></ul><p>The <code>window</code> argument anticipates a list of integers representing the interval (minutes, days, weeks, months, etc.) to measure against the timestamp of the DataFrame&#x27;s index. The example below is a daily timeseries of S&amp;P E-Mini Futures:</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">es </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">stocks</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string" style="color:rgb(206, 145, 120)">&quot;ES=F&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">ta</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">ma_chart</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> data </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> es</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;Adj Close&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><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)">&#x27;E-Mini S&amp;P Futures&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> ma_type </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;SMA&#x27;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> window </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 number" style="color:rgb(181, 206, 168)">21</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">150</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><br></span></code></pre><div class="buttonGroup_6DOT"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/202889200-c6a3e895-f49d-4348-8635-68dd1456340d.png" alt="openbb.ta.ma_chart" title="openbb.ta.ma_chart" class="img_ev3q"></p><p>Changing, <code>ma_type</code>, to, <code>ZLMA</code>:</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/85772166/202889214-359d5d37-f8c0-49e0-9dd9-70afe970ae5f.png" alt="openbb.ta.ma_chart" title="openbb.ta.ma_chart" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="atr-average-true-range">ATR (Average True Range)<a class="hash-link" href="#atr-average-true-range" title="Direct link to heading">​</a></h3><p>The <code>atr</code> command requires OHLC data, the data argument can be the <code>load</code> function.</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">ticker </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;ES=F&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">start </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;2000-01-01&#x27;</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">df_atr </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">ta</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">atr</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"> openbb</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">stocks</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">load</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token string-interpolation string" style="color:rgb(206, 145, 120)">f&quot;</span><span class="token string-interpolation interpolation punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string-interpolation interpolation">ticker</span><span class="token string-interpolation interpolation punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token string-interpolation string" style="color:rgb(206, 145, 120)">&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> start_date </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string-interpolation string" style="color:rgb(206, 145, 120)">f&quot;</span><span class="token string-interpolation interpolation punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token string-interpolation interpolation">start</span><span class="token string-interpolation interpolation punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token string-interpolation string" style="color:rgb(206, 145, 120)">&quot;</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> monthly </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 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)">6</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">df_atr</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">tail</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token number" style="color:rgb(181, 206, 168)">5</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><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">ATRe_6</th></tr></thead><tbody><tr><td align="left">2022-07-01 00:00:00</td><td align="right">454.457</td></tr><tr><td align="left">2022-08-01 00:00:00</td><td align="right">431.612</td></tr><tr><td align="left">2022-09-01 00:00:00</td><td align="right">469.08</td></tr><tr><td align="left">2022-10-01 00:00:00</td><td align="right">455.7</td></tr><tr><td align="left">2022-11-01 00:00:00</td><td align="right">424.5</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="donchian">Donchian<a class="hash-link" href="#donchian" title="Direct link to heading">​</a></h3><p>To use the same data for multiple functions, it is more efficient to first load to a Pandas 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">ticker </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">&#x27;ES=F&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">start </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span