--- geekdocCollapseSection: true --- {{< toc-tree >}} image - [GST python API](#gst-python-api) - [Python environment setup](#python-environment-setup) - [Understanding the API functions](#understanding-the-api-functions) - [Usage examples](#usage-examples) - [External matplotlib axes support](#external-matplotlib-axes-support) ## GST python API The GST python API was created to enable usage of the terminal functionality in python scripts and IPython Notebooks (Jupyter). The API wraps the functionality of the terminal in a way that the python commands follow the same convention as the terminal. For example `stocks/load aapl` becomes `openbb.stocks.load("aapl")`. --- ## Python environment setup Import the GST API into your python script or notebook with ```python from openbb_terminal import api as openbb ``` ## Understanding the API functions To understand the parameters of an API function the simplest way is to refer to the docstring. Docstrings can be viewed using the code introspection tools of your text/notebook editor or the built-in python `help` command. Docstrings contain both the description of the functionality and the overview of the parameters. As an example this is the docstring of `openbb.economy.bigmac`: ```txt Display Big Mac Index for given countries Parameters ---------- country_codes : List[str] List of country codes to get for raw : bool, optional Flag to display raw data, by default False export : str, optional Format data, by default "" external_axes : Optional[List[plt.Axes]], optional External axes (3 axes are expected in the list), by default None ``` ## Usage examples Load stock data into a dataframe: ```python aapl_data = openbb.stocks.load( ticker="aapl", start="2021-06-10", ) aapl_data = openbb.stocks.process_candle(aapl_data) ``` Plot candle chart ```python openbb.stocks.candle("AAPL", aapl_data, True) ``` Call the "What if" command of the backtesting menu ```python openbb.stocks.bt.whatif("aapl", 10, datetime.strptime("2012-03-03", "%Y-%m-%d")) ``` Get sentiment for a list of tickers ```python openbb.stocks.ca.models.finbrain.get_sentiments(tickers=["aapl"]) ``` Print key fundamental metrics for past 2 years ```python openbb.stocks.fa.fmp.metrics(ticker="AAPL", number=2) ``` Get fundamental metrics for past 3 years as a pandas dataframe ```python openbb.stocks.fa.fmp.models.fmp.get_key_metrics(ticker="AAPL", number=3) ``` Perform an OLS regression on multiple custom datasets ```python openbb.econometrics.ols( regression_variables=[ 'close-tsla', 'volume-aapl' ], data={"aapl":aapl_data,"tsla":tsla_data}, datasets={ "close-tsla":{"Close": None, "tsla": None}, "volume-aapl":{"Volume": None, "aapl": None} } ) ``` ## External matplotlib axes support Most of the functions of the terminal that generate matplotlib charts support passing external axes into them. This is very handy when you want a chart that is generated by GST to appear in another chart that you are creating in a notebook. Example: ```python # Load stock data ticker = "AAPL" stock_data = openbb.stocks.load(ticker="aapl") # Create a matplotlib figure fig, axes = plt.subplots(3, 1, figsize=(10, 7)) # Use GST to add charts to the axes of the created figure openbb.stocks.ta.macd(s_ticker=ticker, series=aapl["Close"], external_axes=axes[0:2]) openbb.stocks.options.voi_yf( ticker=ticker, expiry="2022-03-11", min_sp=110, max_sp=210, min_vol=0.3, external_axes=[axes[2]], ) # Show the figure with charts fig.show() ``` ---