{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "fc6a4747cea243f4bac6a19c43264fec": { "model_module": "@jupyter-widgets/controls", "model_name": "DropdownModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DropdownModel", "_options_labels": [ "Total Open Interest", "Call Open Interest", "Put Open Interest", "Total Volume", "Call Volume", "Put Volume" ], "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "DropdownView", "description": "", "description_tooltip": null, "disabled": false, "index": 0, "layout": "IPY_MODEL_bf10b4a3831f4e6595398f2d62a0f7b2", "style": "IPY_MODEL_6095af63918f4075a891fc950c9790d3" } }, "bf10b4a3831f4e6595398f2d62a0f7b2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6095af63918f4075a891fc950c9790d3": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } } } } }, "cells": [ { "cell_type": "markdown", "source": [ "# Installing the OpenBB Platform in Google Colab\n", "\n", "This notebook will install the OpenBB Platform, fetch some data and prepare it for display as a bar chart.\n", "\n", "Sign up for a free account here: https://my.openbb.co" ], "metadata": { "id": "xIOXTKkqBReO" } }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "xvU65bhqKNns" }, "outputs": [], "source": [ "# Install the OpenBB Platform with all available extensions.\n", "# Messages indicating package version conflicts at the end of installation can be safely ignored.\n", "\n", "!pip install openbb[all]\n", "\n", "# There is also a nightly distribution available, openbb-nightly" ] }, { "cell_type": "code", "source": [ "# Before running this cell, restart the runtime by selecting, \"Restart runtime\", from the \"Runtime\" menu.\n", "\n", "# Import statements - for many scenarios, the only import needed will be `from openbb import obb`\n", "from typing import Literal\n", "from IPython.display import display\n", "from IPython.display import clear_output\n", "import ipywidgets as widgets\n", "import pandas as pd\n", "import pandas_ta as ta\n", "from datetime import datetime\n", "from plotly import graph_objects as go\n", "\n", "from openbb import obb" ], "metadata": { "id": "_69FIu9YKRhI" }, "execution_count": 98, "outputs": [] }, { "cell_type": "code", "source": [ "# Login to OpenBB Hub to retrieve stored API keys.\n", "# https://my.openbb.co/app/platform/pat\n", "# https://my.openbb.co/app/platform/api-keys\n", "\n", "obb.account.login(pat=\"replace with your PAT\")\n", "\n", "# This is not required" ], "metadata": { "id": "1OLsZHDYMBSS" }, "execution_count": 3, "outputs": [] }, { "cell_type": "code", "source": [ "# Verify that the credentials from Hub were loaded successfully.\n", "\n", "obb.user.credentials" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "gJ7FwTC6MTzv", "outputId": "b9d4e888-7f3f-4756-b1a4-ae438e61c2b5" }, "execution_count": 4, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Credentials\n", "\n", "alpha_vantage_api_key: **********\n", "benzinga_api_key: None\n", "biztoc_api_key: None\n", "fmp_api_key: **********\n", "fred_api_key: **********\n", "intrinio_api_key: **********\n", "nasdaq_api_key: **********\n", "polygon_api_key: **********\n", "tiingo_token: None\n", "tradingeconomics_api_key: None" ] }, "metadata": {}, "execution_count": 4 } ] }, { "cell_type": "code", "source": [ "# Set the output preference, if desired. The examples below use Pandas DataFrames.\n", "\n", "obb.user.preferences.output_type = \"dataframe\"" ], "metadata": { "id": "27JtqRAQ2HTb" }, "execution_count": 67, "outputs": [] }, { "cell_type": "code", "source": [ "# Get Some Data\n", "symbol = \"SPY\"\n", "\n", "options = obb.derivatives.options.chains(symbol, provider=\"cboe\")\n", "\n", "options" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 444 }, "id": "GWI_60zD3M3l", "outputId": "47338fab-8ab5-467f-c26e-44148c848c63" }, "execution_count": 88, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " contract_symbol expiration strike option_type volume open \\\n", "0 SPY231130C00387000 2023-11-30 387.0 call 7.0 67.60 \n", "1 SPY231130P00387000 2023-11-30 387.0 put 2.0 0.01 \n", "2 SPY231130C00388000 2023-11-30 388.0 call 1.0 66.47 \n", "3 SPY231130P00388000 2023-11-30 388.0 put 1.0 0.01 \n", "4 SPY231130C00389000 2023-11-30 389.0 call 0.0 0.00 \n", "... ... ... ... ... ... ... \n", "8215 SPY260116P00670000 2026-01-16 670.0 put 0.0 0.00 \n", "8216 SPY260116C00675000 2026-01-16 675.0 call 0.0 0.00 \n", "8217 SPY260116P00675000 2026-01-16 675.0 put 0.0 0.00 \n", "8218 SPY260116C00680000 2026-01-16 680.0 call 0.0 0.00 \n", "8219 SPY260116P00680000 2026-01-16 680.0 put 0.0 0.00 \n", "\n", " open_interest high low implied_volatility ... last_trade_price \\\n", "0 5.0 67.60 66.55 0.0000 ... 66.55 \n", "1 290.0 0.01 0.01 0.0000 ... 0.01 \n", "2 0.0 66.47 66.47 0.0000 ... 66.47 \n", "3 1.0 0.01 0.01 0.0000 ... 0.01 \n", "4 0.0 0.00 0.00 0.0000 ... 0.00 \n", "... ... ... ... ... ... ... \n", "8215 0.0 0.00 0.00 0.2367 ... 216.04 \n", "8216 0.0 0.00 0.00 0.1387 ... 0.00 \n", "8217 0.0 0.00 0.00 0.2385 ... 0.00 \n", "8218 0.0 0.00 0.00 0.1411 ... 0.00 \n", "8219 0.0 0.00 0.00 0.2432 ... 223.91 \n", "\n", " tick prev_close change change_percent rho \\\n", "0 down 67.69 -1.135 -1.68 0.0003 \n", "1 no_change 0.00 0.005 100.00 0.0000 \n", "2 down 66.68 -0.210 -0.31 0.0003 \n", "3 no_change 0.00 0.005 100.00 0.0000 \n", "4 no_change 65.69 0.000 0.00 0.0003 \n", "... ... ... ... ... ... \n", "8215 down 215.44 0.000 0.00 -0.3427 \n", "8216 no_change 2.50 0.000 0.00 0.4385 \n", "8217 no_change 220.50 0.000 0.00 -0.3453 \n", "8218 no_change 2.50 0.000 0.00 0.4078 \n", "8219 down 225.50 0.000 0.00 -0.3478 \n", "\n", " last_trade_timestamp dte bid ask \n", "0 2023-11-30 12:27:59 -1 67.77 70.67 \n", "1 2023-11-30 09:30:12 -1 0.00 0.01 \n", "2 2023-11-30 09:42:00 -1 67.56 68.77 \n", "3 2023-11-30 10:16:04 -1 0.00 0.01 \n", "4 NaT -1 65.77 68.67 \n", "... ... ... ... ... \n", "8215 2023-11-20 12:31:47 777 211.56 216.50 \n", "8216 NaT 777 0.00 5.00 \n", "8217 NaT 777 216.50 221.50 \n", "8218 NaT 777 0.00 5.00 \n", "8219 2023-11-27 14:07:53 777 221.50 226.50 \n", "\n", "[8220 rows x 27 columns]" ], "text/html": [ "\n", "
| \n", " | contract_symbol | \n", "expiration | \n", "strike | \n", "option_type | \n", "volume | \n", "open | \n", "open_interest | \n", "high | \n", "low | \n", "implied_volatility | \n", "... | \n", "last_trade_price | \n", "tick | \n", "prev_close | \n", "change | \n", "change_percent | \n", "rho | \n", "last_trade_timestamp | \n", "dte | \n", "bid | \n", "ask | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "SPY231130C00387000 | \n", "2023-11-30 | \n", "387.0 | \n", "call | \n", "7.0 | \n", "67.60 | \n", "5.0 | \n", "67.60 | \n", "66.55 | \n", "0.0000 | \n", "... | \n", "66.55 | \n", "down | \n", "67.69 | \n", "-1.135 | \n", "-1.68 | \n", "0.0003 | \n", "2023-11-30 12:27:59 | \n", "-1 | \n", "67.77 | \n", "70.67 | \n", "
| 1 | \n", "SPY231130P00387000 | \n", "2023-11-30 | \n", "387.0 | \n", "put | \n", "2.0 | \n", "0.01 | \n", "290.0 | \n", "0.01 | \n", "0.01 | \n", "0.0000 | \n", "... | \n", "0.01 | \n", "no_change | \n", "0.00 | \n", "0.005 | \n", "100.00 | \n", "0.0000 | \n", "2023-11-30 09:30:12 | \n", "-1 | \n", "0.00 | \n", "0.01 | \n", "
| 2 | \n", "SPY231130C00388000 | \n", "2023-11-30 | \n", "388.0 | \n", "call | \n", "1.0 | \n", "66.47 | \n", "0.0 | \n", "66.47 | \n", "66.47 | \n", "0.0000 | \n", "... | \n", "66.47 | \n", "down | \n", "66.68 | \n", "-0.210 | \n", "-0.31 | \n", "0.0003 | \n", "2023-11-30 09:42:00 | \n", "-1 | \n", "67.56 | \n", "68.77 | \n", "
| 3 | \n", "SPY231130P00388000 | \n", "2023-11-30 | \n", "388.0 | \n", "put | \n", "1.0 | \n", "0.01 | \n", "1.0 | \n", "0.01 | \n", "0.01 | \n", "0.0000 | \n", "... | \n", "0.01 | \n", "no_change | \n", "0.00 | \n", "0.005 | \n", "100.00 | \n", "0.0000 | \n", "2023-11-30 10:16:04 | \n", "-1 | \n", "0.00 | \n", "0.01 | \n", "
| 4 | \n", "SPY231130C00389000 | \n", "2023-11-30 | \n", "389.0 | \n", "call | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.0000 | \n", "... | \n", "0.00 | \n", "no_change | \n", "65.69 | \n", "0.000 | \n", "0.00 | \n", "0.0003 | \n", "NaT | \n", "-1 | \n", "65.77 | \n", "68.67 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 8215 | \n", "SPY260116P00670000 | \n", "2026-01-16 | \n", "670.0 | \n", "put | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.2367 | \n", "... | \n", "216.04 | \n", "down | \n", "215.44 | \n", "0.000 | \n", "0.00 | \n", "-0.3427 | \n", "2023-11-20 12:31:47 | \n", "777 | \n", "211.56 | \n", "216.50 | \n", "
| 8216 | \n", "SPY260116C00675000 | \n", "2026-01-16 | \n", "675.0 | \n", "call | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.1387 | \n", "... | \n", "0.00 | \n", "no_change | \n", "2.50 | \n", "0.000 | \n", "0.00 | \n", "0.4385 | \n", "NaT | \n", "777 | \n", "0.00 | \n", "5.00 | \n", "
| 8217 | \n", "SPY260116P00675000 | \n", "2026-01-16 | \n", "675.0 | \n", "put | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.2385 | \n", "... | \n", "0.00 | \n", "no_change | \n", "220.50 | \n", "0.000 | \n", "0.00 | \n", "-0.3453 | \n", "NaT | \n", "777 | \n", "216.50 | \n", "221.50 | \n", "
| 8218 | \n", "SPY260116C00680000 | \n", "2026-01-16 | \n", "680.0 | \n", "call | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.1411 | \n", "... | \n", "0.00 | \n", "no_change | \n", "2.50 | \n", "0.000 | \n", "0.00 | \n", "0.4078 | \n", "NaT | \n", "777 | \n", "0.00 | \n", "5.00 | \n", "
| 8219 | \n", "SPY260116P00680000 | \n", "2026-01-16 | \n", "680.0 | \n", "put | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "0.00 | \n", "0.00 | \n", "0.2432 | \n", "... | \n", "223.91 | \n", "down | \n", "225.50 | \n", "0.000 | \n", "0.00 | \n", "-0.3478 | \n", "2023-11-27 14:07:53 | \n", "777 | \n", "221.50 | \n", "226.50 | \n", "
8220 rows × 27 columns
\n", "| \n", " | Total Open Interest | \n", "Call Open Interest | \n", "Put Open Interest | \n", "Total Volume | \n", "Call Volume | \n", "Put Volume | \n", "
|---|---|---|---|---|---|---|
| strike | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 120.0 | \n", "22821.0 | \n", "74.0 | \n", "22747.0 | \n", "78.0 | \n", "0.0 | \n", "78.0 | \n", "
| 130.0 | \n", "1506.0 | \n", "19.0 | \n", "1487.0 | \n", "61.0 | \n", "0.0 | \n", "61.0 | \n", "
| 140.0 | \n", "488.0 | \n", "2.0 | \n", "486.0 | \n", "1.0 | \n", "0.0 | \n", "1.0 | \n", "
| 150.0 | \n", "72684.0 | \n", "2072.0 | \n", "70612.0 | \n", "65.0 | \n", "4.0 | \n", "61.0 | \n", "
| 155.0 | \n", "12298.0 | \n", "18.0 | \n", "12280.0 | \n", "21.0 | \n", "1.0 | \n", "20.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 700.0 | \n", "24945.0 | \n", "24835.0 | \n", "110.0 | \n", "2.0 | \n", "2.0 | \n", "0.0 | \n", "
| 705.0 | \n", "478.0 | \n", "478.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 710.0 | \n", "1511.0 | \n", "1511.0 | \n", "0.0 | \n", "3.0 | \n", "1.0 | \n", "2.0 | \n", "
| 715.0 | \n", "981.0 | \n", "981.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 720.0 | \n", "102823.0 | \n", "102821.0 | \n", "2.0 | \n", "36.0 | \n", "36.0 | \n", "0.0 | \n", "
272 rows × 6 columns
\n", "| \n", " | symbol | \n", "period | \n", "current_ratio | \n", "quick_ratio | \n", "cash_ratio | \n", "days_of_sales_outstanding | \n", "days_of_inventory_outstanding | \n", "operating_cycle | \n", "days_of_payables_outstanding | \n", "cash_conversion_cycle | \n", "... | \n", "price_earnings_ratio | \n", "price_to_free_cash_flows_ratio | \n", "price_to_operating_cash_flows_ratio | \n", "price_cash_flow_ratio | \n", "price_earnings_to_growth_ratio | \n", "price_sales_ratio | \n", "dividend_yield | \n", "enterprise_value_multiple | \n", "price_fair_value | \n", "calendarYear | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| date | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 1998-12-26 | \n", "AAPL | \n", "Q1 | \n", "2.605795 | \n", "2.352426 | \n", "0.822776 | \n", "48.052632 | \n", "1.832248 | \n", "49.884879 | \n", "48.004886 | \n", "1.879993 | \n", "... | \n", "8.732568 | \n", "24.355053 | \n", "23.808976 | \n", "23.808976 | \n", "0.203760 | \n", "3.104913 | \n", "0.000000 | \n", "28.650009 | \n", "2.760999 | \n", "1999 | \n", "
| 1999-03-27 | \n", "AAPL | \n", "Q2 | \n", "2.650259 | \n", "2.413212 | \n", "0.879534 | \n", "47.294118 | \n", "1.437445 | \n", "48.731562 | \n", "63.167702 | \n", "-14.436140 | \n", "... | \n", "8.397059 | \n", "18.137648 | \n", "16.856551 | \n", "16.856551 | \n", "-0.699755 | \n", "2.963668 | \n", "0.000000 | \n", "62.597153 | \n", "2.084787 | \n", "1999 | \n", "
| 1999-06-26 | \n", "AAPL | \n", "Q3 | \n", "2.792723 | \n", "2.600390 | \n", "1.152047 | \n", "51.758665 | \n", "0.557029 | \n", "52.315694 | \n", "63.023873 | \n", "-10.708179 | \n", "... | \n", "7.484225 | \n", "75.027047 | \n", "69.058986 | \n", "69.058986 | \n", "0.178003 | \n", "3.900636 | \n", "0.000000 | \n", "209.281398 | \n", "2.046192 | \n", "1999 | \n", "
| 1999-09-25 | \n", "AAPL | \n", "Q4 | \n", "2.766301 | \n", "2.522272 | \n", "0.856036 | \n", "45.875749 | \n", "1.890756 | \n", "47.766505 | \n", "76.764706 | \n", "-28.998201 | \n", "... | \n", "23.552897 | \n", "51.769733 | \n", "47.970120 | \n", "47.970120 | \n", "-0.467319 | \n", "7.827460 | \n", "0.000000 | \n", "70.913430 | \n", "3.369035 | \n", "1999 | \n", "
| 2000-01-01 | \n", "AAPL | \n", "Q1 | \n", "2.498219 | \n", "2.316539 | \n", "0.807125 | \n", "34.263764 | \n", "0.777650 | \n", "35.041414 | \n", "60.864055 | \n", "-25.822641 | \n", "... | \n", "22.618570 | \n", "49.423264 | \n", "44.388186 | \n", "44.388186 | \n", "0.350588 | \n", "7.066493 | \n", "0.000000 | \n", "58.063853 | \n", "3.750973 | \n", "2000 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2022-09-24 | \n", "AAPL | \n", "Q4 | \n", "0.879356 | \n", "0.709408 | \n", "0.153563 | \n", "60.833315 | \n", "8.551997 | \n", "69.385312 | \n", "110.859542 | \n", "-41.474230 | \n", "... | \n", "29.094281 | \n", "115.723695 | \n", "99.948206 | \n", "99.948206 | \n", "3.879237 | \n", "26.750498 | \n", "0.001536 | \n", "90.344514 | \n", "47.589406 | \n", "2022 | \n", "
| 2022-12-31 | \n", "AAPL | \n", "Q1 | \n", "0.938020 | \n", "0.768724 | \n", "0.149578 | \n", "41.622138 | \n", "9.185598 | \n", "50.807736 | \n", "78.007542 | \n", "-27.199806 | \n", "... | \n", "17.208993 | \n", "68.334817 | \n", "60.724643 | \n", "60.724643 | \n", "0.369993 | \n", "17.625873 | \n", "0.001825 | \n", "55.366190 | \n", "36.401387 | \n", "2023 | \n", "
| 2023-04-01 | \n", "AAPL | \n", "Q2 | \n", "0.940354 | \n", "0.764281 | \n", "0.205597 | \n", "34.068392 | \n", "12.738933 | \n", "46.807325 | \n", "73.118615 | \n", "-26.311290 | \n", "... | \n", "26.938138 | \n", "101.516990 | \n", "91.152020 | \n", "91.152020 | \n", "-1.414252 | \n", "27.450564 | \n", "0.001402 | \n", "86.117046 | \n", "41.882005 | \n", "2023 | \n", "
| 2023-07-01 | \n", "AAPL | \n", "Q3 | \n", "0.981563 | \n", "0.813585 | \n", "0.227331 | \n", "43.115762 | \n", "14.577604 | \n", "57.693367 | \n", "92.607747 | \n", "-34.914381 | \n", "... | \n", "38.288645 | \n", "125.370206 | \n", "115.423282 | \n", "115.423282 | \n", "-2.253139 | \n", "37.224668 | \n", "0.001264 | \n", "135.913479 | \n", "50.517075 | \n", "2023 | \n", "
| 2023-09-30 | \n", "AAPL | \n", "Q4 | \n", "0.988012 | \n", "0.843312 | \n", "0.206217 | \n", "61.327069 | \n", "11.611542 | \n", "72.938611 | \n", "114.833405 | \n", "-41.894793 | \n", "... | \n", "29.085850 | \n", "137.421101 | \n", "123.658630 | \n", "123.658630 | \n", "1.846951 | \n", "29.841774 | \n", "0.001407 | \n", "92.900618 | \n", "42.975881 | \n", "2023 | \n", "
100 rows × 57 columns
\n", "