> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doomberg.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Institutional & ETF Skills

> Reference for institutional.holdings, institutional.flows, etf.holdings, and etf.exposure — the archive-backed institutional and ETF skills exposed to AI agents.

Institutional and ETF skills surface 13F filings, institutional flows, ETF constituents, and ETF factor exposure from the Ithaca archive. Holdings data comes from **SEC 13F** filings; flows and ETF data come from the **community archive**.

<Callout type="info">
  13F filings are quarterly with a 45-day lag — `freshness.lag_seconds` will reflect this. Every result includes the [provenance envelope](/skills/overview#the-provenance-envelope).
</Callout>

## Skill summary

| Skill ID                 | Tool name                | Source            | Runtime     | Description                                   |
| ------------------------ | ------------------------ | ----------------- | ----------- | --------------------------------------------- |
| `institutional.holdings` | `institutional_holdings` | sec               | interactive | 13F institutional holdings                    |
| `institutional.flows`    | `institutional_flows`    | archive-community | interactive | Net inflows/outflows by institution or ticker |
| `etf.holdings`           | `etf_holdings`           | archive-community | interactive | ETF constituent list with weights             |
| `etf.exposure`           | `etf_exposure`           | archive-community | interactive | Factor/sector exposure of an ETF              |

***

## institutional.holdings

13F institutional holdings — what each institution owns, by ticker and value, as of the most recent filing.

**Arguments**

| Name                | Type     | Required                      | Default       | Description                                             |
| ------------------- | -------- | ----------------------------- | ------------- | ------------------------------------------------------- |
| `institution`       | string   | one of `institution`/`symbol` | —             | Institution name or CIK                                 |
| `symbol`            | string   | one of `institution`/`symbol` | —             | Filter to a single ticker across institutions           |
| `as_of`             | ISO date | no                            | latest filing | Snapshot date (returns most recent filing on or before) |
| `min_value`         | float    | no                            | —             | Minimum position USD                                    |
| `min_pct_portfolio` | float    | no                            | —             | Minimum % of institution's portfolio                    |
| `sort_by`           | string   | no                            | `value_usd`   | `value_usd`, `shares`, `pct_portfolio`, `change_shares` |
| `limit`             | int      | no                            | `50`          | Max results                                             |

**Source**: `sec`

**Example**

```json theme={null}
institutional_holdings({ "symbol": "NVDA", "min_value": 1000000000, "sort_by": "value_usd", "limit": 10 })
```

```json theme={null}
{
  "skill_id": "institutional.holdings",
  "data": {
    "as_of": "2025-03-31",
    "holders": [
      { "institution": "Vanguard Group", "shares": 2320000000, "value_usd": 297920000000, "pct_portfolio": 0.038, "change_shares": 12000000 },
      { "institution": "BlackRock", "shares": 1860000000, "value_usd": 238840000000, "pct_portfolio": 0.041, "change_shares": 5000000 }
    ]
  },
  "provenance": { "source": "sec", "freshness": { "as_of": "2025-05-15T00:00:00Z", "lag_seconds": 3888000 }, "cost": { "credits": 3, "tier": "basic" }, "warnings": ["13F filed 2025-05-15 for period ending 2025-03-31"] }
}
```

***

## institutional.flows

Net inflows/outflows by institution or by ticker. Useful for spotting accumulation/distribution.

**Arguments**

| Name          | Type     | Required                      | Default      | Description                        |
| ------------- | -------- | ----------------------------- | ------------ | ---------------------------------- |
| `symbol`      | string   | one of `symbol`/`institution` | —            | Ticker to flow across institutions |
| `institution` | string   | one of `symbol`/`institution` | —            | Institution to flow across tickers |
| `from`        | ISO date | no                            | `now - 180d` | Range start                        |
| `to`          | ISO date | no                            | `now`        | Range end                          |
| `granularity` | string   | no                            | `monthly`    | `daily`, `weekly`, or `monthly`    |
| `limit`       | int      | no                            | `50`         | Max results                        |

**Source**: `archive-community`

**Example**

```json theme={null}
institutional_flows({ "symbol": "TSLA", "from": "2025-01-01", "granularity": "monthly" })
```

```json theme={null}
{
  "skill_id": "institutional.flows",
  "data": {
    "symbol": "TSLA",
    "series": [
      { "period": "2025-01", "net_flow_usd": 420000000, "n_buyers": 38, "n_sellers": 22 },
      { "period": "2025-02", "net_flow_usd": -180000000, "n_buyers": 19, "n_sellers": 41 },
      { "period": "2025-03", "net_flow_usd": 610000000, "n_buyers": 44, "n_sellers": 18 }
    ]
  },
  "provenance": { "source": "archive-community", "freshness": { "as_of": "2025-06-27T20:00:00Z", "lag_seconds": 86400 }, "cost": { "credits": 3, "tier": "basic" }, "warnings": ["flows estimated from 13F diff; intra-quarter activity not captured"] }
}
```

***

## etf.holdings

ETF constituent list with weights. Useful for "what's inside X?" queries and for building proxy baskets.

**Arguments**

| Name               | Type     | Required | Default | Description                             |
| ------------------ | -------- | -------- | ------- | --------------------------------------- |
| `symbol`           | string   | yes      | —       | ETF ticker (e.g. `SPY`, `QQQ`, `XLF`)   |
| `as_of`            | ISO date | no       | latest  | Snapshot date                           |
| `min_weight`       | float    | no       | —       | Minimum weight (decimal, e.g. `0.01`)   |
| `limit`            | int      | no       | `100`   | Max constituents (1–1000)               |
| `include_metadata` | bool     | no       | `false` | Include sector/industry per constituent |

**Source**: `archive-community`

**Example**

```json theme={null}
etf_holdings({ "symbol": "XLF", "min_weight": 0.03, "include_metadata": true })
```

```json theme={null}
{
  "skill_id": "etf.holdings",
  "data": {
    "symbol": "XLF",
    "as_of": "2025-06-24",
    "constituents": [
      { "symbol": "BRK.B", "weight": 0.132, "sector": "Financials", "industry": "Diversified Financials" },
      { "symbol": "JPM", "weight": 0.091, "sector": "Financials", "industry": "Banks" },
      { "symbol": "V", "weight": 0.072, "sector": "Financials", "industry": "Payment Processing" }
    ]
  },
  "provenance": { "source": "archive-community", "freshness": { "as_of": "2025-06-24T00:00:00Z", "lag_seconds": 259200 }, "cost": { "credits": 2, "tier": "free" }, "warnings": [] }
}
```

***

## etf.exposure

Factor and sector exposure of an ETF — decomposes the ETF into style factors and GICS sectors.

**Arguments**

| Name              | Type      | Required | Default  | Description                                                           |
| ----------------- | --------- | -------- | -------- | --------------------------------------------------------------------- |
| `symbol`          | string    | yes      | —        | ETF ticker                                                            |
| `as_of`           | ISO date  | no       | latest   | Snapshot date                                                         |
| `factors`         | string\[] | no       | core set | Factor names (e.g. `["momentum","value","quality","size","low_vol"]`) |
| `include_sector`  | bool      | no       | `true`   | Include GICS sector breakdown                                         |
| `include_country` | bool      | no       | `false`  | Include country breakdown                                             |

**Source**: `archive-community`

**Example**

```json theme={null}
etf_exposure({ "symbol": "QQQ", "factors": ["momentum","value","quality","growth","low_vol"] })
```

```json theme={null}
{
  "skill_id": "etf.exposure",
  "data": {
    "symbol": "QQQ",
    "as_of": "2025-06-24",
    "factors": { "momentum": 0.82, "growth": 0.91, "quality": 0.68, "value": -0.41, "low_vol": -0.55, "size": 0.62 },
    "sectors": { "Technology": 0.51, "Communications": 0.18, "Consumer Discretionary": 0.12, "Healthcare": 0.07 }
  },
  "provenance": { "source": "archive-community", "freshness": { "as_of": "2025-06-24T00:00:00Z", "lag_seconds": 259200 }, "cost": { "credits": 3, "tier": "basic" }, "warnings": [] }
}
```

## Next steps

<Card title="Sentiment & Macro Skills" icon="gauge" href="/skills/sentiment-macro">
  Sentiment, macro dashboard, economic calendar, FDA calendar, commodities, FX, crypto, VIX term structure.
</Card>

<Card title="Fundamentals Skills" icon="table-list" href="/skills/fundamentals">
  Fundamentals snapshots, comparisons, point-in-time data, and analyst ratings.
</Card>
