Metadata-Version: 2.4
Name: finzdata
Version: 0.1.8
Summary: FinzData market data client: yfinance-style prices plus COT, SEC fundamentals, point-in-time macro and more
Project-URL: Homepage, https://finzdata.com
Project-URL: Repository, https://github.com/FinzData/finzdata-python
Project-URL: Documentation, https://finzdata.com/docs
Project-URL: Pricing, https://finzdata.com/pricing
Project-URL: Status, https://finzdata.com/status
Project-URL: Guides, https://finzdata.com/guides
Project-URL: COT data, https://finzdata.com/cot
Project-URL: 13F holdings, https://finzdata.com/13f
Keywords: market data,stocks,yfinance,cot,sec,fred,finance,api,m2,money supply,liquidity,tic,backtesting,backtrader,vectorbt,quantstats,survivorship bias
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: pandas>=1.5
Requires-Dist: httpx>=0.24
Requires-Dist: pyarrow>=12
Provides-Extra: backtrader
Requires-Dist: backtrader>=1.9; extra == "backtrader"
Provides-Extra: vectorbt
Requires-Dist: vectorbt>=0.25; extra == "vectorbt"
Provides-Extra: quantstats
Requires-Dist: quantstats>=0.0.62; extra == "quantstats"

# finzdata

Python client for the [FinzData](https://finzdata.com) market data API. It works like yfinance and adds
the datasets yfinance doesn't have.

```
pip install finzdata
```

Get a free API key at https://api.finzdata.com/ and set `FINZDATA_API_KEY`.

```python
import finzdata as yf

msft = yf.Ticker("MSFT")
daily = msft.history(start="2020-01-01")                  # daily bars, split and dividend adjusted
bars = msft.history(interval="5m", start="2026-10-01")    # 1m, 5m, 1h bars (Researcher+)
both = yf.download(["SPY", "QQQ"], period="max")

c = yf.Client()
gold = c.cot(report="legacy_fo", code="088691")            # CFTC Commitments of Traders (COMEX gold)
rev = c.fundamentals(ticker="AAPL", concept="Revenues", as_of="2025-06-30")   # SEC, point-in-time
val = c.valuation("AAPL", start="2025-01-01")   # daily point-in-time P/E, P/B, P/S, EV/EBITDA, yield
cpi = c.macro("CPIAUCSL", as_of="2022-06-30")             # US macro, as known on that date
regime = c.model("latest")                                # FinzData Quantitative Model (Researcher+)
hy = c.licensed("BAMLH0A0HYM2")                           # licensed third-party series (Researcher+)
liq = c.liquidity("FED_NET_LIQUIDITY")                   # Fed assets - TGA - reverse repo (Researcher+)
money = c.liquidity(["US_M2", "US_M3_ESTIMATE"], transform="yoy", wide=True)  # money supply growth
flows = c.tic(country="Japan", asset="treasuries")       # TIC foreign holdings and net purchases
```

## Use it with Backtrader, vectorbt and QuantStats

```python
from finzdata.integrations import backtrader_feed, vbt_prices, qs_returns

# Backtrader (pip install "finzdata[backtrader]")
cerebro.adddata(backtrader_feed("SPY", "2015-01-01", "2024-12-31"))

# vectorbt (pip install "finzdata[vectorbt]")
close = vbt_prices(["SPY", "QQQ", "IWM"], "2015-01-01", "2024-12-31")

# vectorbt native data class: same as vbt.YFData, one-line swap
import finzdata.vbt as fvbt
data = fvbt.download(["SPY", "QQQ"], start="2015-01-01")          # daily OHLCV
bars = fvbt.download("AAPL", start="2026-10-01", interval="5min") # 1min, 5min, 30min, 1hour (stocks)
pf = vbt.Portfolio.from_holding(data.get("Close"))

# QuantStats (pip install "finzdata[quantstats]")
import quantstats as qs
qs.reports.html(qs_returns("SPY", "2015-01-01", "2024-12-31"), output="spy.html")
```

Every bar comes from FinzData's survivorship-free history, so delisted companies stay in your backtests.

## Datasets

- US equity bars, daily (incl. delisted names) and intraday 1-minute, 5-minute and hourly
- Splits and dividends
- CFTC Commitments of Traders, all reports, since 1986
- SEC XBRL fundamentals, as reported and point-in-time
- Daily valuation history (P/E, P/B, P/S, EV/EBITDA, market cap, dividend yield), point-in-time from SEC filings
- US macro series with every vintage (FRED/ALFRED), plus a release calendar
- FinzData Quantitative Model: macro regime labels, a nowcast and a market-stress probability
- Licensed series: Moody's, University of Michigan, Case-Shiller, ICE BofA, Cboe (incl. the VIX futures curve)

Guides (13F, COT, macro vintages, intraday, delisted stocks): https://finzdata.com/guides ·
Free samples and the full file specification: https://finzdata.com/samples ·
Pricing: https://finzdata.com/pricing · Data status: https://finzdata.com/status ·
API reference: https://api.finzdata.com/docs

Bulk downloads (Researcher and above): `POST /v1/batch`, then fetch the `download_url`.
Full-history bundles and nightly updates: `GET /v1/bundles`.

Data is provided under the FinzData subscriber licence; redistribution is prohibited.
