OFR Hedge Fund Monitor API
Free, open REST API from the U.S. Office of Financial Research (OFR) providing aggregated hedge fund time series data. No API key or registration required.
Base URL: https://data.financialresearch.gov/hf/v1
Quick Start
import requests
import pandas as pd
BASE = "https://data.financialresearch.gov/hf/v1"
# List all available datasets
resp = requests.get(f"{BASE}/series/dataset")
datasets = resp.json()
# Returns: {"ficc": {...}, "fpf": {...}, "scoos": {...}, "tff": {...}}
# Search for series by keyword
resp = requests.get(f"{BASE}/metadata/search", params={"query": "*leverage*"})
results = resp.json()
# Each result: {mnemonic, dataset, field, value, type}
# Fetch a single time series
resp = requests.get(f"{BASE}/series/timeseries", params={
"mnemonic": "FPF-ALLQHF_LEVERAGERATIO_GAVWMEAN",
"start_date": "2015-01-01"
})
series = resp.json() # [[date, value], ...]
df = pd.DataFrame(series, columns=["date", "value"])
df["date"] = pd.to_datetime(df["date"])
Authentication
None required. The API is fully open and free.
Datasets
| Key |
Dataset |
Update Frequency |
fpf |
SEC Form PF — aggregated stats from qualifying hedge fund filings |
Quarterly |
tff |
CFTC Traders in Financial Futures — futures market positioning |
Monthly |
scoos |
FRB Senior Credit Officer Opinion Survey on Dealer Financing Terms |
Quarterly |
ficc |
FICC Sponsored Repo Service Volumes |
Monthly |
Data Categories
The HFM organizes data into six categories (each downloadable as CSV):
- size — Hedge fund industry size (AUM, count of funds, net/gross assets)
- leverage — Leverage ratios, borrowing, gross notional exposure
- counterparties — Counterparty concentration, prime broker lending
- liquidity — Financing maturity, investor redemption terms, portfolio liquidity
- complexity — Open positions, strategy distribution, asset class exposure
- risk_management — Stress test results (CDS, equity, rates, FX scenarios)
Core Endpoints
Metadata
| Endpoint |
Path |
Description |
| List mnemonics |
GET /metadata/mnemonics |
All series identifiers |
| Query series info |
GET /metadata/query?mnemonic= |
Full metadata for one series |
| Search series |
GET /metadata/search?query= |
Text search with wildcards (*, ?) |
Series Data
| Endpoint |
Path |
Description |
| Single timeseries |
GET /series/timeseries?mnemonic= |
Date/value pairs for one series |
| Full single |
GET /series/full?mnemonic= |
Data + metadata for one series |
| Multi full |
GET /series/multifull?mnemonics=A,B |
Data + metadata for multiple series |
| Dataset |
GET /series/dataset?dataset=fpf |
All series in a dataset |
| Category CSV |
GET /categories?category=leverage |
CSV download for a category |
| Spread |
GET /calc/spread?x=MNE1&y=MNE2 |
Difference between two series |
Common Parameters
| Parameter |
Description |
Example |
start_date |
Start date YYYY-MM-DD |
2020-01-01 |
end_date |
End date YYYY-MM-DD |
2024-12-31 |
periodicity |
Resample frequency |
Q, M, A, D, W |
how |
Aggregation method |
last (default), first, mean, median, sum |
remove_nulls |
Drop null values |
true |
time_format |
Date format |
date (YYYY-MM-DD) or ms (epoch ms) |
Key FPF Mnemonic Patterns
Mnemonics follow the pattern FPF-{SCOPE}_{METRIC}_{STAT}:
- Scope:
ALLQHF (all qualifying hedge funds), STRATEGY_CREDIT, STRATEGY_EQUITY, STRATEGY_MACRO, etc.
- Metrics:
LEVERAGERATIO, GAV (gross assets), NAV (net assets), GNE (gross notional exposure), BORROWING
- Stats:
SUM, GAVWMEAN, NAVWMEAN, P5, P50, P95, PCTCHANGE, COUNT
# Common series examples
mnemonics = [
"FPF-ALLQHF_LEVERAGERATIO_GAVWMEAN", # All funds: leverage (gross asset-weighted)
"FPF-ALLQHF_GAV_SUM", # All funds: gross assets (total)
"FPF-ALLQHF_NAV_SUM", # All funds: net assets (total)
"FPF-ALLQHF_GNE_SUM", # All funds: gross notional exposure
"FICC-SPONSORED_REPO_VOL", # FICC: sponsored repo volume
]
Reference Files
- references/api-overview.md — Base URL, versioning, protocols, response format
- references/endpoints-metadata.md — Mnemonics, query, and search endpoints with full parameter details
- references/endpoints-series-data.md — Timeseries, spread, and full data endpoints
- references/endpoints-combined.md — Full, multifull, dataset, and category endpoints
- references/datasets.md — Dataset descriptions (fpf, tff, scoos, ficc) and dataset-specific notes
- references/parameters.md — Complete parameter reference with periodicity codes, how values
- references/examples.md — Python examples: discovery, bulk download, spread analysis, DataFrame workflows
1---
2name: hedgefundmonitor
3description: Query the OFR (Office of Financial Research) Hedge Fund Monitor API for hedge fund data including SEC Form PF aggregated statistics, CFTC Traders in Financial Futures, FICC Sponsored Repo volumes, and FRB SCOOS dealer financing terms. Access time series data on hedge fund size, leverage, counterparties, liquidity, complexity, and risk management. No API key or registration required. Use when working with hedge fund data, systemic risk monitoring, financial stability research, hedge fund leverage or leverage ratios, counterparty concentration, Form PF statistics, repo market data, or OFR financial research data.
4license: MIT
5metadata:
6 skill-author: K-Dense Inc.
7---
8
9# OFR Hedge Fund Monitor API
10
11Free, open REST API from the U.S. Office of Financial Research (OFR) providing aggregated hedge fund time series data. No API key or registration required.
12
13**Base URL:** `https://data.financialresearch.gov/hf/v1`
14
15## Quick Start
16
17```python
18import requests
19import pandas as pd
20
21BASE = "https://data.financialresearch.gov/hf/v1"
22
23# List all available datasets
24resp = requests.get(f"{BASE}/series/dataset")
25datasets = resp.json()
26# Returns: {"ficc": {...}, "fpf": {...}, "scoos": {...}, "tff": {...}}
27
28# Search for series by keyword
29resp = requests.get(f"{BASE}/metadata/search", params={"query": "*leverage*"})
30results = resp.json()
31# Each result: {mnemonic, dataset, field, value, type}
32
33# Fetch a single time series
34resp = requests.get(f"{BASE}/series/timeseries", params={
35 "mnemonic": "FPF-ALLQHF_LEVERAGERATIO_GAVWMEAN",
36 "start_date": "2015-01-01"
37})
38series = resp.json() # [[date, value], ...]
39df = pd.DataFrame(series, columns=["date", "value"])
40df["date"] = pd.to_datetime(df["date"])
41```
42
43## Authentication
44
45None required. The API is fully open and free.
46
47## Datasets
48
49| Key | Dataset | Update Frequency |
50|-----|---------|-----------------|
51| `fpf` | SEC Form PF — aggregated stats from qualifying hedge fund filings | Quarterly |
52| `tff` | CFTC Traders in Financial Futures — futures market positioning | Monthly |
53| `scoos` | FRB Senior Credit Officer Opinion Survey on Dealer Financing Terms | Quarterly |
54| `ficc` | FICC Sponsored Repo Service Volumes | Monthly |
55
56## Data Categories
57
58The HFM organizes data into six categories (each downloadable as CSV):
59- **size** — Hedge fund industry size (AUM, count of funds, net/gross assets)
60- **leverage** — Leverage ratios, borrowing, gross notional exposure
61- **counterparties** — Counterparty concentration, prime broker lending
62- **liquidity** — Financing maturity, investor redemption terms, portfolio liquidity
63- **complexity** — Open positions, strategy distribution, asset class exposure
64- **risk_management** — Stress test results (CDS, equity, rates, FX scenarios)
65
66## Core Endpoints
67
68### Metadata
69
70| Endpoint | Path | Description |
71|----------|------|-------------|
72| List mnemonics | `GET /metadata/mnemonics` | All series identifiers |
73| Query series info | `GET /metadata/query?mnemonic=` | Full metadata for one series |
74| Search series | `GET /metadata/search?query=` | Text search with wildcards (`*`, `?`) |
75
76### Series Data
77
78| Endpoint | Path | Description |
79|----------|------|-------------|
80| Single timeseries | `GET /series/timeseries?mnemonic=` | Date/value pairs for one series |
81| Full single | `GET /series/full?mnemonic=` | Data + metadata for one series |
82| Multi full | `GET /series/multifull?mnemonics=A,B` | Data + metadata for multiple series |
83| Dataset | `GET /series/dataset?dataset=fpf` | All series in a dataset |
84| Category CSV | `GET /categories?category=leverage` | CSV download for a category |
85| Spread | `GET /calc/spread?x=MNE1&y=MNE2` | Difference between two series |
86
87## Common Parameters
88
89| Parameter | Description | Example |
90|-----------|-------------|---------|
91| `start_date` | Start date YYYY-MM-DD | `2020-01-01` |
92| `end_date` | End date YYYY-MM-DD | `2024-12-31` |
93| `periodicity` | Resample frequency | `Q`, `M`, `A`, `D`, `W` |
94| `how` | Aggregation method | `last` (default), `first`, `mean`, `median`, `sum` |
95| `remove_nulls` | Drop null values | `true` |
96| `time_format` | Date format | `date` (YYYY-MM-DD) or `ms` (epoch ms) |
97
98## Key FPF Mnemonic Patterns
99
100Mnemonics follow the pattern `FPF-{SCOPE}_{METRIC}_{STAT}`:
101- Scope: `ALLQHF` (all qualifying hedge funds), `STRATEGY_CREDIT`, `STRATEGY_EQUITY`, `STRATEGY_MACRO`, etc.
102- Metrics: `LEVERAGERATIO`, `GAV` (gross assets), `NAV` (net assets), `GNE` (gross notional exposure), `BORROWING`
103- Stats: `SUM`, `GAVWMEAN`, `NAVWMEAN`, `P5`, `P50`, `P95`, `PCTCHANGE`, `COUNT`
104
105```python
106# Common series examples
107mnemonics = [
108 "FPF-ALLQHF_LEVERAGERATIO_GAVWMEAN", # All funds: leverage (gross asset-weighted)
109 "FPF-ALLQHF_GAV_SUM", # All funds: gross assets (total)
110 "FPF-ALLQHF_NAV_SUM", # All funds: net assets (total)
111 "FPF-ALLQHF_GNE_SUM", # All funds: gross notional exposure
112 "FICC-SPONSORED_REPO_VOL", # FICC: sponsored repo volume
113]
114```
115
116## Reference Files
117
118- **[references/api-overview.md](references/api-overview.md)** — Base URL, versioning, protocols, response format
119- **[references/endpoints-metadata.md](references/endpoints-metadata.md)** — Mnemonics, query, and search endpoints with full parameter details
120- **[references/endpoints-series-data.md](references/endpoints-series-data.md)** — Timeseries, spread, and full data endpoints
121- **[references/endpoints-combined.md](references/endpoints-combined.md)** — Full, multifull, dataset, and category endpoints
122- **[references/datasets.md](references/datasets.md)** — Dataset descriptions (fpf, tff, scoos, ficc) and dataset-specific notes
123- **[references/parameters.md](references/parameters.md)** — Complete parameter reference with periodicity codes, how values
124- **[references/examples.md](references/examples.md)** — Python examples: discovery, bulk download, spread analysis, DataFrame workflows
125