|
Download openbb_platform/obbject_extensions/charting/examples.md from CatPtain/OpenBB: direct link, hf CLI and curl.
- Browser
- Download file 4.43 kB
-
https://huggingface.co/spaces/CatPtain/OpenBB/resolve/main/openbb_platform/obbject_extensions/charting/examples.md
- Command line
-
hf download hf://spaces/CatPtain/OpenBB/openbb_platform/obbject_extensions/charting/examples.md
-
curl -L -o examples.md https://huggingface.co/spaces/CatPtain/OpenBB/resolve/main/openbb_platform/obbject_extensions/charting/examples.md
4.43 kB
| title: Examples | |
| sidebar_position: 1 | |
| description: This page provides examples of creating charts with the `openbb-charting` extension. | |
| keywords: | |
| - tutorial | |
| - OpenBB Platform | |
| - Python client | |
| - Fast API | |
| - getting started | |
| - extensions | |
| - charting | |
| - view | |
| - Plotly | |
| - toolkits | |
| - how-to | |
| - generic | |
| - figure | |
| import HeadTitle from '@site/src/components/General/HeadTitle.tsx'; | |
| <HeadTitle title="Examples - OpenBB Charting - Extensions | OpenBB Platform Docs" /> | |
| ## Overview | |
| This page will walk through creating different charts using the `openbb-charting` extension. | |
| The perspective for this content is from the Python Interface, | |
| and the examples will assume that the OpenBB Platform is installed with all optional packages. | |
| ```python | |
| from datetime import datetime, timedelta | |
| from openbb import obb | |
| ``` | |
| ## Cumulative Returns | |
| The historical (equity) prices can be requested for multiple symbols. | |
| The extension will attempt to handle variations accordingly. | |
| By default, more than three symbols will draw the chart as cumulative returns from the beginning of the series. | |
| ### Default View | |
| The tickers below are a collection of State Street Global Advisors SPDR funds, representing S&P 500 components. | |
| The data is looking back five years. | |
| ```python | |
| SPDRS = [ | |
| "SPY", | |
| "XLE", | |
| "XLB", | |
| "XLI", | |
| "XHB", | |
| "XLP", | |
| "XLY", | |
| "XRT", | |
| "XLF", | |
| "XLV", | |
| "XLK", | |
| "XLC", | |
| "XLU", | |
| "XLRE", | |
| ] | |
| start_date = (datetime.now() - timedelta(weeks=52*5)).date() | |
| spdrs = obb.equity.price.historical(SPDRS, start_date=start_date, provider="yfinance", chart=True) | |
| spdrs.show() | |
| ``` | |
|  | |
| ### Redraw as YTD | |
| The `charting` attribute of the command output has methods for creating the chart again. | |
| The `data` parameter allows modifications to the data before creating the figure. | |
| In this example, the length of the data is trimmed to the beginning of the year. | |
| ```python | |
| new_data = spdrs.to_df().loc[datetime(2024,12,29).date():] | |
| spdrs.charting.to_chart(data=new_data, title="YTD") | |
| ``` | |
| :::note | |
| This replaces the chart that was already created. | |
| ::: | |
|  | |
| ## Price Performance Bar Chart | |
| The `obb.equity.price.performance` endpoint will create a bar chart over intervals. | |
| ```python | |
| price_performance = obb.equity.price.performance(SPDRS, chart=True) | |
| price_performance.show() | |
| ``` | |
|  | |
| ### Create Bar Chart | |
| This example uses the `create_bar_chart()` method, which does not replace the existing chart, in `price_performance.chart`. | |
| It isolates the one-month performance and orients the layout as horizontal. | |
| ```python | |
| new_data = price_performance.to_df().set_index("symbol").multiply(100).reset_index() | |
| price_performance.charting.create_bar_chart( | |
| data=new_data, | |
| x="symbol", | |
| y="one_month", | |
| orientation="h", | |
| title="One Month Price Performance", | |
| xtitle="Percent (%)" | |
| ) | |
| ``` | |
|  | |
| ## Create Your Own | |
| This example analyzes the share volume turnover of the S&P 500 Energy Sector constituents, year-to-date. | |
| ```python | |
| symbols = [ | |
| 'XOM', | |
| 'CVX', | |
| 'COP', | |
| 'WMB', | |
| 'EOG', | |
| 'KMI', | |
| 'OKE', | |
| 'MPC', | |
| 'PSX', | |
| 'SLB', | |
| 'VLO', | |
| 'BKR', | |
| 'HES', | |
| 'TRGP', | |
| 'EQT', | |
| 'OXY', | |
| 'TPL', | |
| 'FANG', | |
| 'EXE', | |
| 'DVN', | |
| 'HAL', | |
| 'CTRA', | |
| 'APA', | |
| ] | |
| data = obb.equity.price.historical(symbols, start_date="2025-01-01", provider="yfinance") | |
| create_bar_chart = data.charting.create_bar_chart | |
| volume = data.to_df().groupby("symbol").sum()["volume"] | |
| shares = obb.equity.profile( | |
| symbols, provider="yfinance" | |
| ).to_df().set_index("symbol")["shares_float"] | |
| df = volume.to_frame().join(shares) | |
| df["Turnover"] = (df.volume/df.shares_float).round(4) | |
| df = df.sort_values(by="Turnover", ascending=False).reset_index() | |
| create_bar_chart( | |
| data=df, | |
| x="symbol", | |
| y="Turnover", | |
| title="S&P Energy Sector YTD Turnover Rate", | |
| ) | |
| ``` | |
|  | |