{"id":22389,"date":"2024-01-23T16:00:00","date_gmt":"2024-01-23T16:00:00","guid":{"rendered":"https:\/\/algotrading101.com\/learn\/?p=22389"},"modified":"2025-04-24T14:16:49","modified_gmt":"2025-04-24T14:16:49","slug":"openbb-platform-guide","status":"publish","type":"post","link":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/","title":{"rendered":"OpenBB Platform &#8211; A Complete Guide"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"900\" height=\"563\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/ChatGPT-edited.webp\" alt=\"\" class=\"wp-image-22441\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/ChatGPT-edited.webp 900w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/ChatGPT-edited-300x188.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/ChatGPT-edited-768x480.webp 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Table of contents:<\/h3>\n\n\n\n<ol>\n<li><a href=\"#what-is-the-openbb-platform\">What is the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-features\">What are the OpenBB Platform main features?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-pros\">Why should I use the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-cons\">Why shouldn\u2019t I use the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-free\">Is the OpenBB Platform free?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-interfaces\">What interfaces does the OpenBB Platform have?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-alternatives\">What are the OpenBB Platform alternatives?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-start\">How to get started with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-commands\">How to explore OpenBB Platform commands?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-obbject\">What is the OBBject?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-standardization\">How does the OpenBB Platform perform standardization?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-providers\">What providers does the OpenBB Platform support?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-stock-data\">How to get stock data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-fundamental-data\">How to get fundamental data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-currency-data\">How to get currency data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-news-data\">How to get news data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-derivatives-data\">How to get derivatives data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-fixed-income-data\">How to get fixed-income data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-etf-data\">How to get ETF data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-index-data\">How to get index data with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-quantitative-analysis\">How to perform quantitative analysis with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-technical-analysis\">How to perform technical analysis with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-econometrics-analysis\">How to perform econometrics analysis with the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-custom-extension\">How to create your own OpenBB Platform extension?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-learn-more\">Where can I learn more about the OpenBB Platform?<\/a><\/li>\n\n\n\n<li><a href=\"#openbb-platform-full-code\">Full code<\/a><\/li>\n<\/ol>\n\n\n\n<a name=\"what-is-the-openbb-platform\">\n\n\n\n<h2 class=\"wp-block-heading\">What is the OpenBB Platform?<\/h2>\n\n\n\n<p>The OpenBB Platform is an open-source modular financial analysis ecosystem. <\/p>\n\n\n\n<p>It integrates with close to 100 different data sources from asset classes such as equity, options, crypto, forex, macro economy, fixed income, alternative datasets, and more.<\/p>\n\n\n\n<p>Before we dive in deeper, take note that I&#8217;m the OpenBB Platform engineering team lead and that I will do my best to make sure this article isn&#8217;t biased.<\/p>\n\n\n\n<p>Website: <a href=\"https:\/\/openbb.co\/products\/platform\">https:\/\/openbb.co\/products\/platform<\/a><\/p>\n\n\n\n<p>GitHub: <a href=\"https:\/\/github.com\/OpenBB-finance\/OpenBBTerminal\">https:\/\/github.com\/OpenBB-finance\/OpenBBTerminal<\/a><\/p>\n\n\n\n<a name=\"openbb-platform-features\">\n\n\n\n<h2 class=\"wp-block-heading\">What are the OpenBB Platform main features?<\/h2>\n\n\n\n<p>The main OpenBB Platform features come from its architecture which consists of the OpenBB Core and various Extensions, including Providers and Toolkits. The Core facilitates the development of custom applications with streamlined data provider connections, while the Extensions offer categorized data access and enhanced functionalities. <\/p>\n\n\n\n<p>This design ensures a flexible, lightweight platform that easily integrates into different environments, avoiding the complexity and dependency issues of its predecessor. <\/p>\n\n\n\n<p>Thus, the main features are these:<\/p>\n\n\n\n<ul>\n<li>lightweight<\/li>\n\n\n\n<li>modular<\/li>\n\n\n\n<li>supports a Python and Web API interface<\/li>\n\n\n\n<li>offers data standardization between providers<\/li>\n\n\n\n<li>easily extendable<\/li>\n\n\n\n<li>great documentation<\/li>\n\n\n\n<li>free and open-sourced<\/li>\n\n\n\n<li>secure<\/li>\n<\/ul>\n\n\n\n<a name=\"openbb-platform-pros\">\n\n\n\n<h2 class=\"wp-block-heading\">Why should I use the OpenBB Platform?<\/h2>\n\n\n\n<ul>\n<li>The OpenBB Platform is easy to use.<\/li>\n\n\n\n<li>Provides access to many data classes.<\/li>\n\n\n\n<li>Is modular in its design and easily extendable.<\/li>\n\n\n\n<li>Integrates multiple data provider endpoints under a single consistent command.<\/li>\n\n\n\n<li>Is open-sourced and free to use.<\/li>\n\n\n\n<li>Implements data standardization between different financial data providers.<\/li>\n\n\n\n<li>Features a Python and Web API interface.<\/li>\n\n\n\n<li>Has a very good documentation system.<\/li>\n<\/ul>\n\n\n\n<a name=\"openbb-platform-cons\">\n\n\n\n<h2 class=\"wp-block-heading\">Why shouldn\u2019t I use the OpenBB Platform?<\/h2>\n\n\n\n<ul>\n<li>The OpenBB Platform might not yet provide the data you need.<\/li>\n\n\n\n<li>It changed from an MIT license to the GNU Affero General Public License.<\/li>\n\n\n\n<li>It isn&#8217;t actively maintained or supported by the community.<\/li>\n\n\n\n<li>Your core data provider might not yet be supported.<\/li>\n\n\n\n<li>It will require effort to switch your code to the OpenBB Platform API.<\/li>\n<\/ul>\n\n\n\n<a name=\"openbb-platform-free\">\n\n\n\n<h2 class=\"wp-block-heading\">Is the OpenBB Platform free?<\/h2>\n\n\n\n<p>Yes, the OpenBB Platform is free to use and all the code is open-sourced. The only fees that might happen are the ones that you define with your data providers for their API keys and usage.<\/p>\n\n\n\n<a name=\"openbb-platform-interfaces\">\n\n\n\n<h2 class=\"wp-block-heading\">What interfaces does the OpenBB Platform have?<\/h2>\n\n\n\n<p>The OpenBB Platform features two interfaces which are the Python and Web API interface. The Python interface allows Python devs a seamless developing experience with robust and extendable code, type hinting, good documentation, etc.<\/p>\n\n\n\n<p>The Web API allows any frontend to easily incorporate the available endpoints of the OpenBB Platform and integrate them into any programming language or framework of choice.<\/p>\n\n\n\n<p>The only difference you might notice is that some endpoints will be available on the Python interface and not on the Web API interface. This is because the Web API interface requires everything to be serializable. <\/p>\n\n\n\n<p>There are only a handful of econometrics endpoints that aren&#8217;t present on the Web API interface and the econometrics package is an optional one.<\/p>\n\n\n\n<a name=\"openbb-platform-alternatives\">\n\n\n\n<h2 class=\"wp-block-heading\">What are the OpenBB Platform alternatives?<\/h2>\n\n\n\n<p>At the time of writing this article, there aren&#8217;t any direct OpenBB Platform alternatives. You can use the data providers and follow their different endpoints and command schemas without the standardization. <\/p>\n\n\n\n<p>The closest alternatives depending on your workflow and needs could be:<\/p>\n\n\n\n<ul>\n<li>Koyfin<\/li>\n\n\n\n<li>FactSet<\/li>\n\n\n\n<li>yCharts<\/li>\n\n\n\n<li>TradingView<\/li>\n\n\n\n<li>CCXT<\/li>\n\n\n\n<li>QuantConnect<\/li>\n\n\n\n<li>Interactive Brokers<\/li>\n<\/ul>\n\n\n\n<a name=\"openbb-platform-start\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get started with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get started with the OpenBB Platform, you will need to install it into a fresh environment. Having an OpenBB Hub account is highly advisable so that you can have all of your API keys in one place across all OpenBB products.<\/p>\n\n\n\n<p>For this article, I&#8217;ll be installing only the base providers and extensions so that we can gradually pick what we need. You can also install everything that there is by adding the <code>[all]<\/code> flag. The version of <code>openbb<\/code> that I&#8217;ll be demoing in this article is <code>openbb-4.1.2<\/code>.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pip install openbb<\/code><\/pre><\/div>\n\n\n\n<p>Now, let us go over and create an OpenBB Hub account that we can log into from the OpenBB Platform and thus have our API keys recognized. For those who want to follow along, providers such as CBOE and Yahoo Finance provide data and don&#8217;t require API keys.<\/p>\n\n\n\n<p>To get our OpenBB Hub account ready, navigate to the website that is found on the following URL: <a href=\"https:\/\/my.openbb.co\/login\">https:\/\/my.openbb.co\/login<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"621\" height=\"1024\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.17.58-621x1024.webp\" alt=\"\" class=\"wp-image-22443\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.17.58-621x1024.webp 621w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.17.58-182x300.webp 182w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.17.58-768x1267.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.17.58-931x1536.webp 931w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.17.58.webp 1164w\" sizes=\"(max-width: 621px) 100vw, 621px\" \/><\/figure>\n\n\n\n<p>Then either choose to register manually or log in with your Google account or equivalent. When you log in, you will be greeted by the landing page of the Hub and be able to see all of the OpenBB products.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"714\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.13.32-1024x714.webp\" alt=\"\" class=\"wp-image-22444\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.13.32-1024x714.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.13.32-300x209.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.13.32-768x536.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.13.32-1536x1071.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.13.32-2048x1429.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Select the OpenBB Platform and then on the left side of the screen you will see the API Keys section. Please navigate there and add your API keys. For this article, I&#8217;ll only be using FMP, Polygon, FRED, Intrinio, and Benzinga as providers that require an API key.<\/p>\n\n\n\n<p>Now, one final step that we can do is to create a PAT (Personal Access Token) that we can use to log into our OpenBB Hub from the Python interface. To create a PAT, click on its title on the left side of your screen and then click the &#8220;Generate&#8221; button with a preferred expiry date.<\/p>\n\n\n\n<p>You will be presented with your key and with the command that we want to run now to log in:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>from openbb import obb\nobb.account.login(pat=&quot;&lt;YOUR_TOKEN&gt;&quot;)<\/code><\/pre><\/div>\n\n\n\n<p>On first import, the extensions will be building their Python static assets that are used to provide a good Python development experience. Once built, you will have everything you need to get going.<\/p>\n\n\n\n<p>The OpenBB Platform is comprised of several &#8220;menus&#8221; that are either utility ones or routers that serve as entry points into different asset classes and their commands. Because it is modular, your available commands, routers, and installed extensions will look different depending on what you installed.<\/p>\n\n\n\n<p>Here is what the current core environment looks like:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>OpenBB Platform v4.1.2\n\nUtilities:\n    \/account\n    \/user\n    \/system\n    \/coverage\n\nRouters:\n    \/crypto\n    \/currency\n    \/derivatives\n    \/economy\n    \/equity\n    \/etf\n    \/fixedincome\n    \/index\n    \/news\n    \/regulators\n\nExtensions:\n    - crypto@1.1.1\n    - currency@1.1.1\n    - derivatives@1.1.1\n    - economy@1.1.1\n    - equity@1.1.1\n    - etf@1.1.1\n    - fixedincome@1.1.1\n    - index@1.1.1\n    - news@1.1.1\n    - regulators@1.1.1\n\n    - benzinga@1.1.1\n    - federal_reserve@1.1.1\n    - fmp@1.1.1\n    - fred@1.1.1\n    - intrinio@1.1.1\n    - oecd@1.1.1\n    - polygon@1.1.1\n    - sec@1.1.1\n    - tiingo@1.1.1\n    - tradingeconomics@1.1.1    <\/code><\/pre>\n\n\n\n<p>A full list of available OpenBB Platform extensions can be found here: <a href=\"https:\/\/my.openbb.co\/app\/platform\/extensions\">https:\/\/my.openbb.co\/app\/platform\/extensions<\/a><\/p>\n\n\n\n<p>From the utilities, you can access your user by navigating to the namespace of the <code>obb.user<\/code>. You can control your account and log <code>out<\/code> from the <code>obb.account<\/code> namespace and view your system settings from the <code>obb.system<\/code> namespace.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.user<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.account<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.user.credentials<\/code><\/pre><\/div>\n\n\n\n<p>In the following headers, we will be exploring some of the things that the OpenBB Platform has to offer and the goal will be to get comfortable with using it and exploring.<\/p>\n\n\n\n<a name=\"openbb-platform-commands\">\n\n\n\n<h2 class=\"wp-block-heading\">How to explore OpenBB Platform commands?<\/h2>\n\n\n\n<p>There are several ways of exploring the OpenBB Platform commands. You can visit the documentation that is found on the following <a href=\"https:\/\/docs.openbb.co\/platform\">URL<\/a> and explore the <a href=\"https:\/\/docs.openbb.co\/platform\/reference\">reference<\/a> section that will show you all the menus and their commands.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"734\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.32-1024x734.webp\" alt=\"\" class=\"wp-image-22445\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.32-1024x734.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.32-300x215.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.32-768x551.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.32-1536x1102.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.32-2048x1469.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Each command will have documentation on how to use it, what are the standard query parameters and what are the specific ones to each provider that supports the command. The same will be shown for the command outputs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"712\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.54-1024x712.webp\" alt=\"\" class=\"wp-image-22446\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.54-1024x712.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.54-300x209.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.54-768x534.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.54-1536x1068.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.57.54-2048x1424.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"712\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.58.03-1024x712.webp\" alt=\"\" class=\"wp-image-22447\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.58.03-1024x712.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.58.03-300x209.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.58.03-768x534.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.58.03-1536x1068.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-16.58.03-2048x1424.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>These standards are a product of the standardization framework, but more about that later.<\/p>\n\n\n\n<p>Another way of exploring the commands is through your Python interface. You can simply do <code>obb.<\/code> and your intelisense should be picking up on what is available. Then you can go one layer deeper and do <code>obb.equity.<\/code> and see what is there.<\/p>\n\n\n\n<p>Once you get to a particular command that you would like to try out, you can add a question mark at its end to get its signature, the docstring of the command, and all the details. For example:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.price.performance?<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>Price performance as a return, over different periods.\n\nParameters\n----------\nsymbol : str\n    Symbol to get data for.\nprovider : Optional[Literal[&#39;fmp&#39;]]\n    The provider to use for the query, by default None.\n    If None, the provider specified in defaults is selected or &#39;fmp&#39; if there is\n    no default.\n\nReturns\n-------\nOBBject\n    results : List[PricePerformance]\n        Serializable results.\n    provider : Optional[Literal[&#39;fmp&#39;]]\n        Provider name.\n    warnings : Optional[List[Warning_]]\n        List of warnings.\n    chart : Optional[Chart]\n        Chart object.\n    extra: Dict[str, Any]\n        Extra info.\n\nPricePerformance\n----------------\none_day : Optional[float]\n    One-day return. \nwtd : Optional[float]\n    Week to date return. \none_week : Optional[float]\n    One-week return. \nmtd : Optional[float]\n    Month to date return. \none_month : Optional[float]\n    One-month return. \nqtd : Optional[float]\n    Quarter to date return. \nthree_month : Optional[float]\n    Three-month return. \nsix_month : Optional[float]\n    Six-month return. \nytd : Optional[float]\n    Year to date return. \none_year : Optional[float]\n    One-year return. \nthree_year : Optional[float]\n    Three-year return. \nfive_year : Optional[float]\n    Five-year return. \nten_year : Optional[float]\n    Ten-year return. \nmax : Optional[float]\n    Return from the beginning of the time series. \nsymbol : Optional[str]\n    The ticker symbol. (provider: fmp)\n\nExample\n-------\n&gt;&gt;&gt; from openbb import obb\n&gt;&gt;&gt; obb.equity.price.performance(symbol=&quot;AAPL&quot;)<\/code><\/pre><\/div>\n\n\n\n<p>Here you will see a detailed presentation of the command parameters at your disposal, the structure of the OBBject, and the outputs of the model that you can expect. It is also provided with an example that you can use.<\/p>\n\n\n\n<a name=\"openbb-platform-obbject\">\n\n\n\n<h2 class=\"wp-block-heading\">What is the OBBject?<\/h2>\n\n\n\n<p>The OBBject is the OpenBB result object (hence OBBject \ud83d\ude00 ) which is a standardized object that will be returned on every call execution. It will hold your results, warnings during the command execution, any extra info, charts, or something that an OBBject extension might add.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>OBBject\n    results : List[PricePerformance]\n        Serializable results.\n    provider : Optional[Literal[&#39;fmp&#39;]]\n        Provider name.\n    warnings : Optional[List[Warning_]]\n        List of warnings.\n    chart : Optional[Chart]\n        Chart object.\n    extra: Dict[str, Any]\n        Extra info.<\/code><\/pre><\/div>\n\n\n\n<p>The OBBject also comes with custom helpers that can present your data in different ways such as <code>to_df()<\/code>, <code>to_dict()<\/code>, <code>to_json()<\/code>, etc.<\/p>\n\n\n\n<a name=\"openbb-platform-standardization\">\n\n\n\n<h2 class=\"wp-block-heading\">How does the OpenBB Platform perform standardization?<\/h2>\n\n\n\n<p>The OpenBB Platform performs standardization by utilizing Pydantic v2 and standard data models that define the standard set of query parameters and resulting output fields for a particular command.<\/p>\n\n\n\n<p>The standard is defined based on the intersection of fields that are shared between two or more providers that can fuel the same command. It is also based on the financial knowledge of the OpenBB team.<\/p>\n\n\n\n<p>These standard models ensure that you can easily switch out a provider and compare apples to apples by just changing the provider query parameter. It will also guarantee a set of fields that are expected to always be returned by any of the supported providers and a set of query parameters that will work for all of them.<\/p>\n\n\n\n<p>Saying this, the OpenBB Platform will always allow you to use any provider-specific query parameters, and all provider-specific fields that aren&#8217;t a part of the standard are documented and returned too.<\/p>\n\n\n\n<p>To illustrate this, we can see what the standard query parameters for this command look like and how they change when SEC is the provider:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"468\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.09-1024x468.webp\" alt=\"\" class=\"wp-image-22450\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.09-1024x468.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.09-300x137.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.09-768x351.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.09-1536x702.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.09-2048x936.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.15-1024x604.webp\" alt=\"\" class=\"wp-image-22451\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.15-1024x604.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.15-300x177.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.15-768x453.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.15-1536x906.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.16.15-2048x1208.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We can also observe the difference between the output of the same command and when the provider is Intrinio:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"641\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.41-1024x641.webp\" alt=\"\" class=\"wp-image-22452\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.41-1024x641.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.41-300x188.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.41-768x481.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.41.webp 1198w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1019\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.48-1-1024x1019.webp\" alt=\"\" class=\"wp-image-22453\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.48-1-1024x1019.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.48-1-300x298.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.48-1-150x150.webp 150w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.48-1-768x764.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.15.48-1.webp 1198w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This is a very powerful feature and it will allow for seamless switching between different data providers and you won&#8217;t need to worry about different API conventions, naming, libraries, etc.<\/p>\n\n\n\n<a name=\"openbb-platform-providers\">\n\n\n\n<h2 class=\"wp-block-heading\">What providers does the OpenBB Platform support?<\/h2>\n\n\n\n<p>Official providers that the OpenBB Platform supports can be found here:<\/p>\n\n\n\n<p><a href=\"https:\/\/my.openbb.co\/app\/platform\/data-providers\">https:\/\/my.openbb.co\/app\/platform\/data-providers<\/a><\/p>\n\n\n\n<p>There are also &#8220;community&#8221; providers that one can install and use such as:<\/p>\n\n\n\n<ul>\n<li>Biztoc<\/li>\n\n\n\n<li>Quandl<\/li>\n\n\n\n<li>StockGrid<\/li>\n\n\n\n<li>Seeking Alpha<\/li>\n\n\n\n<li>Wall Street Journal<\/li>\n\n\n\n<li>and more<\/li>\n<\/ul>\n\n\n\n<p>To see the coverage of your <strong>installed<\/strong> providers over the available commands, you can do:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.coverage.providers<\/code><\/pre><\/div>\n\n\n\n<p>You can also view it in a transposed way:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.coverage.commands<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"843\" height=\"1024\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.29.39-843x1024.webp\" alt=\"\" class=\"wp-image-22454\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.29.39-843x1024.webp 843w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.29.39-247x300.webp 247w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.29.39-768x933.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.29.39.webp 1184w\" sizes=\"(max-width: 843px) 100vw, 843px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-stock-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get stock data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get stock data with the OpenBB Platform, you will need to access the equity router under which you will find the data for that sector. It will consist of commands and\/or sub-routers that you can access. To view what is available we can do:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/equity\n    \/calendar\n    \/compare\n    \/discovery\n    \/estimates\n    \/fundamental\n    market_snapshots\n    \/ownership\n    \/price\n    profile\n    screener\n    search\n    \/shorts<\/code><\/pre>\n\n\n\n<p>Now, let us get historical price data by navigating to the <code>price<\/code> sub-router and using the <code>historical<\/code> command.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.price.historical(&quot;LUV&quot;)<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>OBBject\n\nid: 065abf67-8e3b-71af-8000-3b73cf8eb7f7\nresults: [{&#39;date&#39;: datetime.datetime(2024, 1, 19, 0, 0), &#39;open&#39;: 30.14, &#39;high&#39;: 30....\nprovider: fmp\nwarnings: None\nchart: None\nextra: {&#39;metadata&#39;: {&#39;arguments&#39;: {&#39;provider_choices&#39;: {&#39;provider&#39;: None}, &#39;standar...<\/code><\/pre><\/div>\n\n\n\n<p>Here you will see the OBBject with your results and other information. To get this data as a dataframe we can write it as:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.price.historical(&quot;LUV&quot;).to_df().head()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"178\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.37.52-1024x178.webp\" alt=\"\" class=\"wp-image-22456\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.37.52-1024x178.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.37.52-300x52.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.37.52-768x133.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.37.52-1536x267.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.37.52-2048x355.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can now easily change the default provider which is FMP to another one such as Intrinio:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.price.historical(&quot;LUV&quot;, provider=&quot;intrinio&quot;).to_df().head()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"217\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.40.14-1024x217.webp\" alt=\"\" class=\"wp-image-22457\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.40.14-1024x217.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.40.14-300x64.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.40.14-768x163.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.40.14-1536x326.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.40.14-2048x435.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can install matplotlib, plotly, or any preferred charting library to create charts. The OpenBB Platform also features a charting extension that can do this. It is currently in the reworks so I won&#8217;t be demoing it here.<\/p>\n\n\n\n<a name=\"openbb-platform-fundamental-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get fundamental data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get fundamental data with the OpenBB Platform, you can visit the <code>equity.fundamental<\/code> router and get fundamental data such as balance sheets, cash flow statements, income statements, and more.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.fundamental<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/equity\/fundamental\n    balance\n    balance_growth\n    cash\n    cash_growth\n    dividends\n    employee_count\n    filings\n    historical_attributes\n    historical_eps\n    historical_splits\n    income\n    income_growth\n    latest_attributes\n    management\n    management_compensation\n    metrics\n    multiples\n    overview\n    ratios\n    reported_financials\n    revenue_per_geography\n    revenue_per_segment\n    search_attributes\n    trailing_dividend_yield\n    transcript<\/code><\/pre>\n\n\n\n<p>Now, we will get the revenue per geography and the annual cash flow statement:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.fundamental.revenue_per_geography(&quot;LUV&quot;).to_df()<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>\tperiod_ending\tfiscal_period\tfiscal_year\tfiling_date\tgeographic_segment\n0\t2018-12-31\tFY\t2018\t2019-02-05\t{&#39;Latin America&#39;: 566000000, &#39;North America&#39;: ...\n1\t2019-12-31\tFY\t2019\t2020-02-04\t{&#39;Latin America&#39;: 615000000, &#39;North America&#39;: ...\n2\t2020-12-31\tFY\t2020\t2021-02-08\t{&#39;Latin America&#39;: 184000000, &#39;North America&#39;: ...\n3\t2021-12-31\tFY\t2021\t2022-02-07\t{&#39;Latin America&#39;: 475000000, &#39;North America&#39;: ...\n4\t2022-12-31\tFY\t2022\t2023-02-07\t{&#39;Latin America&#39;: 811000000, &#39;North America&#39;: ...<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.equity.fundamental.cash(&quot;LUV&quot;, provider=&quot;intrinio&quot;).to_df().transpose()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"789\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.57.54-1024x789.webp\" alt=\"\" class=\"wp-image-22458\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.57.54-1024x789.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.57.54-300x231.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.57.54-768x592.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.57.54-1536x1184.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-17.57.54.webp 1988w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-currency-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get currency data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get currency data with the OpenBB Platform, you can access the <code>obb.currency<\/code> router and utilize its commands. For example, let us get the USD to GBP historical data:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.currency.price.historical(&quot;USDGBP&quot;).to_df().head()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"224\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.02.40-1024x224.webp\" alt=\"\" class=\"wp-image-22459\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.02.40-1024x224.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.02.40-300x66.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.02.40-768x168.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.02.40-1536x336.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.02.40-2048x448.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We can also search for all the available pairs for a particular data provider:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.currency.search(&quot;fmp&quot;).to_df().head()<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>     name\tsymbolcurrency\tstock_exchange\texchange_short_name\n0\tARS\/MXN\tARSMXN\tMXN\tCCY\tFOREX\n1\tTND\/ZAR\tTNDZAR\tZAR\tCCY\tFOREX\n2\tXAG\/RUB\tXAGRUB\tRUB\tCCY\tFOREX\n3\tILS\/NOK\tILSNOK\tNOK\tCCY\tFOREX\n4\tCOP\/CLP\tCOPCLP\tCLP\tCCY\tFOREX<\/code><\/pre><\/div>\n\n\n\n<a name=\"openbb-platform-news-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get news data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get news data with the OpenBB Platform, you will access the <code>obb.news<\/code> router from where you will be able to stay on top of the latest news on a global or company-specific level. For example, let us get the latest 5 news pieces where LUV is mentioned:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.news.company(&quot;LUV&quot;, limit=5).to_df()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.07.08-1024x490.webp\" alt=\"\" class=\"wp-image-22460\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.07.08-1024x490.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.07.08-300x143.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.07.08-768x367.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.07.08-1536x735.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.07.08-2048x979.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-derivatives-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get derivatives data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get derivatives data with the OpenBB Platform such as option chains, we can access the <code>obb.derivatives<\/code> router. To get all unusual options trading activity for a particular asset we can do:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.derivatives.options.unusual(&quot;LUV&quot;).to_df()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"134\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-16.56.00-1024x134.jpg\" alt=\"\" class=\"wp-image-22462\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-16.56.00-1024x134.jpg 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-16.56.00-300x39.jpg 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-16.56.00-768x100.jpg 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-16.56.00-1536x200.jpg 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-16.56.00-2048x267.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-fixed-income-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get fixed-income data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get fixed-income data with the OpenBB Platform, we will use the <code>obb.fixedincome<\/code> router that is split into several categories such as rates, corporate, spreads, government, etc.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.fixedincome<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/fixedincome\n    \/corporate\n    \/government\n    \/rate\n    sofr\n    \/spreads<\/code><\/pre>\n\n\n\n<p>For example, let us obtain the US government treasury rates since the start of 2024:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.fixedincome.government.treasury_rates(start_date=&quot;2024-01-02&quot;).to_df().dropna()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"416\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.14.54-1-1024x416.webp\" alt=\"\" class=\"wp-image-22463\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.14.54-1-1024x416.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.14.54-1-300x122.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.14.54-1-768x312.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.14.54-1-1536x624.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.14.54-1.webp 1852w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-etf-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get ETF data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get ETF data with the OpenBB Platform, we can utilize the <code>obb.etf<\/code> router and the commands within it. For example, the ETF data router has access to the following commands:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.etf<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etf\n    countries\n    holdings\n    holdings_date\n    holdings_performance\n    info\n    price_performance\n    search\n    sectors<\/code><\/pre>\n\n\n\n<p>Let us obtain the price performance of SPY and QQ:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.etf.price_performance([&quot;SPY&quot;, &quot;QQQ&quot;]).to_df().transpose()<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\t        0\t        1\none_day\t        0.012466\t0.019831\none_week\t0.015087\t0.03152\none_month\t0.030261\t0.044904\nthree_month\t0.145398\t0.187761\nsix_month\t0.066898\t0.1179\nytd\t        0.020692\t0.046176\none_year\t0.218627\t0.489953\nthree_year\t0.256688\t0.300862\nfive_year\t0.835312\t1.60084\nten_year\t1.61934\t        3.756409\nmax\t        9.97929\t        7.248727\nsymbol\t        SPY\t        QQQ<\/code><\/pre>\n\n\n\n<p>Now, let us also see the weight of an ETF across different sectors:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.etf.sectors(&quot;QQQ&quot;).to_df()<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>\tsector\tweight\n0\tCash\t0.000496\n1\tCommercial Services\t0.005482\n2\tCommunications\t0.014800\n3\tConsumer Durables\t0.030500\n4\tConsumer Non-Durables\t0.039200\n5\tConsumer Services\t0.054000\n6\tDistribution Services\t0.003061\n7\tElectronic Technology\t0.294000\n8\tEnergy Minerals\t0.002089\n9\tHealth Technology\t0.069300\n10\tIndustrial Services\t0.002386\n11\tProducer Manufacturing\t0.023200\n12\tRetail Trade\t0.104600\n13\tTechnology Services\t0.334200\n14\tTransportation\t0.011600\n15\tUtilities\t0.011200<\/code><\/pre><\/div>\n\n\n\n<a name=\"openbb-platform-index-data\">\n\n\n\n<h2 class=\"wp-block-heading\">How to get index data with the OpenBB Platform?<\/h2>\n\n\n\n<p>To get index data with the OpenBB Platform, navigate to the <code>obb.index<\/code> router and you will have access to commands such as search, constituents, price data, and more.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.index<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>\/index\n    available\n    constituents\n    market\n    \/price<\/code><\/pre><\/div>\n\n\n\n<p>For example, we will grab all the constituents of the Dow Jones index:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.index.constituents(&quot;dowjones&quot;).to_df()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"715\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.29.59-1024x715.webp\" alt=\"\" class=\"wp-image-22464\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.29.59-1024x715.webp 1024w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.29.59-300x209.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.29.59-768x536.webp 768w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.29.59-1536x1072.webp 1536w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-18.29.59-2048x1430.webp 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-quantitative-analysis\">\n\n\n\n<h2 class=\"wp-block-heading\">How to perform quantitative analysis with the OpenBB Platform?<\/h2>\n\n\n\n<p>To perform quantitative analysis with the OpenBB Platform, you will need to make sure that the <code>openbb-quantitative<\/code> library is installed. By having it installed, you will unlock a new pathway which is the <code>obb.quantitative<\/code> router and its endpoints.<\/p>\n\n\n\n<p>Let us install it by running:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pip install openbb-quantitative<\/code><\/pre><\/div>\n\n\n\n<p>After installing it, make sure to restart the notebook and import again obb so that it builds the Python static assets for the added extension.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.quantitative<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/quantitative\n    capm\n    kurtosis\n    normality\n    omega_ratio\n    quantile\n    sharpe_ratio\n    skewness\n    sortino_ratio\n    summary\n    unitroot_test<\/code><\/pre>\n\n\n\n<p>Now, let us run a normality test on the adjusted close data:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>luv_historical = obb.equity.price.historical(&quot;LUV&quot;).to_df()\nobb.quantitative.normality(data=luv_historical, target=&quot;adj_close&quot;).to_df()<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>0\tkurtosis\tstatistic=-1.980922466143507 p_value=0.0475999...\n1\tskewness\tstatistic=-0.7194281764567769 p_value=0.471877...\n2\tjarque_bera\tstatistic=3.0962272128471486 p_value=0.2126487...\n3\tshapiro_wilk\tstatistic=0.98307204246521 p_value=0.004416265...\n4\tkolmogorov_smirnov\tstatistic=1.0 p_value=0.0<\/code><\/pre><\/div>\n\n\n\n<a name=\"openbb-platform-technical-analysis\">\n\n\n\n<h2 class=\"wp-block-heading\">How to perform technical analysis with the OpenBB Platform?<\/h2>\n\n\n\n<p>To perform technical analysis with the OpenBB Platform, you will need to make sure that the <code>openbb-technical<\/code> library is installed. By having it installed, you will unlock a new pathway which is the <code>obb.technical<\/code> router and its endpoints.<\/p>\n\n\n\n<p>Let us install it by running:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pip install openbb-technical<\/code><\/pre><\/div>\n\n\n\n<p>Whenever you add a new extension, you will need to restart and re-import the library so it gets picked up accordingly. Let us see what we have unlocked:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.technical<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/technical\n    ad\n    adosc\n    adx\n    aroon\n    atr\n    bbands\n    cci\n    cg\n    clenow\n    cones\n    demark\n    donchian\n    ema\n    fib\n    fisher\n    hma\n    ichimoku\n    kc\n    macd\n    obv\n    rsi\n    sma\n    stoch\n    vwap\n    wma\n    zlma<\/code><\/pre>\n\n\n\n<p>Now, I will calculate the length of 14 RSI on the adjusted closing prices:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.technical.rsi(data=luv_historical, target=&quot;adj_close&quot;).to_df().tail(10)[\n    &quot;adj_close_RSI_14&quot;\n]<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>241    57.444245\n242    57.199409\n243    58.470221\n244    60.907707\n245    61.714351\n246    50.706565\n247    51.800099\n248    47.213098\n249    59.399720\n250    59.093636<\/code><\/pre><\/div>\n\n\n\n<a name=\"openbb-platform-econometrics-analysis\">\n\n\n\n<h2 class=\"wp-block-heading\">How to perform econometrics analysis with the OpenBB Platform?<\/h2>\n\n\n\n<p>To perform econometrics analysis with the OpenBB Platform, you will need to install the <code>openbb.econometrics<\/code> extension that will unlock the <code>obb.econometrics<\/code> router for usage.<\/p>\n\n\n\n<p>Let us install it by running:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>pip install openbb-econometrics<\/code><\/pre><\/div>\n\n\n\n<p>After restarting and re-importing <code>obb<\/code>, we can now start using the following set of functions:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.econometrics<\/code><\/pre><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\/econometrics\n    autocorrelation\n    causality\n    cointegration\n    correlation_matrix\n    ols_regression\n    ols_regression_summary\n    panel_between\n    panel_first_difference\n    panel_fixed\n    panel_fmac\n    panel_pooled\n    panel_random_effects\n    residual_autocorrelation\n    unit_root<\/code><\/pre>\n\n\n\n<p>Now, we can do an autocorrelation test for the adjusted close column:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.econometrics.correlation_matrix(\n    data=luv_historical,\n).to_df()<\/code><\/pre><\/div>\n\n\n\n<p>We can also do an OLS Regression which will return a statsmodel object:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>obb.econometrics.ols_regression(\n    data=luv_historical,\n    y_column=&quot;adj_close&quot;,\n    x_columns=[&quot;high&quot;, &quot;low&quot;, &quot;open&quot;],\n).results[&quot;results&quot;].summary()<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1012\" height=\"1014\" src=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-20.26.09.webp\" alt=\"\" class=\"wp-image-22465\" srcset=\"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-20.26.09.webp 1012w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-20.26.09-300x300.webp 300w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-20.26.09-150x150.webp 150w, https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-20-at-20.26.09-768x770.webp 768w\" sizes=\"(max-width: 1012px) 100vw, 1012px\" \/><\/figure>\n\n\n\n<a name=\"openbb-platform-custom-extension\">\n\n\n\n<h2 class=\"wp-block-heading\">How to create your own OpenBB Platform extension?<\/h2>\n\n\n\n<p>To create your own OpenBB Platform extension, there is a tool called the OpenBB Cookiecutter that allows you to easily create a custom extension that can be picked up and used by the OpenBB Platform. You can also publish it so other people can use it.<\/p>\n\n\n\n<p>Here is the GitHub repo that will guide you through the process and a demo video:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/OpenBB-finance\/openbb-cookiecutter\">https:\/\/github.com\/OpenBB-finance\/openbb-cookiecutter<\/a><\/p>\n\n\n\n<p class=\"wp-embed-aspect-16-9 wp-has-aspect-ratio\"><a href=\"https:\/\/youtu.be\/cOh-bK81JRk\">https:\/\/youtu.be\/cOh-bK81JRk<\/a><\/p>\n\n\n\n<a name=\"openbb-platform-learn-more\">\n\n\n\n<h2 class=\"wp-block-heading\">Where can I learn more about the OpenBB Platform?<\/h2>\n\n\n\n<p>To learn more about the OpenBB Platform, I highly recommend reading the documentation that can be found <a href=\"https:\/\/docs.openbb.co\/platform\">here<\/a> and check out the notebook examples <a href=\"https:\/\/my.openbb.co\/app\/platform\/examples\">here<\/a>. There are also some tutorials present on this <a href=\"https:\/\/my.openbb.co\/app\/platform\/tutorials\">page<\/a>.<\/p>\n\n\n\n<a name=\"openbb-platform-full-code\">\n\n\n\n<h2 class=\"wp-block-heading\">Full code<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/AlgoTrading101\/OpenBB-Platform-AlgoTrading101\">GitHub Link<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Table of contents: What is the OpenBB Platform? The OpenBB Platform is an open-source modular financial analysis ecosystem. It integrates with close to 100 different data sources from asset classes such as equity, options, crypto, forex, macro economy, fixed income, alternative datasets, and more. Before we dive in deeper, take note that I&#8217;m the OpenBB [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":22441,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[3],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OpenBB Platform - A Complete Guide - AlgoTrading101 Blog<\/title>\n<meta name=\"description\" content=\"The OpenBB Platform is an open-source data analytics product that integrates with close to 100 different data sources.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenBB Platform - A Complete Guide - AlgoTrading101 Blog\" \/>\n<meta property=\"og:description\" content=\"The OpenBB Platform is an open-source data analytics product that integrates with close to 100 different data sources.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Quantitative Trading Ideas and Guides - AlgoTrading101 Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-23T16:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-24T14:16:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/ChatGPT-edited.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Igor Radovanovic\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Igor Radovanovic\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OpenBB Platform - A Complete Guide - AlgoTrading101 Blog","description":"The OpenBB Platform is an open-source data analytics product that integrates with close to 100 different data sources.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/","og_locale":"en_US","og_type":"article","og_title":"OpenBB Platform - A Complete Guide - AlgoTrading101 Blog","og_description":"The OpenBB Platform is an open-source data analytics product that integrates with close to 100 different data sources.","og_url":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/","og_site_name":"Quantitative Trading Ideas and Guides - AlgoTrading101 Blog","article_published_time":"2024-01-23T16:00:00+00:00","article_modified_time":"2025-04-24T14:16:49+00:00","og_image":[{"width":900,"height":563,"url":"http:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2024\/01\/ChatGPT-edited.webp","type":"image\/webp"}],"author":"Igor Radovanovic","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Igor Radovanovic","Est. reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/#article","isPartOf":{"@id":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/"},"author":{"name":"Igor Radovanovic","@id":"https:\/\/algotrading101.com\/learn\/#\/schema\/person\/a7ae60c112a73b7c3fe14ac56726a0ae"},"headline":"OpenBB Platform &#8211; A Complete Guide","datePublished":"2024-01-23T16:00:00+00:00","dateModified":"2025-04-24T14:16:49+00:00","mainEntityOfPage":{"@id":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/"},"wordCount":2718,"publisher":{"@id":"https:\/\/algotrading101.com\/learn\/#organization"},"articleSection":["Programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/","url":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/","name":"OpenBB Platform - A Complete Guide - AlgoTrading101 Blog","isPartOf":{"@id":"https:\/\/algotrading101.com\/learn\/#website"},"datePublished":"2024-01-23T16:00:00+00:00","dateModified":"2025-04-24T14:16:49+00:00","description":"The OpenBB Platform is an open-source data analytics product that integrates with close to 100 different data sources.","breadcrumb":{"@id":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/algotrading101.com\/learn\/openbb-platform-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/algotrading101.com\/learn\/"},{"@type":"ListItem","position":2,"name":"OpenBB Platform &#8211; A Complete Guide"}]},{"@type":"WebSite","@id":"https:\/\/algotrading101.com\/learn\/#website","url":"https:\/\/algotrading101.com\/learn\/","name":"Quantitative Trading Ideas and Guides - AlgoTrading101 Blog","description":"Authentic Stories about Algorithmic trading, coding and life.","publisher":{"@id":"https:\/\/algotrading101.com\/learn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/algotrading101.com\/learn\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/algotrading101.com\/learn\/#organization","name":"AlgoTrading101","url":"https:\/\/algotrading101.com\/learn\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/algotrading101.com\/learn\/#\/schema\/logo\/image\/","url":"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2020\/11\/AlgoTrading101-Lucas-Liew.jpg","contentUrl":"https:\/\/algotrading101.com\/learn\/wp-content\/uploads\/2020\/11\/AlgoTrading101-Lucas-Liew.jpg","width":1200,"height":627,"caption":"AlgoTrading101"},"image":{"@id":"https:\/\/algotrading101.com\/learn\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/algotrading101.com\/learn\/#\/schema\/person\/a7ae60c112a73b7c3fe14ac56726a0ae","name":"Igor Radovanovic","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/algotrading101.com\/learn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d46175c509b3ee240a1e2bbe735a4d1e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d46175c509b3ee240a1e2bbe735a4d1e?s=96&d=mm&r=g","caption":"Igor Radovanovic"},"sameAs":["https:\/\/igorradovanovic.com","https:\/\/www.linkedin.com\/in\/igor-radovanovic-profile"],"url":"https:\/\/algotrading101.com\/learn\/author\/igor\/"}]}},"modified_by":"Igor Radovanovic","_links":{"self":[{"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/posts\/22389"}],"collection":[{"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/comments?post=22389"}],"version-history":[{"count":61,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/posts\/22389\/revisions"}],"predecessor-version":[{"id":23058,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/posts\/22389\/revisions\/23058"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/media\/22441"}],"wp:attachment":[{"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/media?parent=22389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/categories?post=22389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/algotrading101.com\/learn\/wp-json\/wp\/v2\/tags?post=22389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}