Learn Python with Talk Python's 270 hours of courses

OpenBB: Python's Open-source Investment Platform

Episode #370, published Wed, Jun 22, 2022, recorded Thu, Jun 9, 2022

You may have heard of the Bloomberg terminal. It's expensive software that can monitor and analyze real-time financial market data and place trades on the electronic trading platform. But have you heard of OpenBB? It's similar software for real-time and long term analysis for finance and investing. The difference is it's open source and built entirely with Python and gives you access to analyze a massive amount of real-time and historical data using the full Python data science stack. On this episode, we have one of the cofounders, James Maslek here to give us a look inside this cool piece of Python-based software.

Watch this episode on YouTube
Play on YouTube
Watch the live stream version

Episode Deep Dive

Guest Background

James Maslach is a cofounder of OpenBB, an open-source investment platform built entirely in Python. He’s also a PhD student in Physics at the University of Maryland, focusing on cold atoms and optical lattices. James discovered Python while looking for a more flexible alternative to MATLAB for scientific computing. After joining OpenBB’s founder, Didier, James helped shape this powerful open-source solution that targets anyone interested in real-time and historical financial analytics without the typical industry price tag.

What to Know If You're New to Python

If you’re excited about OpenBB but new to Python, here are a few foundational ideas to keep in mind:

  • Python is widely used in data science, particularly with libraries such as NumPy, Pandas, and matplotlib.
  • Command-line interfaces (CLI) can seem daunting, but they often offer powerful automation and customization not always found in point-and-click GUIs.
  • Jupyter notebooks let you integrate Python code, data exploration, and visualizations, which is relevant for analyzing stock data or trying out machine learning.
  • Learning the basics of the language’s control flow (loops, functions) and data structures (lists, dictionaries) will give you a big head start.

Key Points and Takeaways

  1. Introducing OpenBB: An Open-Source Bloomberg Alternative
    OpenBB is a Python-based terminal for real-time and historical financial data analytics. It’s inspired by the functionality of high-cost platforms (e.g., Bloomberg Terminal) but aims to remain free, open source, and accessible. This means you can install it and tap into many data providers through your own API keys.

  2. Core Architecture: MVC + Python Data Science Libraries
    The application follows a model-view-controller (MVC) pattern. Data fetching and transformations happen in the model layer, while commands and interactions live in the controller layer, and plotting or table displays happen in the view layer. OpenBB leverages Python staples like requests (for API calls), Pandas (for data manipulation), matplotlib (for visualization), plus optional machine learning libraries.

  3. Flexible and Customizable Visualization
    While the core interface is text-based, OpenBB automatically pops up interactive visualizations. The platform uses matplotlib for plotting and supports easy theme customization. This means users can adapt color schemes, line styles, and even incorporate new chart types.

  4. Data Integration and Real-Time Feeds
    To analyze both current and historical market movements, OpenBB taps into multiple data APIs. Users supply their own API keys—e.g., from sources like Yahoo Finance, Alpha Vantage, Polygon, or IEX Cloud—and OpenBB seamlessly integrates them into the command flow.

  5. Command-Line Interface (CLI) Experience
    Instead of a pure GUI, OpenBB uses a CLI workflow with rich text formatting (thanks to packages like prompt_toolkit and rich) to guide users. It also supports chaining commands and automating daily tasks with scripts. For those interested in building quick, repeatable workflows, this CLI approach is a huge advantage.

  6. PaperMill Reports and Jupyter Integration
    Beyond the terminal, OpenBB supports quick Jupyter notebook “templates” using PaperMill. This lets you generate PDF or HTML reports prefilled with market data and charts for a particular ticker or set of tickers. You can also import OpenBB functions directly into your own notebooks, harnessing the same data-fetching and plotting logic.

  7. Community and Open-Source Contributions
    The project’s GitHub repo has thousands of stars, and many contributors help expand the tool’s functionality—everything from adding new data providers to developing specialized volatility or quantitative analysis modules. The team welcomes pull requests, whether they’re big additions or small fixes.

  8. OpenBB’s $8.5M Funding and Advisory Team
    OpenBB raised significant seed funding (led by OSS Capital, among others), allowing them to invest in better UX, documentation, and new features. Notable advisors include Travis Oliphant (creator of NumPy / co-founder of Anaconda) and angel investors such as Naval Ravikant.

  9. Academic and Educational Uses
    The open nature of OpenBB makes it perfect for universities and coding bootcamps. Students can learn Python fundamentals, data analysis, and finance concepts all within one environment—no expensive licensing required. Professors are beginning to incorporate it into finance and econometrics coursework.

  10. Automating Financial Research
    The platform’s scripting feature allows users to write step-by-step instructions that load tickers, run quantitative/technical analyses, and generate plots or reports automatically. This is particularly useful for anyone who wants a daily or weekly research routine without repeating manual steps.

Interesting Quotes and Stories

  • On Python’s immediate appeal: “I got bored of MATLAB and started using Python. Never looked back.”
  • On being recognized by investors: “I was on my honeymoon when I got a LinkedIn message about funding. Suddenly, we’re talking seed investment with folks at OSS Capital.”
  • On open source acceptance: “People can just fork it, add new data sets or charts, or even build entire new features. That’s part of what makes our community so vibrant.”

Key Definitions and Terms

  • OpenBB: A Python-based open-source terminal for accessing, analyzing, and visualizing financial data.
  • Model-View-Controller (MVC): A software design pattern separating data handling (Model), command handling (Controller), and display (View).
  • PaperMill: A tool to parameterize and execute Jupyter Notebooks, often used for automated reporting.
  • API Key: A private key or token that grants access to data from online services (like Yahoo Finance or Alpha Vantage).

Learning Resources

Below are a few resources to help you dive deeper into Python and data-driven app building.

Overall Takeaway

OpenBB showcases the best of what Python can offer the financial world: accessible data science tools, a rich open-source community, and the ability to integrate with multiple data providers. Its CLI approach may seem unconventional for finance, but it offers deep customization, powerful automation, and real-time access to markets. With the support of a thriving developer community and recent funding, OpenBB is set to grow further, bridging the gap between cutting-edge Python data science and user-friendly financial research.

Links from the show

James Maslek: linkedin.com
OpenBB: openbb.co
OpenBB Feature Gallery: openbb.co
$8.5M seed funding announcement: openbb.co/blog
How to get rich talk by Naval (less money-focused than the title implies): youtube.com
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy

Talk Python's Mastodon Michael Kennedy's Mastodon