Investment research for everyone, anywhere.
—
Exchange-traded fund and market index data including ETF analytics, index composition, and performance metrics. This module provides comprehensive access to ETF and index market data.
Exchange-traded fund data including performance, holdings, and analytics.
def obb.etf.sectors(
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get ETF sectors data.
Parameters:
- provider: Data provider to use
Returns:
ResponseObject with ETF sectors data
"""
def obb.etf.holdings(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get ETF holdings data.
Parameters:
- symbol: ETF symbol
- provider: Data provider to use
Returns:
ResponseObject with ETF holdings
"""
def obb.etf.historical(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get historical ETF data.
Parameters:
- symbol: ETF symbol
- provider: Data provider to use
Returns:
ResponseObject with historical ETF data
"""
def obb.etf.search(
query: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Search for ETFs.
Parameters:
- query: Search term
- provider: Data provider to use
Returns:
ResponseObject with matching ETFs
"""
def obb.etf.info(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get ETF information.
Parameters:
- symbol: ETF symbol
- provider: Data provider to use
Returns:
ResponseObject with ETF information
"""
def obb.etf.countries(
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get ETF countries data.
Parameters:
- provider: Data provider to use
Returns:
ResponseObject with ETF countries data
"""
def obb.etf.holdings_date(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get ETF holdings by date.
Parameters:
- symbol: ETF symbol
- provider: Data provider to use
Returns:
ResponseObject with ETF holdings by date
"""
def obb.etf.price_performance(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get ETF price performance.
Parameters:
- symbol: ETF symbol
- provider: Data provider to use
Returns:
ResponseObject with ETF price performance
"""Market index data including major benchmarks and custom indices.
def obb.index.constituents(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get index constituents.
Parameters:
- symbol: Index symbol
- provider: Data provider to use
Returns:
ResponseObject with index constituents
"""
def obb.index.sectors(
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get index sectors data.
Parameters:
- provider: Data provider to use
Returns:
ResponseObject with index sectors
"""
def obb.index.available(
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get available indices.
Parameters:
- provider: Data provider to use
Returns:
ResponseObject with available indices
"""
def obb.index.sp500_multiples(
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get S&P 500 multiples data.
Parameters:
- provider: Data provider to use
Returns:
ResponseObject with S&P 500 multiples
"""
def obb.index.search(
query: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Search for indices.
Parameters:
- query: Search term
- provider: Data provider to use
Returns:
ResponseObject with matching indices
"""
def obb.index.snapshots(
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get index snapshots.
Parameters:
- provider: Data provider to use
Returns:
ResponseObject with index snapshots
"""
def obb.index.historical(
symbol: str,
provider: str = None,
**kwargs
) -> ResponseObject:
"""
Get historical index data.
Parameters:
- symbol: Index symbol
- provider: Data provider to use
Returns:
ResponseObject with historical index data
"""from openbb import obb
# Access ETF data
# (Specific function calls depend on available ETF functions)
# Search for ETFs
etf_search = obb.etf.search(query="technology")
etf_df = etf_search.to_dataframe()
# Get ETF holdings
holdings_data = obb.etf.holdings(symbol="SPY")
holdings_df = holdings_data.to_dataframe()# Access index data
# Get index constituents
constituents_data = obb.index.constituents(symbol="SPX")
constituents_df = constituents_data.to_dataframe()
# Get S&P 500 multiples
multiples_data = obb.index.sp500_multiples()
multiples_df = multiples_data.to_dataframe()# Compare ETF performance against benchmarks
# Analyze ETF holdings and sector exposure
# Track index composition changesInstall with Tessl CLI
npx tessl i tessl/pypi-openbb