├── .gitignore ├── .gitpod.yml ├── .vscode └── settings.json ├── README.md ├── obb_01-01_basics_import.ipynb ├── obb_01-02_basics_calendar.ipynb ├── obb_01-03_basics_screener.ipynb ├── obb_01-04_basics_charts.ipynb ├── obb_02-01_modules_alternative.ipynb ├── obb_02-02_modules_crypto.ipynb ├── obb_02-03_modules_econometrics.ipynb ├── obb_02-04_modules_economy.ipynb ├── obb_02-05_modules_etf.ipynb ├── obb_02-06_modules_forecast.ipynb ├── obb_02-07_modules_forex.ipynb ├── obb_02-08_modules_futures.ipynb ├── obb_02-09_modules_portfolio.ipynb ├── obb_02-10_modules_quant-analysis.ipynb ├── obb_02-11_modules_stocks-analysis.ipynb └── obb_02-12_modules_technical-analysis.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | tasks: # before and init tasks are pre-built: https://www.gitpod.io/docs/configure/projects/prebuilds 2 | 3 | - name: Miniconda OpenBB SDK 4 | before: | 5 | mkdir -p /workspace/miniconda3-install-script 6 | curl -o /workspace/miniconda3-install-script/miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 7 | bash /workspace/miniconda3-install-script/miniconda.sh -b -u -p /workspace/miniconda3 8 | eval "$(/workspace/miniconda3/bin/conda shell.bash hook)" 9 | rm -rf /workspace/miniconda3-install-script 10 | alias conda=/workspace/miniconda3/bin/conda 11 | init: | 12 | conda create -n obb python=3.9.6 -y 13 | conda activate obb 14 | pip install --upgrade pip 15 | pip install openbb[all]==2.2.0 16 | command: conda activate obb 17 | 18 | 19 | # List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/ 20 | # ports: 21 | # - port: 3000 22 | # onOpen: open-preview 23 | 24 | github: 25 | prebuilds: 26 | # enable for the master/default branch (defaults to true) 27 | master: true 28 | # enable for all branches in this repo (defaults to false) 29 | branches: true 30 | # enable for pull requests coming from this repo (defaults to true) 31 | pullRequests: true 32 | # enable for pull requests coming from forks (defaults to false) 33 | pullRequestsFromForks: true 34 | # add a "Review in Gitpod" button as a comment to pull requests (defaults to true) 35 | addComment: true 36 | # add a "Review in Gitpod" button to pull requests (defaults to false) 37 | addBadge: false 38 | # add a label once the prebuild is ready to pull requests (defaults to false) 39 | addLabel: prebuilt-in-gitpod 40 | 41 | 42 | vscode: 43 | extensions: 44 | - ms-python.python 45 | - ms-toolsai.jupyter-renderers 46 | - ms-toolsai.jupyter 47 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.jupyter.defaultKernel": "/workspace/miniconda3/envs/obb/bin/python3.9", 3 | "python.jupyter.startupCode": [ 4 | "%matplotlib inline" 5 | ], 6 | "python.jupyter.appendResults": true 7 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenBB SDK Exporation 2 | 3 | ![data science](https://flat.badgen.net/badge/~/data%20science/gray) 4 | ![financial data](https://flat.badgen.net/badge/~/financial%20data/gray) 5 | ![quantitative analysis](https://flat.badgen.net/badge/~/quantitative%20analysis/gray) 6 | ![algorithmic trading](https://flat.badgen.net/badge/~/algorithmic%20trading/gray) 7 | ![python](https://flat.badgen.net/pypi/python/black) 8 | ![pip](https://flat.badgen.net/pypi/v/pip) 9 | ![pypi](https://flat.badgen.net/badge/icon/pypi?icon=pypi&label) 10 | ![vs code](https://flat.badgen.net/badge/icon/vs%20code?icon=visualstudio&label) 11 | ![docker](https://flat.badgen.net/badge/icon/docker?icon=docker&label) 12 | ![github watchers](https://flat.badgen.net/github/watchers/dMLTquant/openbb_sdk_exporation?icon=github) 13 | ![github total downloads](https://img.shields.io/github/downloads/dMLTquant/openbb_sdk_exporation/total?logo=GitHub&style=flat-square) 14 | ![github repo size](https://img.shields.io/github/repo-size/dMLTquant/openbb_sdk_exporation?logo=GitHub&style=flat-square) 15 | ![github last commit](https://img.shields.io/github/last-commit/dMLTquant/openbb_sdk_exporation?logo=GitHub&style=flat-square) 16 | [![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/dMLTquant/openbb_sdk_exporation) 17 | 18 | ![image](https://user-images.githubusercontent.com/61799047/205105036-81a4374a-71da-4f92-a714-8e6bd6b60f26.png) 19 | 20 | [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/dMLTquant/openbb_sdk_exporation) 21 | 22 | ## Need to know 23 | 24 | - Conda environement name: `obb` 25 | - Conda environment inside a terminal: `conda activate obb` 26 | - Jupyter Notebook Kernel: `obb` saved at path: `/workspace/miniconda3/envs/obb/` 27 | 28 | ## Official Docs: 29 | 30 | - [Guide](https://docs.openbb.co/sdk/) 31 | - [SDK Reference](https://docs.openbb.co/sdk/reference) 32 | - [API Keys](https://docs.openbb.co/sdk/guides/advanced/api-keys) 33 | - [Data Sources](https://docs.openbb.co/sdk/guides/advanced/changing-sources) 34 | - [Data Import/Export](https://docs.openbb.co/sdk/guides/advanced/data) 35 | - [Chart Styles](https://docs.openbb.co/sdk/guides/advanced/chart-styling) 36 | -------------------------------------------------------------------------------- /obb_01-01_basics_import.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 01.01 Basics: Import" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "from openbb_terminal.sdk import openbb" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 2, 22 | "metadata": {}, 23 | "outputs": [ 24 | { 25 | "name": "stdout", 26 | "output_type": "stream", 27 | "text": [ 28 | "Help on Breadcrumb in module openbb_terminal.core.library.breadcrumb:\n", 29 | "\n", 30 | "\n", 31 | " DD Menu\n", 32 | " \n", 33 | " The SDK commands of the the menu:\n", 34 | " .stocks.dd.est\n", 35 | " .stocks.dd.analyst\n", 36 | " .stocks.dd.sec\n", 37 | " .stocks.dd.pt\n", 38 | " .stocks.dd.pt_chart\n", 39 | " .stocks.dd.customer\n", 40 | " .stocks.dd.rot\n", 41 | " .stocks.dd.rot_chart\n", 42 | " .stocks.dd.rating\n", 43 | " .stocks.dd.arktrades\n", 44 | " .stocks.dd.supplier\n", 45 | " .stocks.dd.news\n", 46 | "\n" 47 | ] 48 | } 49 | ], 50 | "source": [ 51 | "help(openbb.stocks.dd)" 52 | ] 53 | } 54 | ], 55 | "metadata": { 56 | "kernelspec": { 57 | "display_name": "obb", 58 | "language": "python", 59 | "name": "python3" 60 | }, 61 | "language_info": { 62 | "codemirror_mode": { 63 | "name": "ipython", 64 | "version": 3 65 | }, 66 | "file_extension": ".py", 67 | "mimetype": "text/x-python", 68 | "name": "python", 69 | "nbconvert_exporter": "python", 70 | "pygments_lexer": "ipython3", 71 | "version": "3.9.6" 72 | }, 73 | "orig_nbformat": 4, 74 | "vscode": { 75 | "interpreter": { 76 | "hash": "70fb286899aef0263c538f4bbe10f44583bdc47b38cbab99a2e5c81fa25f65f8" 77 | } 78 | } 79 | }, 80 | "nbformat": 4, 81 | "nbformat_minor": 2 82 | } 83 | -------------------------------------------------------------------------------- /obb_01-02_basics_calendar.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 01.02 Basics: Calendar" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "## Import" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 150, 20 | "metadata": {}, 21 | "outputs": [], 22 | "source": [ 23 | "from openbb_terminal.sdk import openbb\n", 24 | "import pandas" 25 | ] 26 | }, 27 | { 28 | "cell_type": "markdown", 29 | "metadata": {}, 30 | "source": [ 31 | "## Help / Info\n", 32 | "\n", 33 | "> https://docs.openbb.co/sdk/reference/economy/events\n", 34 | "\n", 35 | "```python\n", 36 | "openbb.economy.events(countries: Union[List[str], str] = \"\", start_date: Optional[str] = None, end_date: Optional[str] = None)\n", 37 | "```" 38 | ] 39 | }, 40 | { 41 | "cell_type": "code", 42 | "execution_count": 151, 43 | "metadata": {}, 44 | "outputs": [ 45 | { 46 | "name": "stdout", 47 | "output_type": "stream", 48 | "text": [ 49 | "Help on Operation in module openbb_terminal.core.library.operation:\n", 50 | "\n", 51 | "\n", 52 | " Get economic calendar for countries between specified dates\n", 53 | " \n", 54 | " Parameters\n", 55 | " ----------\n", 56 | " countries : [List[str],str]\n", 57 | " List of countries to include in calendar. Empty returns all\n", 58 | " start_date : Optional[str]\n", 59 | " Start date for calendar\n", 60 | " end_date : Optional[str]\n", 61 | " End date for calendar\n", 62 | " \n", 63 | " Returns\n", 64 | " -------\n", 65 | " pd.DataFrame\n", 66 | " Economic calendar\n", 67 | " \n", 68 | " Examples\n", 69 | " --------\n", 70 | " Get todays economic calendar for the United States\n", 71 | " >>> from openbb_terminal.sdk import openbb\n", 72 | " >>> calendar = openbb.economy.events(\"United States\")\n", 73 | " \n", 74 | " To get multiple countries for a given date, pass the same start and end date as well as\n", 75 | " a list of countries\n", 76 | " >>> calendars = openbb.economy.events([\"United States\",\"Canada\"], start_date=\"2022-11-18\", end_date=\"2022-11-18\")\n", 77 | "\n" 78 | ] 79 | } 80 | ], 81 | "source": [ 82 | "help(openbb.economy.events)" 83 | ] 84 | }, 85 | { 86 | "cell_type": "code", 87 | "execution_count": 152, 88 | "metadata": {}, 89 | "outputs": [], 90 | "source": [ 91 | "## Define variables" 92 | ] 93 | }, 94 | { 95 | "cell_type": "markdown", 96 | "metadata": {}, 97 | "source": [ 98 | "## Define variables" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 153, 104 | "metadata": {}, 105 | "outputs": [], 106 | "source": [ 107 | "countries = [\"United States\",\"Canada\", \"United Kingdom\", \"Germany\", \"France\", \"Japan\", \"Australia\"]" 108 | ] 109 | }, 110 | { 111 | "cell_type": "markdown", 112 | "metadata": {}, 113 | "source": [ 114 | "## Plot dataset\n", 115 | "\n", 116 | "> Note: Add openbb function to a variable to to deliver the output into a DataFrame!" 117 | ] 118 | }, 119 | { 120 | "cell_type": "code", 121 | "execution_count": 154, 122 | "metadata": {}, 123 | "outputs": [], 124 | "source": [ 125 | "economic_calendar = openbb.economy.events( countries = countries)" 126 | ] 127 | }, 128 | { 129 | "cell_type": "code", 130 | "execution_count": 155, 131 | "metadata": {}, 132 | "outputs": [ 133 | { 134 | "data": { 135 | "text/html": [ 136 | "
\n", 137 | "\n", 150 | "\n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | "
Time (GMT)CountryEventactualconsensuspreviousDate
024HJapanConstruction Orders7.9%-36.6%2022-11-30
124HJapanHousing Starts-1.8%-1.3%1.1%2022-11-30
202:45FranceFrench Consumer Spending-2.8%-0.6%1.3%2022-11-30
302:45FranceFrench CPI0.4%0.4%1.0%2022-11-30
402:45FranceFrench CPI6.2%6.2%6.2%2022-11-30
502:45FranceFrench GDP0.2%0.2%0.2%2022-11-30
602:45FranceFrench HICP7.1%7.1%7.1%2022-11-30
702:45FranceFrench HICP-0.5%0.4%1.2%2022-11-30
802:45FranceFrench PPI-0.1%-1.0%2022-11-30
903:30United KingdomBoE MPC Member Pill Speaks---2022-11-30
1003:55GermanyGerman Unemployment Change17K13K9K2022-11-30
1103:55GermanyGerman Unemployment Rate5.6%5.5%5.5%2022-11-30
1203:55GermanyGerman Unemployment2.538M-2.518M2022-11-30
1303:55GermanyGerman Unemployment n.s.a.2.434M-2.442M2022-11-30
1405:30GermanyGerman 10-Year Bund Auction1.950%-2.250%2022-11-30
1507:00United StatesMBA 30-Year Mortgage Rate6.49%-6.67%2022-11-30
1607:00United StatesMBA Mortgage Applications-0.8%-2.2%2022-11-30
1707:00United StatesMBA Purchase Index181.0-174.42022-11-30
1807:00United StatesMortgage Market Index208.1-209.82022-11-30
1907:00United StatesMortgage Refinance Index325.5-373.62022-11-30
2008:15United StatesADP Nonfarm Employment Change127K200K239K2022-11-30
2108:30United StatesCore PCE Prices4.60%4.50%4.70%2022-11-30
2208:30United StatesCorporate Profits-0.2%3.1%6.2%2022-11-30
2308:30United StatesGDP2.9%2.7%2.6%2022-11-30
2408:30United StatesGDP Price Index4.3%4.1%9.0%2022-11-30
2508:30United StatesGDP Sales4.0%3.3%1.3%2022-11-30
2608:30United StatesGoods Trade Balance-99.00B-90.20B-92.22B2022-11-30
2708:30United StatesPCE Prices4.3%4.2%7.3%2022-11-30
2808:30United StatesReal Consumer Spending1.7%1.4%2.0%2022-11-30
2908:30United StatesRetail Inventories Ex Auto-0.4%-0.2%-0.1%2022-11-30
3008:30United StatesWholesale Inventories0.8%0.5%0.6%2022-11-30
3109:45United StatesChicago PMI-47.045.22022-11-30
3210:00United StatesJOLTs Job Openings-10.300M10.717M2022-11-30
3310:00United StatesPending Home Sales--5.0%-10.2%2022-11-30
3410:00United StatesPending Home Sales Index--79.52022-11-30
3510:00United StatesM2 Money Supply--21.42T2022-11-30
3610:30United StatesCrude Oil Inventories--2.758M-3.691M2022-11-30
3710:30United StatesEIA Refinery Crude Runs--0.258M2022-11-30
3810:30United StatesCrude Oil Imports--1.124M2022-11-30
3910:30United StatesCushing Crude Oil Inventories--0.697M-0.887M2022-11-30
4010:30United StatesDistillate Fuel Production--0.014M2022-11-30
4110:30United StatesEIA Weekly Distillates Stocks-1.457M1.718M2022-11-30
4210:30United StatesGasoline Production---0.625M2022-11-30
4310:30United StatesHeating Oil Stockpiles--0.961M2022-11-30
4410:30United StatesEIA Weekly Refinery Utilization Rates-0.2%1.0%2022-11-30
4510:30United StatesGasoline Inventories-1.625M3.058M2022-11-30
4612:35United StatesFed Governor Cook Speaks---2022-11-30
4713:30United StatesFed Chair Powell Speaks---2022-11-30
4814:00United StatesBeige Book---2022-11-30
4916:30AustraliaAIG Manufacturing Index--49.62022-11-30
5017:00AustraliaManufacturing PMI-51.552.72022-11-30
5118:50JapanCapital Spending-6.4%4.6%2022-11-30
5218:50JapanForeign Bonds Buying---526.6B2022-11-30
5318:50JapanForeign Investments in Japanese Stocks--4.5B2022-11-30
5419:30AustraliaBuilding Capital Expenditure---2.5%2022-11-30
5519:30AustraliaPlant/Machinery Capital Expenditure--2.1%2022-11-30
5619:30AustraliaPrivate New Capital Expenditure-1.5%-0.3%2022-11-30
5719:30JapanManufacturing PMI-49.449.42022-11-30
5820:30JapanBoJ Board Member Noguchi Speaks---2022-11-30
5922:35Japan10-Year JGB Auction--0.248%2022-11-30
\n", 766 | "
" 767 | ], 768 | "text/plain": [ 769 | " Time (GMT) Country Event \\\n", 770 | "0 24H Japan Construction Orders \n", 771 | "1 24H Japan Housing Starts \n", 772 | "2 02:45 France French Consumer Spending \n", 773 | "3 02:45 France French CPI \n", 774 | "4 02:45 France French CPI \n", 775 | "5 02:45 France French GDP \n", 776 | "6 02:45 France French HICP \n", 777 | "7 02:45 France French HICP \n", 778 | "8 02:45 France French PPI \n", 779 | "9 03:30 United Kingdom BoE MPC Member Pill Speaks \n", 780 | "10 03:55 Germany German Unemployment Change \n", 781 | "11 03:55 Germany German Unemployment Rate \n", 782 | "12 03:55 Germany German Unemployment \n", 783 | "13 03:55 Germany German Unemployment n.s.a. \n", 784 | "14 05:30 Germany German 10-Year Bund Auction \n", 785 | "15 07:00 United States MBA 30-Year Mortgage Rate \n", 786 | "16 07:00 United States MBA Mortgage Applications \n", 787 | "17 07:00 United States MBA Purchase Index \n", 788 | "18 07:00 United States Mortgage Market Index \n", 789 | "19 07:00 United States Mortgage Refinance Index \n", 790 | "20 08:15 United States ADP Nonfarm Employment Change \n", 791 | "21 08:30 United States Core PCE Prices \n", 792 | "22 08:30 United States Corporate Profits \n", 793 | "23 08:30 United States GDP \n", 794 | "24 08:30 United States GDP Price Index \n", 795 | "25 08:30 United States GDP Sales \n", 796 | "26 08:30 United States Goods Trade Balance \n", 797 | "27 08:30 United States PCE Prices \n", 798 | "28 08:30 United States Real Consumer Spending \n", 799 | "29 08:30 United States Retail Inventories Ex Auto \n", 800 | "30 08:30 United States Wholesale Inventories \n", 801 | "31 09:45 United States Chicago PMI \n", 802 | "32 10:00 United States JOLTs Job Openings \n", 803 | "33 10:00 United States Pending Home Sales \n", 804 | "34 10:00 United States Pending Home Sales Index \n", 805 | "35 10:00 United States M2 Money Supply \n", 806 | "36 10:30 United States Crude Oil Inventories \n", 807 | "37 10:30 United States EIA Refinery Crude Runs \n", 808 | "38 10:30 United States Crude Oil Imports \n", 809 | "39 10:30 United States Cushing Crude Oil Inventories \n", 810 | "40 10:30 United States Distillate Fuel Production \n", 811 | "41 10:30 United States EIA Weekly Distillates Stocks \n", 812 | "42 10:30 United States Gasoline Production \n", 813 | "43 10:30 United States Heating Oil Stockpiles \n", 814 | "44 10:30 United States EIA Weekly Refinery Utilization Rates \n", 815 | "45 10:30 United States Gasoline Inventories \n", 816 | "46 12:35 United States Fed Governor Cook Speaks \n", 817 | "47 13:30 United States Fed Chair Powell Speaks \n", 818 | "48 14:00 United States Beige Book \n", 819 | "49 16:30 Australia AIG Manufacturing Index \n", 820 | "50 17:00 Australia Manufacturing PMI \n", 821 | "51 18:50 Japan Capital Spending \n", 822 | "52 18:50 Japan Foreign Bonds Buying \n", 823 | "53 18:50 Japan Foreign Investments in Japanese Stocks \n", 824 | "54 19:30 Australia Building Capital Expenditure \n", 825 | "55 19:30 Australia Plant/Machinery Capital Expenditure \n", 826 | "56 19:30 Australia Private New Capital Expenditure \n", 827 | "57 19:30 Japan Manufacturing PMI \n", 828 | "58 20:30 Japan BoJ Board Member Noguchi Speaks \n", 829 | "59 22:35 Japan 10-Year JGB Auction \n", 830 | "\n", 831 | " actual consensus previous Date \n", 832 | "0 7.9% - 36.6% 2022-11-30 \n", 833 | "1 -1.8% -1.3% 1.1% 2022-11-30 \n", 834 | "2 -2.8% -0.6% 1.3% 2022-11-30 \n", 835 | "3 0.4% 0.4% 1.0% 2022-11-30 \n", 836 | "4 6.2% 6.2% 6.2% 2022-11-30 \n", 837 | "5 0.2% 0.2% 0.2% 2022-11-30 \n", 838 | "6 7.1% 7.1% 7.1% 2022-11-30 \n", 839 | "7 -0.5% 0.4% 1.2% 2022-11-30 \n", 840 | "8 -0.1% - 1.0% 2022-11-30 \n", 841 | "9 - - - 2022-11-30 \n", 842 | "10 17K 13K 9K 2022-11-30 \n", 843 | "11 5.6% 5.5% 5.5% 2022-11-30 \n", 844 | "12 2.538M - 2.518M 2022-11-30 \n", 845 | "13 2.434M - 2.442M 2022-11-30 \n", 846 | "14 1.950% - 2.250% 2022-11-30 \n", 847 | "15 6.49% - 6.67% 2022-11-30 \n", 848 | "16 -0.8% - 2.2% 2022-11-30 \n", 849 | "17 181.0 - 174.4 2022-11-30 \n", 850 | "18 208.1 - 209.8 2022-11-30 \n", 851 | "19 325.5 - 373.6 2022-11-30 \n", 852 | "20 127K 200K 239K 2022-11-30 \n", 853 | "21 4.60% 4.50% 4.70% 2022-11-30 \n", 854 | "22 -0.2% 3.1% 6.2% 2022-11-30 \n", 855 | "23 2.9% 2.7% 2.6% 2022-11-30 \n", 856 | "24 4.3% 4.1% 9.0% 2022-11-30 \n", 857 | "25 4.0% 3.3% 1.3% 2022-11-30 \n", 858 | "26 -99.00B -90.20B -92.22B 2022-11-30 \n", 859 | "27 4.3% 4.2% 7.3% 2022-11-30 \n", 860 | "28 1.7% 1.4% 2.0% 2022-11-30 \n", 861 | "29 -0.4% -0.2% -0.1% 2022-11-30 \n", 862 | "30 0.8% 0.5% 0.6% 2022-11-30 \n", 863 | "31 - 47.0 45.2 2022-11-30 \n", 864 | "32 - 10.300M 10.717M 2022-11-30 \n", 865 | "33 - -5.0% -10.2% 2022-11-30 \n", 866 | "34 - - 79.5 2022-11-30 \n", 867 | "35 - - 21.42T 2022-11-30 \n", 868 | "36 - -2.758M -3.691M 2022-11-30 \n", 869 | "37 - - 0.258M 2022-11-30 \n", 870 | "38 - - 1.124M 2022-11-30 \n", 871 | "39 - -0.697M -0.887M 2022-11-30 \n", 872 | "40 - - 0.014M 2022-11-30 \n", 873 | "41 - 1.457M 1.718M 2022-11-30 \n", 874 | "42 - - -0.625M 2022-11-30 \n", 875 | "43 - - 0.961M 2022-11-30 \n", 876 | "44 - 0.2% 1.0% 2022-11-30 \n", 877 | "45 - 1.625M 3.058M 2022-11-30 \n", 878 | "46 - - - 2022-11-30 \n", 879 | "47 - - - 2022-11-30 \n", 880 | "48 - - - 2022-11-30 \n", 881 | "49 - - 49.6 2022-11-30 \n", 882 | "50 - 51.5 52.7 2022-11-30 \n", 883 | "51 - 6.4% 4.6% 2022-11-30 \n", 884 | "52 - - -526.6B 2022-11-30 \n", 885 | "53 - - 4.5B 2022-11-30 \n", 886 | "54 - - -2.5% 2022-11-30 \n", 887 | "55 - - 2.1% 2022-11-30 \n", 888 | "56 - 1.5% -0.3% 2022-11-30 \n", 889 | "57 - 49.4 49.4 2022-11-30 \n", 890 | "58 - - - 2022-11-30 \n", 891 | "59 - - 0.248% 2022-11-30 " 892 | ] 893 | }, 894 | "execution_count": 155, 895 | "metadata": {}, 896 | "output_type": "execute_result" 897 | } 898 | ], 899 | "source": [ 900 | "economic_calendar" 901 | ] 902 | }, 903 | { 904 | "cell_type": "markdown", 905 | "metadata": {}, 906 | "source": [ 907 | "## Manipulate data" 908 | ] 909 | }, 910 | { 911 | "cell_type": "code", 912 | "execution_count": 156, 913 | "metadata": {}, 914 | "outputs": [], 915 | "source": [ 916 | "# DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)\n", 917 | "economic_calendar.set_index( keys = ['Time (GMT)'], append = True, inplace = True)" 918 | ] 919 | }, 920 | { 921 | "cell_type": "code", 922 | "execution_count": 157, 923 | "metadata": {}, 924 | "outputs": [ 925 | { 926 | "data": { 927 | "text/html": [ 928 | "
\n", 929 | "\n", 942 | "\n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | "
CountryEventactualconsensuspreviousDate
Time (GMT)
1507:00United StatesMBA 30-Year Mortgage Rate6.49%-6.67%2022-11-30
1607:00United StatesMBA Mortgage Applications-0.8%-2.2%2022-11-30
1707:00United StatesMBA Purchase Index181.0-174.42022-11-30
1807:00United StatesMortgage Market Index208.1-209.82022-11-30
1907:00United StatesMortgage Refinance Index325.5-373.62022-11-30
\n", 1018 | "
" 1019 | ], 1020 | "text/plain": [ 1021 | " Country Event actual consensus \\\n", 1022 | " Time (GMT) \n", 1023 | "15 07:00 United States MBA 30-Year Mortgage Rate 6.49% - \n", 1024 | "16 07:00 United States MBA Mortgage Applications -0.8% - \n", 1025 | "17 07:00 United States MBA Purchase Index 181.0 - \n", 1026 | "18 07:00 United States Mortgage Market Index 208.1 - \n", 1027 | "19 07:00 United States Mortgage Refinance Index 325.5 - \n", 1028 | "\n", 1029 | " previous Date \n", 1030 | " Time (GMT) \n", 1031 | "15 07:00 6.67% 2022-11-30 \n", 1032 | "16 07:00 2.2% 2022-11-30 \n", 1033 | "17 07:00 174.4 2022-11-30 \n", 1034 | "18 07:00 209.8 2022-11-30 \n", 1035 | "19 07:00 373.6 2022-11-30 " 1036 | ] 1037 | }, 1038 | "execution_count": 157, 1039 | "metadata": {}, 1040 | "output_type": "execute_result" 1041 | } 1042 | ], 1043 | "source": [ 1044 | "events_at_specific_time = economic_calendar.filter(like = \"07:00\", axis = 0)\n", 1045 | "events_at_specific_time" 1046 | ] 1047 | }, 1048 | { 1049 | "cell_type": "code", 1050 | "execution_count": 158, 1051 | "metadata": {}, 1052 | "outputs": [ 1053 | { 1054 | "data": { 1055 | "text/html": [ 1056 | "
\n", 1057 | "\n", 1070 | "\n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \n", 1118 | " \n", 1119 | " \n", 1120 | " \n", 1121 | " \n", 1122 | " \n", 1123 | " \n", 1124 | " \n", 1125 | " \n", 1126 | " \n", 1127 | " \n", 1128 | " \n", 1129 | " \n", 1130 | " \n", 1131 | " \n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | "
CountryEventactualconsensuspreviousDate
Time (GMT)
2308:30United StatesGDP2.9%2.7%2.6%2022-11-30
2708:30United StatesPCE Prices4.3%4.2%7.3%2022-11-30
3210:00United StatesJOLTs Job Openings-10.300M10.717M2022-11-30
5017:00AustraliaManufacturing PMI-51.552.72022-11-30
5719:30JapanManufacturing PMI-49.449.42022-11-30
\n", 1146 | "
" 1147 | ], 1148 | "text/plain": [ 1149 | " Country Event actual consensus previous \\\n", 1150 | " Time (GMT) \n", 1151 | "23 08:30 United States GDP 2.9% 2.7% 2.6% \n", 1152 | "27 08:30 United States PCE Prices 4.3% 4.2% 7.3% \n", 1153 | "32 10:00 United States JOLTs Job Openings - 10.300M 10.717M \n", 1154 | "50 17:00 Australia Manufacturing PMI - 51.5 52.7 \n", 1155 | "57 19:30 Japan Manufacturing PMI - 49.4 49.4 \n", 1156 | "\n", 1157 | " Date \n", 1158 | " Time (GMT) \n", 1159 | "23 08:30 2022-11-30 \n", 1160 | "27 08:30 2022-11-30 \n", 1161 | "32 10:00 2022-11-30 \n", 1162 | "50 17:00 2022-11-30 \n", 1163 | "57 19:30 2022-11-30 " 1164 | ] 1165 | }, 1166 | "execution_count": 158, 1167 | "metadata": {}, 1168 | "output_type": "execute_result" 1169 | } 1170 | ], 1171 | "source": [ 1172 | "event_impact_high = ['GDP', 'PCE Prices', 'JOLTs Job Openings', 'Manufacturing PMI'] \n", 1173 | "\n", 1174 | "economic_calendar[economic_calendar['Event'].isin(event_impact_high)] " 1175 | ] 1176 | }, 1177 | { 1178 | "cell_type": "code", 1179 | "execution_count": 159, 1180 | "metadata": {}, 1181 | "outputs": [], 1182 | "source": [ 1183 | "event_impact_high_keywords = ['GDP', 'PCE', 'JOLTs', 'Job', 'PMI'] " 1184 | ] 1185 | }, 1186 | { 1187 | "cell_type": "code", 1188 | "execution_count": 160, 1189 | "metadata": {}, 1190 | "outputs": [ 1191 | { 1192 | "data": { 1193 | "text/plain": [ 1194 | "[True, True, True, True, True]" 1195 | ] 1196 | }, 1197 | "execution_count": 160, 1198 | "metadata": {}, 1199 | "output_type": "execute_result" 1200 | } 1201 | ], 1202 | "source": [ 1203 | "# Check if keywords exist in dataframe\n", 1204 | "check_if_keyword_exists_bool = [ economic_calendar['Event'].str.contains(item).any() for item in event_impact_high_keywords ] # constructor\n", 1205 | "check_if_keyword_exists_bool\n" 1206 | ] 1207 | }, 1208 | { 1209 | "cell_type": "code", 1210 | "execution_count": 161, 1211 | "metadata": {}, 1212 | "outputs": [ 1213 | { 1214 | "data": { 1215 | "text/plain": [ 1216 | "[4, 2, 1, 1, 3]" 1217 | ] 1218 | }, 1219 | "execution_count": 161, 1220 | "metadata": {}, 1221 | "output_type": "execute_result" 1222 | } 1223 | ], 1224 | "source": [ 1225 | "check_if_keyword_exists_sum = [ economic_calendar['Event'].str.contains(item).sum() for item in event_impact_high_keywords ] # constructor\n", 1226 | "check_if_keyword_exists_sum" 1227 | ] 1228 | }, 1229 | { 1230 | "cell_type": "code", 1231 | "execution_count": 162, 1232 | "metadata": {}, 1233 | "outputs": [ 1234 | { 1235 | "data": { 1236 | "text/html": [ 1237 | "
\n", 1238 | "\n", 1251 | "\n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | " \n", 1277 | " \n", 1278 | " \n", 1279 | " \n", 1280 | " \n", 1281 | " \n", 1282 | " \n", 1283 | " \n", 1284 | " \n", 1285 | " \n", 1286 | "
CountryEventactualconsensuspreviousDate
Time (GMT)
3210:00United StatesJOLTs Job Openings-10.300M10.717M2022-11-30
\n", 1287 | "
" 1288 | ], 1289 | "text/plain": [ 1290 | " Country Event actual consensus previous \\\n", 1291 | " Time (GMT) \n", 1292 | "32 10:00 United States JOLTs Job Openings - 10.300M 10.717M \n", 1293 | "\n", 1294 | " Date \n", 1295 | " Time (GMT) \n", 1296 | "32 10:00 2022-11-30 " 1297 | ] 1298 | }, 1299 | "execution_count": 162, 1300 | "metadata": {}, 1301 | "output_type": "execute_result" 1302 | } 1303 | ], 1304 | "source": [ 1305 | "[ economic_calendar[economic_calendar['Event'].str.contains(item)] for item in event_impact_high_keywords ][2]" 1306 | ] 1307 | }, 1308 | { 1309 | "cell_type": "code", 1310 | "execution_count": 163, 1311 | "metadata": {}, 1312 | "outputs": [ 1313 | { 1314 | "data": { 1315 | "text/html": [ 1316 | "
\n", 1317 | "\n", 1330 | "\n", 1331 | " \n", 1332 | " \n", 1333 | " \n", 1334 | " \n", 1335 | " \n", 1336 | " \n", 1337 | " \n", 1338 | " \n", 1339 | " \n", 1340 | " \n", 1341 | " \n", 1342 | " \n", 1343 | " \n", 1344 | " \n", 1345 | " \n", 1346 | " \n", 1347 | " \n", 1348 | " \n", 1349 | " \n", 1350 | " \n", 1351 | " \n", 1352 | " \n", 1353 | " \n", 1354 | " \n", 1355 | " \n", 1356 | " \n", 1357 | " \n", 1358 | " \n", 1359 | " \n", 1360 | " \n", 1361 | " \n", 1362 | " \n", 1363 | " \n", 1364 | " \n", 1365 | " \n", 1366 | " \n", 1367 | " \n", 1368 | " \n", 1369 | " \n", 1370 | " \n", 1371 | " \n", 1372 | " \n", 1373 | " \n", 1374 | " \n", 1375 | " \n", 1376 | " \n", 1377 | " \n", 1378 | " \n", 1379 | " \n", 1380 | " \n", 1381 | " \n", 1382 | " \n", 1383 | " \n", 1384 | " \n", 1385 | " \n", 1386 | " \n", 1387 | " \n", 1388 | " \n", 1389 | " \n", 1390 | " \n", 1391 | " \n", 1392 | " \n", 1393 | " \n", 1394 | " \n", 1395 | " \n", 1396 | " \n", 1397 | " \n", 1398 | " \n", 1399 | " \n", 1400 | " \n", 1401 | " \n", 1402 | " \n", 1403 | " \n", 1404 | " \n", 1405 | " \n", 1406 | " \n", 1407 | " \n", 1408 | " \n", 1409 | " \n", 1410 | " \n", 1411 | " \n", 1412 | " \n", 1413 | " \n", 1414 | " \n", 1415 | " \n", 1416 | " \n", 1417 | " \n", 1418 | " \n", 1419 | " \n", 1420 | " \n", 1421 | " \n", 1422 | " \n", 1423 | " \n", 1424 | " \n", 1425 | " \n", 1426 | " \n", 1427 | " \n", 1428 | " \n", 1429 | " \n", 1430 | " \n", 1431 | " \n", 1432 | " \n", 1433 | " \n", 1434 | " \n", 1435 | " \n", 1436 | " \n", 1437 | " \n", 1438 | " \n", 1439 | " \n", 1440 | " \n", 1441 | " \n", 1442 | " \n", 1443 | " \n", 1444 | " \n", 1445 | " \n", 1446 | " \n", 1447 | " \n", 1448 | " \n", 1449 | " \n", 1450 | " \n", 1451 | " \n", 1452 | " \n", 1453 | " \n", 1454 | " \n", 1455 | "
CountryEventactualconsensuspreviousDate
Time (GMT)
502:45FranceFrench GDP0.2%0.2%0.2%2022-11-30
2108:30United StatesCore PCE Prices4.60%4.50%4.70%2022-11-30
2308:30United StatesGDP2.9%2.7%2.6%2022-11-30
2408:30United StatesGDP Price Index4.3%4.1%9.0%2022-11-30
2508:30United StatesGDP Sales4.0%3.3%1.3%2022-11-30
2708:30United StatesPCE Prices4.3%4.2%7.3%2022-11-30
3109:45United StatesChicago PMI-47.045.22022-11-30
3210:00United StatesJOLTs Job Openings-10.300M10.717M2022-11-30
5017:00AustraliaManufacturing PMI-51.552.72022-11-30
5719:30JapanManufacturing PMI-49.449.42022-11-30
\n", 1456 | "
" 1457 | ], 1458 | "text/plain": [ 1459 | " Country Event actual consensus previous \\\n", 1460 | " Time (GMT) \n", 1461 | "5 02:45 France French GDP 0.2% 0.2% 0.2% \n", 1462 | "21 08:30 United States Core PCE Prices 4.60% 4.50% 4.70% \n", 1463 | "23 08:30 United States GDP 2.9% 2.7% 2.6% \n", 1464 | "24 08:30 United States GDP Price Index 4.3% 4.1% 9.0% \n", 1465 | "25 08:30 United States GDP Sales 4.0% 3.3% 1.3% \n", 1466 | "27 08:30 United States PCE Prices 4.3% 4.2% 7.3% \n", 1467 | "31 09:45 United States Chicago PMI - 47.0 45.2 \n", 1468 | "32 10:00 United States JOLTs Job Openings - 10.300M 10.717M \n", 1469 | "50 17:00 Australia Manufacturing PMI - 51.5 52.7 \n", 1470 | "57 19:30 Japan Manufacturing PMI - 49.4 49.4 \n", 1471 | "\n", 1472 | " Date \n", 1473 | " Time (GMT) \n", 1474 | "5 02:45 2022-11-30 \n", 1475 | "21 08:30 2022-11-30 \n", 1476 | "23 08:30 2022-11-30 \n", 1477 | "24 08:30 2022-11-30 \n", 1478 | "25 08:30 2022-11-30 \n", 1479 | "27 08:30 2022-11-30 \n", 1480 | "31 09:45 2022-11-30 \n", 1481 | "32 10:00 2022-11-30 \n", 1482 | "50 17:00 2022-11-30 \n", 1483 | "57 19:30 2022-11-30 " 1484 | ] 1485 | }, 1486 | "execution_count": 163, 1487 | "metadata": {}, 1488 | "output_type": "execute_result" 1489 | } 1490 | ], 1491 | "source": [ 1492 | "economic_calendar[economic_calendar['Event'].str.contains('|'.join(event_impact_high_keywords))]" 1493 | ] 1494 | } 1495 | ], 1496 | "metadata": { 1497 | "kernelspec": { 1498 | "display_name": "obb", 1499 | "language": "python", 1500 | "name": "python3" 1501 | }, 1502 | "language_info": { 1503 | "codemirror_mode": { 1504 | "name": "ipython", 1505 | "version": 3 1506 | }, 1507 | "file_extension": ".py", 1508 | "mimetype": "text/x-python", 1509 | "name": "python", 1510 | "nbconvert_exporter": "python", 1511 | "pygments_lexer": "ipython3", 1512 | "version": "3.9.6" 1513 | }, 1514 | "orig_nbformat": 4, 1515 | "vscode": { 1516 | "interpreter": { 1517 | "hash": "70fb286899aef0263c538f4bbe10f44583bdc47b38cbab99a2e5c81fa25f65f8" 1518 | } 1519 | } 1520 | }, 1521 | "nbformat": 4, 1522 | "nbformat_minor": 2 1523 | } 1524 | -------------------------------------------------------------------------------- /obb_01-03_basics_screener.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.01 Functions\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/basics#passing-results-to-another-function" 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": {}, 15 | "source": [ 16 | "## Iterate list\n", 17 | "\n", 18 | "> Pass a list of items from one function to a different function." 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 19, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "from openbb_terminal.sdk import openbb\n", 28 | "import pandas as pd" 29 | ] 30 | }, 31 | { 32 | "cell_type": "markdown", 33 | "metadata": {}, 34 | "source": [ 35 | "### Option 1: Manually" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": 2, 41 | "metadata": {}, 42 | "outputs": [ 43 | { 44 | "data": { 45 | "text/html": [ 46 | "
\n", 47 | "\n", 60 | "\n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | "
TickerMarket CapP/EFwd P/EPEGP/SP/BP/CP/FCFEPS this YEPS next YEPS past 5YEPS next 5YSales past 5YPriceChangeVolume
0AAPL2.341010e+1224.2621.742.735.9446.8448.4624.230.0890.08980.2160.08890.115148.560.003611088322.0
1AMZN9.751400e+1189.0657.533.431.947.1616.62NaN0.5490.82390.6760.26000.28196.860.003311134328.0
2DIS1.736000e+1155.9918.292.212.101.9313.40111.931.7070.2928-0.2800.25340.03997.77-0.00101753659.0
3GOOGL1.290140e+1220.7019.232.314.575.1811.1020.630.9140.11390.3210.08950.233102.040.01043997221.0
4META3.109200e+1111.2615.11NaN2.632.557.4411.820.364-0.14070.316NaN0.337119.930.01557345897.0
5MSFT1.882350e+1227.4922.822.119.2710.9617.5542.030.1980.17090.2430.13010.155255.290.00063686377.0
6NFLX1.337200e+1128.8129.114.954.256.6221.87186.510.8130.01700.9050.05820.275317.950.04062564674.0
7TSLA5.702100e+1159.9834.541.257.6215.3727.0235.596.6920.37290.4860.48090.504195.870.006018915611.0
\n", 246 | "
" 247 | ], 248 | "text/plain": [ 249 | " Ticker Market Cap P/E Fwd P/E PEG P/S P/B P/C P/FCF \\\n", 250 | "0 AAPL 2.341010e+12 24.26 21.74 2.73 5.94 46.84 48.46 24.23 \n", 251 | "1 AMZN 9.751400e+11 89.06 57.53 3.43 1.94 7.16 16.62 NaN \n", 252 | "2 DIS 1.736000e+11 55.99 18.29 2.21 2.10 1.93 13.40 111.93 \n", 253 | "3 GOOGL 1.290140e+12 20.70 19.23 2.31 4.57 5.18 11.10 20.63 \n", 254 | "4 META 3.109200e+11 11.26 15.11 NaN 2.63 2.55 7.44 11.82 \n", 255 | "5 MSFT 1.882350e+12 27.49 22.82 2.11 9.27 10.96 17.55 42.03 \n", 256 | "6 NFLX 1.337200e+11 28.81 29.11 4.95 4.25 6.62 21.87 186.51 \n", 257 | "7 TSLA 5.702100e+11 59.98 34.54 1.25 7.62 15.37 27.02 35.59 \n", 258 | "\n", 259 | " EPS this Y EPS next Y EPS past 5Y EPS next 5Y Sales past 5Y Price \\\n", 260 | "0 0.089 0.0898 0.216 0.0889 0.115 148.56 \n", 261 | "1 0.549 0.8239 0.676 0.2600 0.281 96.86 \n", 262 | "2 1.707 0.2928 -0.280 0.2534 0.039 97.77 \n", 263 | "3 0.914 0.1139 0.321 0.0895 0.233 102.04 \n", 264 | "4 0.364 -0.1407 0.316 NaN 0.337 119.93 \n", 265 | "5 0.198 0.1709 0.243 0.1301 0.155 255.29 \n", 266 | "6 0.813 0.0170 0.905 0.0582 0.275 317.95 \n", 267 | "7 6.692 0.3729 0.486 0.4809 0.504 195.87 \n", 268 | "\n", 269 | " Change Volume \n", 270 | "0 0.0036 11088322.0 \n", 271 | "1 0.0033 11134328.0 \n", 272 | "2 -0.0010 1753659.0 \n", 273 | "3 0.0104 3997221.0 \n", 274 | "4 0.0155 7345897.0 \n", 275 | "5 0.0006 3686377.0 \n", 276 | "6 0.0406 2564674.0 \n", 277 | "7 0.0060 18915611.0 " 278 | ] 279 | }, 280 | "execution_count": 2, 281 | "metadata": {}, 282 | "output_type": "execute_result" 283 | } 284 | ], 285 | "source": [ 286 | "openbb.stocks.ca.screener(similar = ['AAPL', 'NFLX', 'META', 'AMZN', 'MSFT', 'GOOGL', 'DIS', 'TSLA'], data_type = 'valuation')" 287 | ] 288 | }, 289 | { 290 | "cell_type": "markdown", 291 | "metadata": {}, 292 | "source": [ 293 | "### Option 2: Programatiacally" 294 | ] 295 | }, 296 | { 297 | "cell_type": "code", 298 | "execution_count": 8, 299 | "metadata": {}, 300 | "outputs": [ 301 | { 302 | "data": { 303 | "text/html": [ 304 | "
\n", 305 | "\n", 318 | "\n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | "
Name% Of EtfShares
Symbol
AAPLApple Inc.6.40%169769054
MSFTMicrosoft Corporation5.38%83812577
AMZNAmazon.com, Inc.2.46%99627185
GOOGLAlphabet, Inc.1.71%67398715
BRK.BBerkshire Hathaway Inc.1.71%20282728
............
COFCapital One Financial Corporation0.12%4318900
CTASCintas Corporation0.12%967820
NUENucor Corporation0.12%2946140
ORealty Income Corporation0.12%6949177
MNSTMonster Beverage Corporation0.12%4328003
\n", 402 | "

200 rows × 3 columns

\n", 403 | "
" 404 | ], 405 | "text/plain": [ 406 | " Name % Of Etf Shares\n", 407 | "Symbol \n", 408 | "AAPL Apple Inc. 6.40% 169769054\n", 409 | "MSFT Microsoft Corporation 5.38% 83812577\n", 410 | "AMZN Amazon.com, Inc. 2.46% 99627185\n", 411 | "GOOGL Alphabet, Inc. 1.71% 67398715\n", 412 | "BRK.B Berkshire Hathaway Inc. 1.71% 20282728\n", 413 | "... ... ... ...\n", 414 | "COF Capital One Financial Corporation 0.12% 4318900\n", 415 | "CTAS Cintas Corporation 0.12% 967820\n", 416 | "NUE Nucor Corporation 0.12% 2946140\n", 417 | "O Realty Income Corporation 0.12% 6949177\n", 418 | "MNST Monster Beverage Corporation 0.12% 4328003\n", 419 | "\n", 420 | "[200 rows x 3 columns]" 421 | ] 422 | }, 423 | "execution_count": 8, 424 | "metadata": {}, 425 | "output_type": "execute_result" 426 | } 427 | ], 428 | "source": [ 429 | "# Get all symbols from SPY ETF\n", 430 | "symbols = openbb.etf.holdings('SPY')\n", 431 | "symbols" 432 | ] 433 | }, 434 | { 435 | "cell_type": "code", 436 | "execution_count": 20, 437 | "metadata": {}, 438 | "outputs": [ 439 | { 440 | "data": { 441 | "text/html": [ 442 | "
\n", 443 | "\n", 456 | "\n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | "
Tickers
0AAPL
1MSFT
2AMZN
3GOOGL
4BRK.B
5GOOG
6UNH
7TSLA
8JNJ
9XOM
\n", 506 | "
" 507 | ], 508 | "text/plain": [ 509 | " Tickers\n", 510 | "0 AAPL\n", 511 | "1 MSFT\n", 512 | "2 AMZN\n", 513 | "3 GOOGL\n", 514 | "4 BRK.B\n", 515 | "5 GOOG\n", 516 | "6 UNH\n", 517 | "7 TSLA\n", 518 | "8 JNJ\n", 519 | "9 XOM" 520 | ] 521 | }, 522 | "execution_count": 20, 523 | "metadata": {}, 524 | "output_type": "execute_result" 525 | } 526 | ], 527 | "source": [ 528 | "# Get Symbol tickers and display the top 10 items\n", 529 | "dia_symbols = list(symbols.index.drop(['N/A']))\n", 530 | "pd.DataFrame(dia_symbols, columns=['Tickers']).head(10)" 531 | ] 532 | }, 533 | { 534 | "cell_type": "code", 535 | "execution_count": 16, 536 | "metadata": {}, 537 | "outputs": [ 538 | { 539 | "data": { 540 | "text/html": [ 541 | "
\n", 542 | "\n", 555 | "\n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | "
TickerMarket CapP/EFwd P/EPEGP/SP/BP/CP/FCFEPS this YEPS next YEPS past 5YEPS next 5YSales past 5YPriceChangeVolume
0A4.633000e+1037.0824.953.106.769.0743.0156.910.7100.10830.2290.11970.085155.390.0026155427.0
1AAPL2.341010e+1224.2621.742.735.9446.8448.4624.230.0890.08980.2160.08890.115147.25-0.005313852335.0
2ABBV2.857600e+1121.4713.95NaN4.9417.8524.0623.681.370-0.16730.122-0.00400.170161.740.0034760927.0
3ABT1.855400e+1124.1624.532.914.125.2918.7335.290.570-0.16060.4070.08300.156108.190.0057525687.0
4ACN1.989400e+1128.0923.892.523.238.6125.2031.240.1700.10900.1450.11160.112303.300.0079208546.0
5ADBE1.580200e+1134.0122.682.589.1911.2527.4122.17-0.0760.11570.3400.13190.219347.350.0070495649.0
6ADI8.802000e+1047.6116.143.207.932.4159.8539.440.5160.07390.1810.14870.180170.99-0.0054396328.0
7ADM5.405000e+1013.4614.641.510.552.2849.1828.310.525-0.11630.1720.08900.06593.81-0.0378536020.0
8ADP1.093200e+1136.5929.302.456.4842.5388.7260.290.1540.11080.1200.14960.059268.400.0161193433.0
9ADSK4.621000e+1071.2327.303.469.4359.2230.3029.22-0.5880.12060.2340.20570.166206.430.0222255772.0
\n", 781 | "
" 782 | ], 783 | "text/plain": [ 784 | " Ticker Market Cap P/E Fwd P/E PEG P/S P/B P/C P/FCF \\\n", 785 | "0 A 4.633000e+10 37.08 24.95 3.10 6.76 9.07 43.01 56.91 \n", 786 | "1 AAPL 2.341010e+12 24.26 21.74 2.73 5.94 46.84 48.46 24.23 \n", 787 | "2 ABBV 2.857600e+11 21.47 13.95 NaN 4.94 17.85 24.06 23.68 \n", 788 | "3 ABT 1.855400e+11 24.16 24.53 2.91 4.12 5.29 18.73 35.29 \n", 789 | "4 ACN 1.989400e+11 28.09 23.89 2.52 3.23 8.61 25.20 31.24 \n", 790 | "5 ADBE 1.580200e+11 34.01 22.68 2.58 9.19 11.25 27.41 22.17 \n", 791 | "6 ADI 8.802000e+10 47.61 16.14 3.20 7.93 2.41 59.85 39.44 \n", 792 | "7 ADM 5.405000e+10 13.46 14.64 1.51 0.55 2.28 49.18 28.31 \n", 793 | "8 ADP 1.093200e+11 36.59 29.30 2.45 6.48 42.53 88.72 60.29 \n", 794 | "9 ADSK 4.621000e+10 71.23 27.30 3.46 9.43 59.22 30.30 29.22 \n", 795 | "\n", 796 | " EPS this Y EPS next Y EPS past 5Y EPS next 5Y Sales past 5Y Price \\\n", 797 | "0 0.710 0.1083 0.229 0.1197 0.085 155.39 \n", 798 | "1 0.089 0.0898 0.216 0.0889 0.115 147.25 \n", 799 | "2 1.370 -0.1673 0.122 -0.0040 0.170 161.74 \n", 800 | "3 0.570 -0.1606 0.407 0.0830 0.156 108.19 \n", 801 | "4 0.170 0.1090 0.145 0.1116 0.112 303.30 \n", 802 | "5 -0.076 0.1157 0.340 0.1319 0.219 347.35 \n", 803 | "6 0.516 0.0739 0.181 0.1487 0.180 170.99 \n", 804 | "7 0.525 -0.1163 0.172 0.0890 0.065 93.81 \n", 805 | "8 0.154 0.1108 0.120 0.1496 0.059 268.40 \n", 806 | "9 -0.588 0.1206 0.234 0.2057 0.166 206.43 \n", 807 | "\n", 808 | " Change Volume \n", 809 | "0 0.0026 155427.0 \n", 810 | "1 -0.0053 13852335.0 \n", 811 | "2 0.0034 760927.0 \n", 812 | "3 0.0057 525687.0 \n", 813 | "4 0.0079 208546.0 \n", 814 | "5 0.0070 495649.0 \n", 815 | "6 -0.0054 396328.0 \n", 816 | "7 -0.0378 536020.0 \n", 817 | "8 0.0161 193433.0 \n", 818 | "9 0.0222 255772.0 " 819 | ] 820 | }, 821 | "execution_count": 16, 822 | "metadata": {}, 823 | "output_type": "execute_result" 824 | } 825 | ], 826 | "source": [ 827 | "# Pass list from step above as input to screener and display the top 10 items\n", 828 | "dia_valuation = openbb.stocks.ca.screener(similar = dia_symbols, data_type = 'valuation')\n", 829 | "dia_valuation.head(10)" 830 | ] 831 | }, 832 | { 833 | "cell_type": "code", 834 | "execution_count": 12, 835 | "metadata": {}, 836 | "outputs": [ 837 | { 838 | "data": { 839 | "text/html": [ 840 | "
\n", 841 | "\n", 854 | "\n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | " \n", 872 | " \n", 873 | " \n", 874 | " \n", 875 | " \n", 876 | " \n", 877 | " \n", 878 | " \n", 879 | " \n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | "
TickerMarket CapP/EFwd P/EPEGP/SP/BP/CP/FCFEPS this YEPS next YEPS past 5YEPS next 5YSales past 5YPriceChangeVolume
25AZO49180000000.021.8518.01.653.03<NA>186.0119.370.2310.15640.2160.13250.0832573.88-0.00218179
30BKNG79750000000.034.1417.110.674.9822.428.7318.691.1310.246-0.080.50950.0042091.740.005948155
44CMG45020000000.056.6337.772.075.3519.4157.4349.880.8290.28940.9710.2740.1411625.23-0.001151446
143ORLY54180000000.026.3923.322.423.85<NA>807.4621.640.3210.1310.2370.1090.092859.44-0.005934454
158REGN83410000000.015.8617.96<NA>6.083.7511.8816.441.358-0.02740.564<NA>0.27753.660.002647625
31BLK107120000000.019.7321.3<NA>5.752.915.7671.940.2-0.01560.15-0.00840.096719.840.005490205
69EQIX62420000000.090.3977.213.488.795.69<NA><NA>0.3230.1250.2790.260.129704.780.020560304
178TMO218700000000.031.4924.097.024.955.04<NA>42.390.2180.00990.3070.04490.165563.090.0051137131
23AVGO232330000000.024.013.61.587.3310.6923.2927.351.3710.08210.40.1520.157549.41-0.0029193592
90HUM68650000000.00000824.9419.611.70.754.285.068.58-0.1050.11850.410.14710.088545.96-0.0072183838
\n", 1080 | "
" 1081 | ], 1082 | "text/plain": [ 1083 | " Ticker Market Cap P/E Fwd P/E PEG P/S P/B P/C \\\n", 1084 | "25 AZO 49180000000.0 21.85 18.0 1.65 3.03 186.01 \n", 1085 | "30 BKNG 79750000000.0 34.14 17.11 0.67 4.98 22.42 8.73 \n", 1086 | "44 CMG 45020000000.0 56.63 37.77 2.07 5.35 19.41 57.43 \n", 1087 | "143 ORLY 54180000000.0 26.39 23.32 2.42 3.85 807.46 \n", 1088 | "158 REGN 83410000000.0 15.86 17.96 6.08 3.75 11.88 \n", 1089 | "31 BLK 107120000000.0 19.73 21.3 5.75 2.9 15.76 \n", 1090 | "69 EQIX 62420000000.0 90.39 77.21 3.48 8.79 5.69 \n", 1091 | "178 TMO 218700000000.0 31.49 24.09 7.02 4.95 5.04 \n", 1092 | "23 AVGO 232330000000.0 24.0 13.6 1.58 7.33 10.69 23.29 \n", 1093 | "90 HUM 68650000000.000008 24.94 19.61 1.7 0.75 4.28 5.06 \n", 1094 | "\n", 1095 | " P/FCF EPS this Y EPS next Y EPS past 5Y EPS next 5Y Sales past 5Y \\\n", 1096 | "25 19.37 0.231 0.1564 0.216 0.1325 0.083 \n", 1097 | "30 18.69 1.131 0.246 -0.08 0.5095 0.004 \n", 1098 | "44 49.88 0.829 0.2894 0.971 0.274 0.141 \n", 1099 | "143 21.64 0.321 0.131 0.237 0.109 0.092 \n", 1100 | "158 16.44 1.358 -0.0274 0.564 0.27 \n", 1101 | "31 71.94 0.2 -0.0156 0.15 -0.0084 0.096 \n", 1102 | "69 0.323 0.125 0.279 0.26 0.129 \n", 1103 | "178 42.39 0.218 0.0099 0.307 0.0449 0.165 \n", 1104 | "23 27.35 1.371 0.0821 0.4 0.152 0.157 \n", 1105 | "90 8.58 -0.105 0.1185 0.41 0.1471 0.088 \n", 1106 | "\n", 1107 | " Price Change Volume \n", 1108 | "25 2573.88 -0.002 18179 \n", 1109 | "30 2091.74 0.0059 48155 \n", 1110 | "44 1625.23 -0.0011 51446 \n", 1111 | "143 859.44 -0.0059 34454 \n", 1112 | "158 753.66 0.0026 47625 \n", 1113 | "31 719.84 0.0054 90205 \n", 1114 | "69 704.78 0.0205 60304 \n", 1115 | "178 563.09 0.0051 137131 \n", 1116 | "23 549.41 -0.0029 193592 \n", 1117 | "90 545.96 -0.0072 183838 " 1118 | ] 1119 | }, 1120 | "execution_count": 12, 1121 | "metadata": {}, 1122 | "output_type": "execute_result" 1123 | } 1124 | ], 1125 | "source": [ 1126 | "# Sort dataframe from screener based on Price and display the top 10 items\n", 1127 | "dia_valuation_price = dia_valuation.sort_values(by = ['Price'], ascending = False).convert_dtypes()\n", 1128 | "dia_valuation_price.head(10)" 1129 | ] 1130 | }, 1131 | { 1132 | "cell_type": "code", 1133 | "execution_count": 14, 1134 | "metadata": {}, 1135 | "outputs": [ 1136 | { 1137 | "data": { 1138 | "text/html": [ 1139 | "
\n", 1140 | "\n", 1153 | "\n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | " \n", 1161 | " \n", 1162 | " \n", 1163 | " \n", 1164 | " \n", 1165 | " \n", 1166 | " \n", 1167 | " \n", 1168 | " \n", 1169 | " \n", 1170 | " \n", 1171 | " \n", 1172 | " \n", 1173 | " \n", 1174 | " \n", 1175 | " \n", 1176 | " \n", 1177 | " \n", 1178 | " \n", 1179 | " \n", 1180 | " \n", 1181 | " \n", 1182 | " \n", 1183 | " \n", 1184 | " \n", 1185 | " \n", 1186 | " \n", 1187 | " \n", 1188 | " \n", 1189 | " \n", 1190 | " \n", 1191 | " \n", 1192 | " \n", 1193 | " \n", 1194 | " \n", 1195 | " \n", 1196 | " \n", 1197 | " \n", 1198 | " \n", 1199 | " \n", 1200 | " \n", 1201 | " \n", 1202 | " \n", 1203 | " \n", 1204 | " \n", 1205 | " \n", 1206 | " \n", 1207 | " \n", 1208 | " \n", 1209 | " \n", 1210 | " \n", 1211 | " \n", 1212 | " \n", 1213 | " \n", 1214 | " \n", 1215 | " \n", 1216 | " \n", 1217 | " \n", 1218 | " \n", 1219 | " \n", 1220 | " \n", 1221 | " \n", 1222 | " \n", 1223 | " \n", 1224 | " \n", 1225 | " \n", 1226 | " \n", 1227 | " \n", 1228 | " \n", 1229 | " \n", 1230 | " \n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | " \n", 1277 | " \n", 1278 | " \n", 1279 | " \n", 1280 | " \n", 1281 | " \n", 1282 | " \n", 1283 | " \n", 1284 | " \n", 1285 | " \n", 1286 | " \n", 1287 | " \n", 1288 | " \n", 1289 | " \n", 1290 | " \n", 1291 | " \n", 1292 | " \n", 1293 | " \n", 1294 | " \n", 1295 | " \n", 1296 | " \n", 1297 | " \n", 1298 | " \n", 1299 | " \n", 1300 | " \n", 1301 | " \n", 1302 | " \n", 1303 | " \n", 1304 | " \n", 1305 | " \n", 1306 | " \n", 1307 | " \n", 1308 | " \n", 1309 | " \n", 1310 | " \n", 1311 | " \n", 1312 | " \n", 1313 | " \n", 1314 | " \n", 1315 | " \n", 1316 | " \n", 1317 | " \n", 1318 | " \n", 1319 | " \n", 1320 | " \n", 1321 | " \n", 1322 | " \n", 1323 | " \n", 1324 | " \n", 1325 | " \n", 1326 | " \n", 1327 | " \n", 1328 | " \n", 1329 | " \n", 1330 | " \n", 1331 | " \n", 1332 | " \n", 1333 | " \n", 1334 | " \n", 1335 | " \n", 1336 | " \n", 1337 | " \n", 1338 | " \n", 1339 | " \n", 1340 | " \n", 1341 | " \n", 1342 | " \n", 1343 | " \n", 1344 | " \n", 1345 | " \n", 1346 | " \n", 1347 | " \n", 1348 | " \n", 1349 | " \n", 1350 | " \n", 1351 | " \n", 1352 | " \n", 1353 | " \n", 1354 | " \n", 1355 | " \n", 1356 | " \n", 1357 | " \n", 1358 | " \n", 1359 | " \n", 1360 | " \n", 1361 | " \n", 1362 | " \n", 1363 | " \n", 1364 | " \n", 1365 | " \n", 1366 | " \n", 1367 | " \n", 1368 | " \n", 1369 | " \n", 1370 | " \n", 1371 | " \n", 1372 | " \n", 1373 | " \n", 1374 | " \n", 1375 | " \n", 1376 | " \n", 1377 | " \n", 1378 | "
TickerMarket CapP/EFwd P/EPEGP/SP/BP/CP/FCFEPS this YEPS next YEPS past 5YEPS next 5YSales past 5YPriceChangeVolume
1AAPL2341010000000.024.2621.742.735.9446.8448.4624.230.0890.08980.2160.08890.115147.81-0.001512356102
129MSFT1882350000000.027.4922.822.119.2710.9617.5542.030.1980.17090.2430.13010.155254.23-0.00364031850
83GOOG1312070000000.019.8519.182.224.655.19<NA><NA>-0.1590.1210.28480.0895<NA>101.90.00443555759
84GOOGL1290140000000.020.719.232.314.575.1811.120.630.9140.11390.3210.08950.233101.540.00544397398
18AMZN975140000000.089.0657.533.431.947.1616.62<NA>0.5490.82390.6760.260.28196.760.002312082437
181TSLA570210000000.059.9834.541.257.6215.3727.0235.596.6920.37290.4860.48090.504195.540.004320034869
184UNH505400000000.026.8321.961.891.66.8613.0119.810.1280.13210.2010.14220.092542.56-0.0095398103
99JNJ464880000000.024.7817.176.794.846.2713.6474.740.4470.03190.0570.03650.055178.210.0012890952
196XOM460800000000.09.089.740.351.192.515.1510.322.022-0.17860.2340.2580.066111.3-0.00041910321
195WMT411720000000.047.123.1610.840.695.3829.57<NA>0.0270.08440.0210.04340.033151.15-0.00831108588
\n", 1379 | "
" 1380 | ], 1381 | "text/plain": [ 1382 | " Ticker Market Cap P/E Fwd P/E PEG P/S P/B P/C P/FCF \\\n", 1383 | "1 AAPL 2341010000000.0 24.26 21.74 2.73 5.94 46.84 48.46 24.23 \n", 1384 | "129 MSFT 1882350000000.0 27.49 22.82 2.11 9.27 10.96 17.55 42.03 \n", 1385 | "83 GOOG 1312070000000.0 19.85 19.18 2.22 4.65 5.19 \n", 1386 | "84 GOOGL 1290140000000.0 20.7 19.23 2.31 4.57 5.18 11.1 20.63 \n", 1387 | "18 AMZN 975140000000.0 89.06 57.53 3.43 1.94 7.16 16.62 \n", 1388 | "181 TSLA 570210000000.0 59.98 34.54 1.25 7.62 15.37 27.02 35.59 \n", 1389 | "184 UNH 505400000000.0 26.83 21.96 1.89 1.6 6.86 13.01 19.81 \n", 1390 | "99 JNJ 464880000000.0 24.78 17.17 6.79 4.84 6.27 13.64 74.74 \n", 1391 | "196 XOM 460800000000.0 9.08 9.74 0.35 1.19 2.5 15.15 10.32 \n", 1392 | "195 WMT 411720000000.0 47.1 23.16 10.84 0.69 5.38 29.57 \n", 1393 | "\n", 1394 | " EPS this Y EPS next Y EPS past 5Y EPS next 5Y Sales past 5Y Price \\\n", 1395 | "1 0.089 0.0898 0.216 0.0889 0.115 147.81 \n", 1396 | "129 0.198 0.1709 0.243 0.1301 0.155 254.23 \n", 1397 | "83 -0.159 0.121 0.2848 0.0895 101.9 \n", 1398 | "84 0.914 0.1139 0.321 0.0895 0.233 101.54 \n", 1399 | "18 0.549 0.8239 0.676 0.26 0.281 96.76 \n", 1400 | "181 6.692 0.3729 0.486 0.4809 0.504 195.54 \n", 1401 | "184 0.128 0.1321 0.201 0.1422 0.092 542.56 \n", 1402 | "99 0.447 0.0319 0.057 0.0365 0.055 178.21 \n", 1403 | "196 2.022 -0.1786 0.234 0.258 0.066 111.3 \n", 1404 | "195 0.027 0.0844 0.021 0.0434 0.033 151.15 \n", 1405 | "\n", 1406 | " Change Volume \n", 1407 | "1 -0.0015 12356102 \n", 1408 | "129 -0.0036 4031850 \n", 1409 | "83 0.0044 3555759 \n", 1410 | "84 0.0054 4397398 \n", 1411 | "18 0.0023 12082437 \n", 1412 | "181 0.0043 20034869 \n", 1413 | "184 -0.0095 398103 \n", 1414 | "99 0.0012 890952 \n", 1415 | "196 -0.0004 1910321 \n", 1416 | "195 -0.0083 1108588 " 1417 | ] 1418 | }, 1419 | "execution_count": 14, 1420 | "metadata": {}, 1421 | "output_type": "execute_result" 1422 | } 1423 | ], 1424 | "source": [ 1425 | "# Sort dataframe from screener based on Market Cap and display the top 10 items\n", 1426 | "dia_valuation_cap = dia_valuation.sort_values(by = ['Market Cap'], ascending = False).convert_dtypes()\n", 1427 | "dia_valuation_cap.head(10)" 1428 | ] 1429 | }, 1430 | { 1431 | "cell_type": "code", 1432 | "execution_count": 15, 1433 | "metadata": {}, 1434 | "outputs": [ 1435 | { 1436 | "data": { 1437 | "text/html": [ 1438 | "
\n", 1439 | "\n", 1452 | "\n", 1453 | " \n", 1454 | " \n", 1455 | " \n", 1456 | " \n", 1457 | " \n", 1458 | " \n", 1459 | " \n", 1460 | " \n", 1461 | " \n", 1462 | " \n", 1463 | " \n", 1464 | " \n", 1465 | " \n", 1466 | " \n", 1467 | " \n", 1468 | " \n", 1469 | " \n", 1470 | " \n", 1471 | " \n", 1472 | " \n", 1473 | " \n", 1474 | " \n", 1475 | " \n", 1476 | " \n", 1477 | " \n", 1478 | " \n", 1479 | " \n", 1480 | " \n", 1481 | " \n", 1482 | " \n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | " \n", 1515 | " \n", 1516 | " \n", 1517 | " \n", 1518 | " \n", 1519 | " \n", 1520 | " \n", 1521 | " \n", 1522 | " \n", 1523 | " \n", 1524 | " \n", 1525 | " \n", 1526 | " \n", 1527 | " \n", 1528 | " \n", 1529 | " \n", 1530 | " \n", 1531 | " \n", 1532 | " \n", 1533 | " \n", 1534 | " \n", 1535 | " \n", 1536 | " \n", 1537 | " \n", 1538 | " \n", 1539 | " \n", 1540 | " \n", 1541 | " \n", 1542 | " \n", 1543 | " \n", 1544 | " \n", 1545 | " \n", 1546 | " \n", 1547 | " \n", 1548 | " \n", 1549 | " \n", 1550 | " \n", 1551 | " \n", 1552 | " \n", 1553 | " \n", 1554 | " \n", 1555 | " \n", 1556 | " \n", 1557 | " \n", 1558 | " \n", 1559 | " \n", 1560 | " \n", 1561 | " \n", 1562 | " \n", 1563 | " \n", 1564 | " \n", 1565 | " \n", 1566 | " \n", 1567 | " \n", 1568 | " \n", 1569 | " \n", 1570 | " \n", 1571 | " \n", 1572 | " \n", 1573 | " \n", 1574 | " \n", 1575 | " \n", 1576 | " \n", 1577 | " \n", 1578 | " \n", 1579 | " \n", 1580 | " \n", 1581 | " \n", 1582 | " \n", 1583 | " \n", 1584 | " \n", 1585 | " \n", 1586 | " \n", 1587 | " \n", 1588 | " \n", 1589 | " \n", 1590 | " \n", 1591 | " \n", 1592 | " \n", 1593 | " \n", 1594 | " \n", 1595 | " \n", 1596 | " \n", 1597 | " \n", 1598 | " \n", 1599 | " \n", 1600 | " \n", 1601 | " \n", 1602 | " \n", 1603 | " \n", 1604 | " \n", 1605 | " \n", 1606 | " \n", 1607 | " \n", 1608 | " \n", 1609 | " \n", 1610 | " \n", 1611 | " \n", 1612 | " \n", 1613 | " \n", 1614 | " \n", 1615 | " \n", 1616 | " \n", 1617 | " \n", 1618 | " \n", 1619 | " \n", 1620 | " \n", 1621 | " \n", 1622 | " \n", 1623 | " \n", 1624 | " \n", 1625 | " \n", 1626 | " \n", 1627 | " \n", 1628 | " \n", 1629 | " \n", 1630 | " \n", 1631 | " \n", 1632 | " \n", 1633 | " \n", 1634 | " \n", 1635 | " \n", 1636 | " \n", 1637 | " \n", 1638 | " \n", 1639 | " \n", 1640 | " \n", 1641 | " \n", 1642 | " \n", 1643 | " \n", 1644 | " \n", 1645 | " \n", 1646 | " \n", 1647 | " \n", 1648 | " \n", 1649 | " \n", 1650 | " \n", 1651 | " \n", 1652 | " \n", 1653 | " \n", 1654 | " \n", 1655 | " \n", 1656 | " \n", 1657 | " \n", 1658 | " \n", 1659 | " \n", 1660 | " \n", 1661 | " \n", 1662 | " \n", 1663 | " \n", 1664 | " \n", 1665 | " \n", 1666 | " \n", 1667 | " \n", 1668 | " \n", 1669 | " \n", 1670 | " \n", 1671 | " \n", 1672 | " \n", 1673 | " \n", 1674 | " \n", 1675 | " \n", 1676 | " \n", 1677 | "
TickerMarket CapP/EFwd P/EPEGP/SP/BP/CP/FCFEPS this YEPS next YEPS past 5YEPS next 5YSales past 5YPriceChangeVolume
181TSLA570210000000.059.9834.541.257.6215.3727.0235.596.6920.37290.4860.48090.504195.540.004320034869
1AAPL2341010000000.024.2621.742.735.9446.8448.4624.230.0890.08980.2160.08890.115147.81-0.001512356102
18AMZN975140000000.089.0657.533.431.947.1616.62<NA>0.5490.82390.6760.260.28196.760.002312082437
15AMD123280000000.046.5421.253.155.42.322.0536.170.2470.03870.4460.14790.30978.290.008511421805
73F56040000000.06.288.130.750.371.331.468.10.252-0.14160.3110.0833-0.02114.30.02849781768
49CRM157100000000.0299.5328.5419.95.362.6611.6127.65-0.6630.18660.2630.15050.257143.93-0.10189626199
139NVDA404180000000.071.9839.03.3814.1519.6830.7591.281.2310.3310.4310.2130.313170.560.00798678032
119META310920000000.011.2615.11<NA>2.632.557.4411.820.364-0.14070.316<NA>0.337119.890.01527837281
27BAC302680000000.011.9710.182.025.041.280.35729.350.9070.16290.1910.0593-0.01436.94-0.0245169290
93INTC124730000000.09.2816.02<NA>1.791.245.5317.97-0.016-0.04040.181<NA>0.05930.02-0.00174888871
\n", 1678 | "
" 1679 | ], 1680 | "text/plain": [ 1681 | " Ticker Market Cap P/E Fwd P/E PEG P/S P/B P/C \\\n", 1682 | "181 TSLA 570210000000.0 59.98 34.54 1.25 7.62 15.37 27.02 \n", 1683 | "1 AAPL 2341010000000.0 24.26 21.74 2.73 5.94 46.84 48.46 \n", 1684 | "18 AMZN 975140000000.0 89.06 57.53 3.43 1.94 7.16 16.62 \n", 1685 | "15 AMD 123280000000.0 46.54 21.25 3.15 5.4 2.3 22.05 \n", 1686 | "73 F 56040000000.0 6.28 8.13 0.75 0.37 1.33 1.4 \n", 1687 | "49 CRM 157100000000.0 299.53 28.54 19.9 5.36 2.66 11.61 \n", 1688 | "139 NVDA 404180000000.0 71.98 39.0 3.38 14.15 19.68 30.75 \n", 1689 | "119 META 310920000000.0 11.26 15.11 2.63 2.55 7.44 \n", 1690 | "27 BAC 302680000000.0 11.97 10.18 2.02 5.04 1.28 0.35 \n", 1691 | "93 INTC 124730000000.0 9.28 16.02 1.79 1.24 5.53 \n", 1692 | "\n", 1693 | " P/FCF EPS this Y EPS next Y EPS past 5Y EPS next 5Y Sales past 5Y \\\n", 1694 | "181 35.59 6.692 0.3729 0.486 0.4809 0.504 \n", 1695 | "1 24.23 0.089 0.0898 0.216 0.0889 0.115 \n", 1696 | "18 0.549 0.8239 0.676 0.26 0.281 \n", 1697 | "15 36.17 0.247 0.0387 0.446 0.1479 0.309 \n", 1698 | "73 68.1 0.252 -0.1416 0.311 0.0833 -0.021 \n", 1699 | "49 27.65 -0.663 0.1866 0.263 0.1505 0.257 \n", 1700 | "139 91.28 1.231 0.331 0.431 0.213 0.313 \n", 1701 | "119 11.82 0.364 -0.1407 0.316 0.337 \n", 1702 | "27 729.35 0.907 0.1629 0.191 0.0593 -0.014 \n", 1703 | "93 17.97 -0.016 -0.0404 0.181 0.059 \n", 1704 | "\n", 1705 | " Price Change Volume \n", 1706 | "181 195.54 0.0043 20034869 \n", 1707 | "1 147.81 -0.0015 12356102 \n", 1708 | "18 96.76 0.0023 12082437 \n", 1709 | "15 78.29 0.0085 11421805 \n", 1710 | "73 14.3 0.0284 9781768 \n", 1711 | "49 143.93 -0.1018 9626199 \n", 1712 | "139 170.56 0.0079 8678032 \n", 1713 | "119 119.89 0.0152 7837281 \n", 1714 | "27 36.94 -0.024 5169290 \n", 1715 | "93 30.02 -0.0017 4888871 " 1716 | ] 1717 | }, 1718 | "execution_count": 15, 1719 | "metadata": {}, 1720 | "output_type": "execute_result" 1721 | } 1722 | ], 1723 | "source": [ 1724 | "# Sort dataframe from screener based on Change in Volume and display the top 10 items\n", 1725 | "dia_valuation_cap = dia_valuation.sort_values(by = ['Volume'], ascending = False).convert_dtypes()\n", 1726 | "dia_valuation_cap.head(10)" 1727 | ] 1728 | } 1729 | ], 1730 | "metadata": { 1731 | "kernelspec": { 1732 | "display_name": "Python 3", 1733 | "language": "python", 1734 | "name": "python3" 1735 | }, 1736 | "language_info": { 1737 | "codemirror_mode": { 1738 | "name": "ipython", 1739 | "version": 3 1740 | }, 1741 | "file_extension": ".py", 1742 | "mimetype": "text/x-python", 1743 | "name": "python", 1744 | "nbconvert_exporter": "python", 1745 | "pygments_lexer": "ipython3", 1746 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 1747 | }, 1748 | "orig_nbformat": 4, 1749 | "vscode": { 1750 | "interpreter": { 1751 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 1752 | } 1753 | } 1754 | }, 1755 | "nbformat": 4, 1756 | "nbformat_minor": 2 1757 | } 1758 | -------------------------------------------------------------------------------- /obb_02-01_modules_alternative.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.01 Modules: Alternative\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/alternative" 10 | ] 11 | } 12 | ], 13 | "metadata": { 14 | "kernelspec": { 15 | "display_name": "Python 3", 16 | "language": "python", 17 | "name": "python3" 18 | }, 19 | "language_info": { 20 | "codemirror_mode": { 21 | "name": "ipython", 22 | "version": 3 23 | }, 24 | "file_extension": ".py", 25 | "mimetype": "text/x-python", 26 | "name": "python", 27 | "nbconvert_exporter": "python", 28 | "pygments_lexer": "ipython3", 29 | "version": "3.9.6" 30 | }, 31 | "orig_nbformat": 4, 32 | "vscode": { 33 | "interpreter": { 34 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 35 | } 36 | } 37 | }, 38 | "nbformat": 4, 39 | "nbformat_minor": 2 40 | } 41 | -------------------------------------------------------------------------------- /obb_02-02_modules_crypto.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.02 Modules: Crypto\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/crypto" 10 | ] 11 | } 12 | ], 13 | "metadata": { 14 | "kernelspec": { 15 | "display_name": "Python 3", 16 | "language": "python", 17 | "name": "python3" 18 | }, 19 | "language_info": { 20 | "codemirror_mode": { 21 | "name": "ipython", 22 | "version": 3 23 | }, 24 | "file_extension": ".py", 25 | "mimetype": "text/x-python", 26 | "name": "python", 27 | "nbconvert_exporter": "python", 28 | "pygments_lexer": "ipython3", 29 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 30 | }, 31 | "orig_nbformat": 4, 32 | "vscode": { 33 | "interpreter": { 34 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 35 | } 36 | } 37 | }, 38 | "nbformat": 4, 39 | "nbformat_minor": 2 40 | } 41 | -------------------------------------------------------------------------------- /obb_02-03_modules_econometrics.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.03 Modules: Econometrics\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/econometrics" 10 | ] 11 | } 12 | ], 13 | "metadata": { 14 | "kernelspec": { 15 | "display_name": "Python 3", 16 | "language": "python", 17 | "name": "python3" 18 | }, 19 | "language_info": { 20 | "codemirror_mode": { 21 | "name": "ipython", 22 | "version": 3 23 | }, 24 | "file_extension": ".py", 25 | "mimetype": "text/x-python", 26 | "name": "python", 27 | "nbconvert_exporter": "python", 28 | "pygments_lexer": "ipython3", 29 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 30 | }, 31 | "orig_nbformat": 4, 32 | "vscode": { 33 | "interpreter": { 34 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 35 | } 36 | } 37 | }, 38 | "nbformat": 4, 39 | "nbformat_minor": 2 40 | } 41 | -------------------------------------------------------------------------------- /obb_02-04_modules_economy.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.04 Modules: Economy\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/economy" 10 | ] 11 | } 12 | ], 13 | "metadata": { 14 | "kernelspec": { 15 | "display_name": "Python 3", 16 | "language": "python", 17 | "name": "python3" 18 | }, 19 | "language_info": { 20 | "codemirror_mode": { 21 | "name": "ipython", 22 | "version": 3 23 | }, 24 | "file_extension": ".py", 25 | "mimetype": "text/x-python", 26 | "name": "python", 27 | "nbconvert_exporter": "python", 28 | "pygments_lexer": "ipython3", 29 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 30 | }, 31 | "orig_nbformat": 4, 32 | "vscode": { 33 | "interpreter": { 34 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 35 | } 36 | } 37 | }, 38 | "nbformat": 4, 39 | "nbformat_minor": 2 40 | } 41 | -------------------------------------------------------------------------------- /obb_02-05_modules_etf.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.05 Modules: ETF\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/etf" 10 | ] 11 | } 12 | ], 13 | "metadata": { 14 | "kernelspec": { 15 | "display_name": "Python 3", 16 | "language": "python", 17 | "name": "python3" 18 | }, 19 | "language_info": { 20 | "codemirror_mode": { 21 | "name": "ipython", 22 | "version": 3 23 | }, 24 | "file_extension": ".py", 25 | "mimetype": "text/x-python", 26 | "name": "python", 27 | "nbconvert_exporter": "python", 28 | "pygments_lexer": "ipython3", 29 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 30 | }, 31 | "orig_nbformat": 4, 32 | "vscode": { 33 | "interpreter": { 34 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 35 | } 36 | } 37 | }, 38 | "nbformat": 4, 39 | "nbformat_minor": 2 40 | } 41 | -------------------------------------------------------------------------------- /obb_02-07_modules_forex.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.07 Modules: Forex\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/forex" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "from openbb_terminal.sdk import openbb\n", 19 | "import pandas as pd\n", 20 | "#%matplotlib inline" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": 6, 26 | "metadata": {}, 27 | "outputs": [ 28 | { 29 | "data": { 30 | "text/html": [ 31 | "
\n", 32 | "\n", 45 | "\n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | "
OpenHighLowCloseAdj CloseVolume
date
2022-01-010.879100.887040.879050.885200.885200
2022-01-080.880000.885870.870800.872820.872820
2022-01-150.875930.884780.874540.883880.883880
\n", 96 | "
" 97 | ], 98 | "text/plain": [ 99 | " Open High Low Close Adj Close Volume\n", 100 | "date \n", 101 | "2022-01-01 0.87910 0.88704 0.87905 0.88520 0.88520 0\n", 102 | "2022-01-08 0.88000 0.88587 0.87080 0.87282 0.87282 0\n", 103 | "2022-01-15 0.87593 0.88478 0.87454 0.88388 0.88388 0" 104 | ] 105 | }, 106 | "execution_count": 6, 107 | "metadata": {}, 108 | "output_type": "execute_result" 109 | } 110 | ], 111 | "source": [ 112 | "currency_pair = openbb.forex.load(\n", 113 | " from_symbol='USD',\n", 114 | " to_symbol='EUR',\n", 115 | " start_date = '2022-01-01',\n", 116 | " interval = '1week')\n", 117 | "\n", 118 | "currency_pair.head(3)" 119 | ] 120 | }, 121 | { 122 | "cell_type": "markdown", 123 | "metadata": {}, 124 | "source": [ 125 | "[Average True Range](https://docs.openbb.co/sdk/guides/intros/forex#average-true-range)" 126 | ] 127 | }, 128 | { 129 | "cell_type": "code", 130 | "execution_count": 7, 131 | "metadata": {}, 132 | "outputs": [ 133 | { 134 | "data": { 135 | "text/html": [ 136 | "
\n", 137 | "\n", 150 | "\n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | "
OpenHighLowCloseAdj CloseVolumeATRe_4
date
2022-11-290.96650.96730.96160.96380.963800.015951
\n", 186 | "
" 187 | ], 188 | "text/plain": [ 189 | " Open High Low Close Adj Close Volume ATRe_4\n", 190 | "date \n", 191 | "2022-11-29 0.9665 0.9673 0.9616 0.9638 0.9638 0 0.015951" 192 | ] 193 | }, 194 | "execution_count": 7, 195 | "metadata": {}, 196 | "output_type": "execute_result" 197 | } 198 | ], 199 | "source": [ 200 | "weekly_atr = openbb.ta.atr(data = currency_pair, window = 4)\n", 201 | "currency_pair = currency_pair.join(weekly_atr)\n", 202 | "\n", 203 | "currency_pair.tail(1)" 204 | ] 205 | }, 206 | { 207 | "cell_type": "markdown", 208 | "metadata": {}, 209 | "source": [ 210 | "[Forward Rates](https://docs.openbb.co/sdk/guides/intros/forex#average-true-range)" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": 9, 216 | "metadata": {}, 217 | "outputs": [ 218 | { 219 | "data": { 220 | "text/html": [ 221 | "
\n", 222 | "\n", 235 | "\n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | "
AskBidMidPoints
Expiration
Overnight1.037391.037371.037380.6785
Tomorrow Next1.037391.037371.037380.7150
Spot Next1.037391.037371.037380.7050
One Week1.037811.037791.037804.8950
Two Weeks1.038311.038281.038309.8450
Three Weeks1.038901.038871.0388815.7100
One Month1.040571.040321.0404431.3450
Two Months1.042571.042521.0425452.3350
Three Months1.044911.044391.0446573.4290
Four Months1.047141.047081.0471198.0000
Five Months1.049181.049121.04915118.4000
Six Months1.051271.051191.05123139.2000
Seven Months1.053581.053461.05352162.1000
Eight Months1.055581.055461.05552182.1000
Nine Months1.057701.057581.05764203.3000
Ten Months1.059901.059781.05984225.3000
Eleven Months1.061871.061751.06181245.0000
One Year1.063751.063611.06368263.7000
Two Years1.082421.081901.08216448.5000
Three Years1.094821.093801.09431570.0000
Four Years1.106121.105101.10561683.0000
Five Years1.118421.116401.11741801.0000
Six Years1.129321.126801.12806907.5000
Seven Years1.140321.136801.138561012.5000
Ten Years1.169421.162901.166161288.5000
\n", 430 | "
" 431 | ], 432 | "text/plain": [ 433 | " Ask Bid Mid Points\n", 434 | "Expiration \n", 435 | "Overnight 1.03739 1.03737 1.03738 0.6785\n", 436 | "Tomorrow Next 1.03739 1.03737 1.03738 0.7150\n", 437 | "Spot Next 1.03739 1.03737 1.03738 0.7050\n", 438 | "One Week 1.03781 1.03779 1.03780 4.8950\n", 439 | "Two Weeks 1.03831 1.03828 1.03830 9.8450\n", 440 | "Three Weeks 1.03890 1.03887 1.03888 15.7100\n", 441 | "One Month 1.04057 1.04032 1.04044 31.3450\n", 442 | "Two Months 1.04257 1.04252 1.04254 52.3350\n", 443 | "Three Months 1.04491 1.04439 1.04465 73.4290\n", 444 | "Four Months 1.04714 1.04708 1.04711 98.0000\n", 445 | "Five Months 1.04918 1.04912 1.04915 118.4000\n", 446 | "Six Months 1.05127 1.05119 1.05123 139.2000\n", 447 | "Seven Months 1.05358 1.05346 1.05352 162.1000\n", 448 | "Eight Months 1.05558 1.05546 1.05552 182.1000\n", 449 | "Nine Months 1.05770 1.05758 1.05764 203.3000\n", 450 | "Ten Months 1.05990 1.05978 1.05984 225.3000\n", 451 | "Eleven Months 1.06187 1.06175 1.06181 245.0000\n", 452 | "One Year 1.06375 1.06361 1.06368 263.7000\n", 453 | "Two Years 1.08242 1.08190 1.08216 448.5000\n", 454 | "Three Years 1.09482 1.09380 1.09431 570.0000\n", 455 | "Four Years 1.10612 1.10510 1.10561 683.0000\n", 456 | "Five Years 1.11842 1.11640 1.11741 801.0000\n", 457 | "Six Years 1.12932 1.12680 1.12806 907.5000\n", 458 | "Seven Years 1.14032 1.13680 1.13856 1012.5000\n", 459 | "Ten Years 1.16942 1.16290 1.16616 1288.5000" 460 | ] 461 | }, 462 | "execution_count": 9, 463 | "metadata": {}, 464 | "output_type": "execute_result" 465 | } 466 | ], 467 | "source": [ 468 | "fwd_eurusd = openbb.forex.fwd('USD', 'EUR')\n", 469 | "\n", 470 | "fwd_eurusd" 471 | ] 472 | }, 473 | { 474 | "cell_type": "markdown", 475 | "metadata": {}, 476 | "source": [ 477 | "Not all currency pairs will have the same length of term structure." 478 | ] 479 | }, 480 | { 481 | "cell_type": "code", 482 | "execution_count": 11, 483 | "metadata": {}, 484 | "outputs": [ 485 | { 486 | "data": { 487 | "text/html": [ 488 | "
\n", 489 | "\n", 502 | "\n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | "
Ask JPY/EURBid JPY/EURMid JPY/EURPoints JPY/EURAsk USD/EURBid USD/EURMid USD/EURPoints USD/EUR
Expiration
Overnight143.263143.254143.258-0.63000.963980.963910.96394-0.640
Tomorrow Next143.263143.254143.258-0.56500.963970.963900.96394-0.665
Spot Next143.263143.254143.258-0.59500.963980.963900.96394-0.650
One Week143.263143.254143.258-4.31000.963580.963510.96355-4.585
Two Weeks143.262143.253143.258-8.46000.963130.963050.96309-9.175
Three Weeks143.262143.253143.257-12.95000.962580.962500.96254-14.655
One Month143.261143.252143.256-22.56150.961150.961060.96110-29.010
Two Months143.258143.249143.254-46.99500.959220.959120.95917-48.365
Three Months143.256143.246143.251-73.22300.957300.957200.95725-67.560
Four Months143.252143.243143.248-108.21500.955060.954950.95500-90.020
Five Months143.249143.240143.245-140.35500.953200.953080.95314-108.630
Six Months143.246143.237143.241-174.10000.951310.951190.95125-127.530
Seven Months143.242143.233143.237-210.72500.949240.949110.94917-148.315
Eight Months143.239143.230143.234-243.75500.947440.947310.94738-166.295
Nine Months143.235143.226143.231-279.39000.945560.945400.94548-185.215
Ten Months143.232143.222143.227-316.07500.943620.943440.94353-204.725
Eleven Months143.228143.219143.223-350.74500.941850.941670.94176-222.490
One Year143.225143.215143.220-384.05000.940230.940030.94013-238.755
Two Years143.188143.177143.183-759.16500.924220.923730.92398-400.290
\n", 739 | "
" 740 | ], 741 | "text/plain": [ 742 | " Ask JPY/EUR Bid JPY/EUR Mid JPY/EUR Points JPY/EUR \\\n", 743 | "Expiration \n", 744 | "Overnight 143.263 143.254 143.258 -0.6300 \n", 745 | "Tomorrow Next 143.263 143.254 143.258 -0.5650 \n", 746 | "Spot Next 143.263 143.254 143.258 -0.5950 \n", 747 | "One Week 143.263 143.254 143.258 -4.3100 \n", 748 | "Two Weeks 143.262 143.253 143.258 -8.4600 \n", 749 | "Three Weeks 143.262 143.253 143.257 -12.9500 \n", 750 | "One Month 143.261 143.252 143.256 -22.5615 \n", 751 | "Two Months 143.258 143.249 143.254 -46.9950 \n", 752 | "Three Months 143.256 143.246 143.251 -73.2230 \n", 753 | "Four Months 143.252 143.243 143.248 -108.2150 \n", 754 | "Five Months 143.249 143.240 143.245 -140.3550 \n", 755 | "Six Months 143.246 143.237 143.241 -174.1000 \n", 756 | "Seven Months 143.242 143.233 143.237 -210.7250 \n", 757 | "Eight Months 143.239 143.230 143.234 -243.7550 \n", 758 | "Nine Months 143.235 143.226 143.231 -279.3900 \n", 759 | "Ten Months 143.232 143.222 143.227 -316.0750 \n", 760 | "Eleven Months 143.228 143.219 143.223 -350.7450 \n", 761 | "One Year 143.225 143.215 143.220 -384.0500 \n", 762 | "Two Years 143.188 143.177 143.183 -759.1650 \n", 763 | "\n", 764 | " Ask USD/EUR Bid USD/EUR Mid USD/EUR Points USD/EUR \n", 765 | "Expiration \n", 766 | "Overnight 0.96398 0.96391 0.96394 -0.640 \n", 767 | "Tomorrow Next 0.96397 0.96390 0.96394 -0.665 \n", 768 | "Spot Next 0.96398 0.96390 0.96394 -0.650 \n", 769 | "One Week 0.96358 0.96351 0.96355 -4.585 \n", 770 | "Two Weeks 0.96313 0.96305 0.96309 -9.175 \n", 771 | "Three Weeks 0.96258 0.96250 0.96254 -14.655 \n", 772 | "One Month 0.96115 0.96106 0.96110 -29.010 \n", 773 | "Two Months 0.95922 0.95912 0.95917 -48.365 \n", 774 | "Three Months 0.95730 0.95720 0.95725 -67.560 \n", 775 | "Four Months 0.95506 0.95495 0.95500 -90.020 \n", 776 | "Five Months 0.95320 0.95308 0.95314 -108.630 \n", 777 | "Six Months 0.95131 0.95119 0.95125 -127.530 \n", 778 | "Seven Months 0.94924 0.94911 0.94917 -148.315 \n", 779 | "Eight Months 0.94744 0.94731 0.94738 -166.295 \n", 780 | "Nine Months 0.94556 0.94540 0.94548 -185.215 \n", 781 | "Ten Months 0.94362 0.94344 0.94353 -204.725 \n", 782 | "Eleven Months 0.94185 0.94167 0.94176 -222.490 \n", 783 | "One Year 0.94023 0.94003 0.94013 -238.755 \n", 784 | "Two Years 0.92422 0.92373 0.92398 -400.290 " 785 | ] 786 | }, 787 | "execution_count": 11, 788 | "metadata": {}, 789 | "output_type": "execute_result" 790 | } 791 | ], 792 | "source": [ 793 | "fwd_jpyeur = openbb.forex.fwd('JPY', 'EUR')\n", 794 | "fwd_pairs = fwd_jpyeur.join(fwd_usdeur, on = ['Expiration'], lsuffix = ' JPY/EUR', rsuffix=' USD/EUR')\n", 795 | "\n", 796 | "fwd_pairs" 797 | ] 798 | } 799 | ], 800 | "metadata": { 801 | "kernelspec": { 802 | "display_name": "Python 3", 803 | "language": "python", 804 | "name": "python3" 805 | }, 806 | "language_info": { 807 | "codemirror_mode": { 808 | "name": "ipython", 809 | "version": 3 810 | }, 811 | "file_extension": ".py", 812 | "mimetype": "text/x-python", 813 | "name": "python", 814 | "nbconvert_exporter": "python", 815 | "pygments_lexer": "ipython3", 816 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 817 | }, 818 | "orig_nbformat": 4, 819 | "vscode": { 820 | "interpreter": { 821 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 822 | } 823 | } 824 | }, 825 | "nbformat": 4, 826 | "nbformat_minor": 2 827 | } 828 | -------------------------------------------------------------------------------- /obb_02-08_modules_futures.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 02.08 Modules: Futures\n", 8 | "\n", 9 | "> https://docs.openbb.co/sdk/guides/intros/futures" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "from openbb_terminal.sdk import openbb\n", 19 | "import pandas as pd\n", 20 | "# %matplotlib inline (uncomment if using a Jupyter Interactive Terminal or Notebook)" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": 2, 26 | "metadata": {}, 27 | "outputs": [ 28 | { 29 | "data": { 30 | "text/html": [ 31 | "
\n", 32 | "\n", 45 | "\n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | "
TickerDescriptionExchangeCategory
66GEEurodollar FuturesCMEcurrency
67GLBOne-Month Eurodollar FuturesCMEcurrency
152SEDSED (SOFR-Eurodollar) Spread FuturesCMEbonds
\n", 79 | "
" 80 | ], 81 | "text/plain": [ 82 | " Ticker Description Exchange Category\n", 83 | "66 GE Eurodollar Futures CME currency\n", 84 | "67 GLB One-Month Eurodollar Futures CME currency\n", 85 | "152 SED SED (SOFR-Eurodollar) Spread Futures CME bonds" 86 | ] 87 | }, 88 | "execution_count": 2, 89 | "metadata": {}, 90 | "output_type": "execute_result" 91 | } 92 | ], 93 | "source": [ 94 | "openbb.futures.search(description = 'Eurodollar')" 95 | ] 96 | }, 97 | { 98 | "cell_type": "code", 99 | "execution_count": 3, 100 | "metadata": {}, 101 | "outputs": [ 102 | { 103 | "data": { 104 | "text/html": [ 105 | "
\n", 106 | "\n", 119 | "\n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | "
Futures
2023-01-0195.205299
2023-02-0195.077499
2023-03-0194.970001
2023-04-0194.925003
2023-05-0194.910004
2023-06-0194.904999
2023-09-0195.035004
2023-12-0195.400002
2024-03-0195.930000
2024-06-0196.394997
2024-09-0196.690002
2024-12-0196.830002
2025-03-0196.900002
2025-06-0196.940002
2025-09-0196.959999
2025-12-0196.964996
\n", 193 | "
" 194 | ], 195 | "text/plain": [ 196 | " Futures\n", 197 | "2023-01-01 95.205299\n", 198 | "2023-02-01 95.077499\n", 199 | "2023-03-01 94.970001\n", 200 | "2023-04-01 94.925003\n", 201 | "2023-05-01 94.910004\n", 202 | "2023-06-01 94.904999\n", 203 | "2023-09-01 95.035004\n", 204 | "2023-12-01 95.400002\n", 205 | "2024-03-01 95.930000\n", 206 | "2024-06-01 96.394997\n", 207 | "2024-09-01 96.690002\n", 208 | "2024-12-01 96.830002\n", 209 | "2025-03-01 96.900002\n", 210 | "2025-06-01 96.940002\n", 211 | "2025-09-01 96.959999\n", 212 | "2025-12-01 96.964996" 213 | ] 214 | }, 215 | "execution_count": 3, 216 | "metadata": {}, 217 | "output_type": "execute_result" 218 | } 219 | ], 220 | "source": [ 221 | "eurodollar = openbb.futures.curve('GE')\n", 222 | "eurodollar" 223 | ] 224 | }, 225 | { 226 | "cell_type": "code", 227 | "execution_count": 4, 228 | "metadata": {}, 229 | "outputs": [ 230 | { 231 | "data": { 232 | "image/png": "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hI8X33y8eGCxfAAeXZo1ayZWr14t/vjjD3HJJZeIIUOGiHfffVe4XC4xbdo0ERERIQCIhx9+WMyYMUOEhYWJa665RrhcLvHAAw9YPn5P9wgPDxcAxEUXXSRKSkrE1VdfLQAIf39/y8fu6R6PPvqocDgcAoBIS0sT77//vvDz8xMAREBAgAAgZs+eLbKyssTAgQMt3xZP7B98vPj24+VMTfiY8e3HDB8vtWvCx4tvP148tFg+AI8ukydPFk6nU1xwwQXS5d999504fPiwGD58uAAgQkJCKn82YMAAkZOT45XHF56px4gRIwQA0b17d5Geni4ee+yxynViYmIqH5DespyuR05OjjjvvPNEaGioWLNmjfj8889FWFiYAFD5jMQ999wjnE6nuP322y3fFk/sH3y8yD187fFypiY6P2YqJqQNvY/o+JhxVwudHy/uaKLz46Vp06aVf5g05D6i4+PFzovtz97j7++PLl264M4778Rrr72Gd955B3//+98RHR1dp9vr2bMndu7ciQ0bNlRedvXVV6Nr165o2rQpLrzwQgBAaWlp5Tvk9+/fj6ysLJx99tn136B68nSPiy++GABw9OhR7N+/H4888gh27tyJgoICrFu3Du+++y5uvPHGBtm2uvBkjyZNmmD06NFwOp1YsmQJLrnkEtxxxx0IDAxEaGgoxo4di9GjR8PlcqFt27YNtYl11q1bN3z55ZdwuVx1PguG7o+Xk3mih90fL6dydxMdHjNBQUE499xzcffdd+ODDz7A5s2b4XK5MG/ePMTExNT69nR+zHi6hQ6PF0820eHxUiEgIADjxo3D4sWLUVhYiDVr1iApKanWt6Pz40VXlv/lUbEEBQUpl40fP15s2bJF7NixQ3z55Zdi2bJlwuVyiY8//ljExsbW6vajoqLE559/LtavX1952QUXXCAyMjLEzz//LP744w+xYcMGAaDyJTUAolGjRuLLL78U+fn5omnTpj7VY+PGjQIwntWYNGmSmDVrlpg8ebIYN26c+Ne//iUOHDggXC6XGDJkiNf32LRpU2WP1q1bi++++064XC5x+PBhUVpaKnJzc8Xs2bNFQUGBmDlzpiU9APOl8SeeeKLyDU/33nuv9LOG2j/s/njxdA87PV7s0MTOj5mKffb5558XLpdLHDhwQCxcuFBMnz5d3HTTTaJLly61fuZSp8eMHVrY+fFiRRM7P15OXoKDg8UjjzwiduzYId5//31x8803i169eolGjRo1+D5il8eLFy3W3XlSUpJ4+eWXxe7du8X+/fvF3LlzRffu3QVgHr82cOBAcffdd4sOHTqIiIgI0aRJE/Hoo4+KsrIycc011yg7w+mWsLAw8dlnn4mDBw8KAKJ///4iPz9ffP3116Jt27bivffeE3l5eVVet+LsAhXj88UeQUFByn8Ezj//fHHs2DExe/Zs6eU3X+jRuHFjccUVV4gJEyaIQYMGVY4pPz9fPPjggzW+34boceoSHx8vVqxYIX777TexYcMG8eWXX0rdvP3xYocenn686NDETo+ZisMlbrrpJnHw4EExYcIEARgTmrren50fM3ZvYbfHix2a2OnxApj/L73ppptEYWGheOihh0R0dHSdx2Hnx4sXL+678bCwMNG9e3fRpUsXZac4++yzxfLly8Xq1avFAw88IF588UVRUlIi0tLSRNeuXU97u/369RMul0s5BuzUpaod8aWXXhIul0uMGjVKHDp0SKxdu7byGeGXX35Z5OfnixYtWlSuX/Gs1+TJk4XL5aqcSPpqj1OXrl27iuPHj4tZs2bV+s1X3thj5MiRoqSkRIwZM8bS/eOqq64SeXl5YujQoeKnn34Su3btqnabfeHxYlWPhny8eGsTqx8zvXv3Frm5uWLKlCkCqN0fPXZ6zHhDCzs+XuzWxOrHS0xMjFi7dq348ccfa33/dnq8+PDS8DcaHx8vPv74Y1FQUCAKCgrEnj17xHPPPSe9DHPRRReJVatWiV69eomAgADh5+cnLrnkEuFyucTLL79c7W2Hh4eLDz74QKSmptZpbP/4xz9Efn6+KCkpEWvWrBFxcXGVP5s3b57Yt2+fOPvss5XrjR49WhQXF4vnnntONGnSRHTu3LnGh494Y4+K5V//+pcoKysT48eP9+n9AzCeAVq0aJHYuHGjaN68uWU9AgMDxddffy2+//57AUC89dZborS01GcfL3boUZ/Hizc3scNjJjIyUuzfv1/85z//qdP2W/2Y8cYWdnq82KmJHR4vLVu2FC6XS9x8883Sffj7+9fpGX8r/h/j40vtrhAUFCQGDBggHn30UTFv3jxxww03SC93hYWFiUWLFonMzExx7bXXiuHDh4t58+YJl8sl3n//fem2mjRpouzQJSUlYtGiRcrOM2TIEPHK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bGJ9j+eee0788MMPYuvWrWLfvn1i4cKFtjtumC3YxC49rrvuOrFp0yaRlZUljh8/Lo4cOSKee+45y7efyxmXul950KBBoqioSLz44ouVlwUGBorc3FxRVFQkunTpIq0/b948kZ+fL70x4x//+IdwOp1i8uTJYuTIkeK+++4Tb7zxhti6dat48sknRXh4uAgICBCvvvqq+Oyzz8TUqVNFv379av1xz55Y2IM9rOzxxBNPVDupq+3HxbMHm9hh8USPyMhIARif8PnFF1+IqVOnij59+lSercQuC1uwiR16NG7cuHLdNm3aiEsvvVQMGDBAOq0qF1svdbtiZGSkWLVqldi6dauIiYmRflZx+qWrrrpKBAcHi6CgINGtWzdRWFgoZs+eXfk/l5iYGJGRkSFcLpcoLi4WLpdLZGVliR9++EHMmjVL9OnTR5tjvNiDPdiDPdhEvx51+aRXtrB+YRNreujy3w8u1S51u+K///1vcfToUTFy5MjKy07ecX788UfhcrnExx9/LJ544gnxxx9/iKVLl1a+gxyAaN68ubj55pvFddddJ84++2ytdyb2YA/2YA82YQ+2YBP24GLjpfZXGjRokDh48KB49dVXRWxsrOjatau4+OKLxaOPPlr54QotW7YUU6dOFevWrROpqalizpw5yktL3rKwB3uwB3uwCXuwBZuwBxebL7W7QkhIiPj222+Fy+USmzZtEmlpaaKsrEwUFxeLgoIC8fzzz1u9QR5d2IM92IM92IQ92IJN2IOL3ZdA1JKfnx9cLhd++eUXpKamYvPmzVi1ahU2b94MIURtb0577CFjDxl7yNhDxSYy9jCxhYpNZOxBteEHY/ZPREREREReyt/qARARERERkXtx0k9ERERE5OU46SciIiIi8nKc9BMREREReTlO+omIiIiIvBwn/UREREREXo6TfiIiIiIiL8dJPxERERGRl+Okn4iIiIjIy3HST0RERETk5TjpJyIiIiLycpz0ExERERF5OU76iYiIiIi8HCf9RERERERejpN+IiIiIiIvF2j1AIiIiIjozKKiotCuXTuEh4ejtLQUBw4cQHp6OoQQloylW7duld+XlJSgoKAAe/bswfHjxwEAoaGh6Nu3b+U6paWlKCwsRHp6Oo4ePVrj+4qPj0enTp2q/fn27dtx8ODB2m9EAwgICECPHj1QVlaG33//3W33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", 233 | "text/plain": [ 234 | "
" 235 | ] 236 | }, 237 | "metadata": {}, 238 | "output_type": "display_data" 239 | } 240 | ], 241 | "source": [ 242 | "openbb.futures.curve_chart(symbol = 'GE')" 243 | ] 244 | }, 245 | { 246 | "cell_type": "code", 247 | "execution_count": 14, 248 | "metadata": {}, 249 | "outputs": [ 250 | { 251 | "name": "stdout", 252 | "output_type": "stream", 253 | "text": [ 254 | "\n", 255 | "1 Failed download:\n", 256 | "- L=F: No data found for this date range, symbol may be delisted\n" 257 | ] 258 | }, 259 | { 260 | "data": { 261 | "text/html": [ 262 | "
\n", 263 | "\n", 280 | "\n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | "
Adj CloseCloseHighLowOpenVolume
CLCLCLCLCLCL
Date
2020-08-21 00:00:00341.0NaN341.0NaN341.75NaN338.75NaN339.25NaN334609NaN
\n", 340 | "
" 341 | ], 342 | "text/plain": [ 343 | " Adj Close Close High Low Open \\\n", 344 | " C L C L C L C L C \n", 345 | "Date \n", 346 | "2020-08-21 00:00:00 341.0 NaN 341.0 NaN 341.75 NaN 338.75 NaN 339.25 \n", 347 | "\n", 348 | " Volume \n", 349 | " L C L \n", 350 | "Date \n", 351 | "2020-08-21 00:00:00 NaN 334609 NaN " 352 | ] 353 | }, 354 | "execution_count": 14, 355 | "metadata": {}, 356 | "output_type": "execute_result" 357 | } 358 | ], 359 | "source": [ 360 | "openbb.futures.historical(symbols = 'CL')" 361 | ] 362 | } 363 | ], 364 | "metadata": { 365 | "kernelspec": { 366 | "display_name": "obb", 367 | "language": "python", 368 | "name": "python3" 369 | }, 370 | "language_info": { 371 | "codemirror_mode": { 372 | "name": "ipython", 373 | "version": 3 374 | }, 375 | "file_extension": ".py", 376 | "mimetype": "text/x-python", 377 | "name": "python", 378 | "nbconvert_exporter": "python", 379 | "pygments_lexer": "ipython3", 380 | "version": "3.9.6 (default, Aug 18 2021, 19:38:01) \n[GCC 7.5.0]" 381 | }, 382 | "orig_nbformat": 4, 383 | "vscode": { 384 | "interpreter": { 385 | "hash": "da68105485710cf10a6d49297648d33d812a8aaee3ebc1423327d3127c586267" 386 | } 387 | } 388 | }, 389 | "nbformat": 4, 390 | "nbformat_minor": 2 391 | } 392 | --------------------------------------------------------------------------------