Data API
ctx.data is a DataAccessor. All accessors accept symbols, lookback, start_date, and end_date. Panel methods return a DataFrame indexed by date with one column per symbol.
Daily simple returns panel (dates x symbols). Uses adjusted_close when available, else close. NaNs are dropped.
returns(symbols=None, lookback=None, start_date=None, end_date=None) -> pd.DataFrameReturns
pd.DataFrame
Example
r = ctx.data.returns(lookback=126) # 126 trading days
momentum = (1 + r).prod() - 1Raw OHLCV rows as a MultiIndex (date, symbol) DataFrame with open/high/low/close/volume (and adjusted_close / vwap when available).
ohlcv(symbols=None, lookback=None, end_date=None, start_date=None) -> pd.DataFrameReturns
pd.DataFrame (MultiIndex: date, symbol)
Example
bars = ctx.data.ohlcv(symbols=["AAPL", "MSFT"], lookback=30)Per-field panels (dates x symbols). close() uses adjusted_close when present. vwap() falls back to (H+L+C)/3 if no vwap column exists.
close(symbols=None, lookback=None, ...) -> pd.DataFrameReturns
pd.DataFrame (dates x symbols)
Example
close = ctx.data.close(lookback=50)
vol = ctx.data.volume(lookback=20)
sma_50 = close.rolling(50).mean().iloc[-1]Return a fundamentals dataset for one symbol, or None if unavailable. Datasets include key_metrics_ttm and ratios_ttm (FMP-sourced).
fundamentals(symbol: str, dataset: str = "key_metrics_ttm") -> dict | NoneParameters
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | str | ✓ | Ticker symbol |
| dataset | str | — | e.g. "key_metrics_ttm", "ratios_ttm" |
Returns
dict | None
Example
km = ctx.data.fundamentals("AAPL", "key_metrics_ttm")
pe = (km or {}).get("peRatioTTM")Reference lookups from the security master.
sector(symbol: str) -> str | None | market_cap(symbol: str) -> float | NoneReturns
str | float | None
Example
tech = [s for s in universe if ctx.data.sector(s) == "Technology"]For the full field catalog (60+ key-metrics TTM fields, 70+ ratios TTM fields), see the Data Reference and Data Sources.