> ## 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.

# Short Interest Skills

> Reference for short.interest, short.volume, short.ftd, and short.screener — the archive-backed short interest skills exposed to AI agents.

Short interest skills surface short interest, daily short volume, failures to deliver, and short screens from the Ithaca archive. All four are backed by the **community archive**; FTD data originates from **SEC Reg SHO** reports.

<Callout type="info">
  Short interest is reported biweekly by exchanges; daily short volume is delayed. Always check `freshness.lag_seconds` and `warnings` in the [provenance envelope](/skills/overview#the-provenance-envelope) before acting.
</Callout>

## Skill summary

| Skill ID         | Tool name        | Source            | Runtime     | Description                              |
| ---------------- | ---------------- | ----------------- | ----------- | ---------------------------------------- |
| `short.interest` | `short_interest` | archive-community | interactive | Short interest + days to cover           |
| `short.volume`   | `short_volume`   | archive-community | interactive | Daily short volume ratio                 |
| `short.ftd`      | `short_ftd`      | sec               | interactive | Failures to deliver (Reg SHO)            |
| `short.screener` | `short_screener` | archive-community | scan        | Screen tickers by short interest metrics |

***

## short.interest

Short interest and days to cover for a ticker — the headline short-selling metric.

**Arguments**

| Name               | Type     | Required | Default | Description                          |
| ------------------ | -------- | -------- | ------- | ------------------------------------ |
| `symbol`           | string   | yes      | —       | Ticker symbol                        |
| `as_of`            | ISO date | no       | latest  | Snapshot date                        |
| `lookback_reports` | int      | no       | `4`     | Number of biweekly reports to return |
| `include_history`  | bool     | no       | `false` | Return full history series           |

**Source**: `archive-community`

**Example**

```json theme={null}
short_interest({ "symbol": "GME", "lookback_reports": 4 })
```

```json theme={null}
{
  "skill_id": "short.interest",
  "data": {
    "symbol": "GME", "as_of": "2025-06-24",
    "short_interest": 18200000, "short_pct_float": 0.041,
    "days_to_cover": 1.8, "avg_daily_volume": 10100000,
    "history": [
      { "report_date": "2025-06-10", "short_interest": 19100000, "days_to_cover": 2.1 },
      { "report_date": "2025-05-27", "short_interest": 20500000, "days_to_cover": 2.4 }
    ]
  },
  "provenance": { "source": "archive-community", "freshness": { "as_of": "2025-06-24T00:00:00Z", "lag_seconds": 259200 }, "cost": { "credits": 2, "tier": "basic" }, "warnings": ["short interest is biweekly; intra-period changes not captured"] }
}
```

***

## short.volume

Daily short volume ratio — what fraction of daily volume was short sales.

**Arguments**

| Name          | Type     | Required | Default     | Description         |
| ------------- | -------- | -------- | ----------- | ------------------- |
| `symbol`      | string   | yes      | —           | Ticker symbol       |
| `from`        | ISO date | no       | `now - 30d` | Start date          |
| `to`          | ISO date | no       | latest      | End date            |
| `granularity` | string   | no       | `daily`     | `daily` or `weekly` |

**Source**: `archive-community`

**Example**

```json theme={null}
short_volume({ "symbol": "TSLA", "from": "2025-06-01" })
```

```json theme={null}
{
  "skill_id": "short.volume",
  "data": {
    "symbol": "TSLA",
    "series": [
      { "date": "2025-06-26", "short_volume": 18200000, "total_volume": 91000000, "short_ratio": 0.20 },
      { "date": "2025-06-25", "short_volume": 16400000, "total_volume": 88000000, "short_ratio": 0.19 },
      { "date": "2025-06-24", "short_volume": 21000000, "total_volume": 102000000, "short_ratio": 0.21 }
    ],
    "avg_short_ratio_30d": 0.205
  },
  "provenance": { "source": "archive-community", "freshness": { "as_of": "2025-06-27T20:00:00Z", "lag_seconds": 86400 }, "cost": { "credits": 2, "tier": "basic" }, "warnings": ["daily short volume delayed by 1 trading day"] }
}
```

***

## short.ftd

Failures to deliver — Reg SHO threshold securities. Persistent FTDs can signal locates/borrow stress.

**Arguments**

| Name             | Type     | Required | Default     | Description                                |
| ---------------- | -------- | -------- | ----------- | ------------------------------------------ |
| `symbol`         | string   | no       | —           | Filter by ticker (omit for threshold list) |
| `from`           | ISO date | no       | `now - 90d` | Start date                                 |
| `to`             | ISO date | no       | latest      | End date                                   |
| `min_ftd`        | int      | no       | —           | Minimum failure quantity                   |
| `threshold_only` | bool     | no       | `false`     | Only Reg SHO threshold securities          |
| `limit`          | int      | no       | `50`        | Max results                                |

**Source**: `sec`

**Example**

```json theme={null}
short_ftd({ "symbol": "GME", "from": "2025-04-01" })
```

```json theme={null}
{
  "skill_id": "short.ftd",
  "data": {
    "symbol": "GME",
    "failures": [
      { "date": "2025-05-14", "quantity": 125000, "price": 28.40, "threshold": true },
      { "date": "2025-05-13", "quantity": 88000, "price": 27.90, "threshold": false }
    ],
    "total_ftd_30d": 412000
  },
  "provenance": { "source": "sec", "freshness": { "as_of": "2025-06-15T00:00:00Z", "lag_seconds": 1296000 }, "cost": { "credits": 2, "tier": "basic" }, "warnings": ["FTD reports are released biweekly with ~2 week lag"] }
}
```

***

## short.screener

Screen tickers by short interest metrics across a universe. Runs under the **scan** profile (900 s).

**Arguments**

| Name                     | Type   | Required | Default           | Description                                                 |
| ------------------------ | ------ | -------- | ----------------- | ----------------------------------------------------------- |
| `universe`               | string | no       | `all`             | `sp500`, `russell2000`, `nasdaq100`, `all`                  |
| `min_short_pct_float`    | float  | no       | —                 | Minimum short % of float (decimal)                          |
| `max_short_pct_float`    | float  | no       | —                 | Maximum short % of float                                    |
| `min_days_to_cover`      | float  | no       | —                 | Minimum days to cover                                       |
| `min_short_volume_ratio` | float  | no       | —                 | Minimum daily short volume ratio                            |
| `include_ftd`            | bool   | no       | `false`           | Only tickers with recent FTDs                               |
| `min_ftd`                | int    | no       | —                 | Minimum FTD quantity if `include_ftd`                       |
| `sort_by`                | string | no       | `short_pct_float` | `short_pct_float`, `days_to_cover`, `short_interest`, `ftd` |
| `sort_dir`               | string | no       | `desc`            | `asc` or `desc`                                             |
| `limit`                  | int    | no       | `50`              | Max results                                                 |

**Source**: `archive-community`

**Example**

```json theme={null}
short_screener({ "universe": "russell2000", "min_short_pct_float": 0.15, "min_days_to_cover": 5, "sort_by": "days_to_cover", "limit": 10 })
```

```json theme={null}
{
  "skill_id": "short.screener",
  "data": {
    "as_of": "2025-06-24",
    "matches": [
      { "symbol": "BBBYQ", "short_pct_float": 0.62, "days_to_cover": 18.4, "short_interest": 42000000, "has_ftd": true },
      { "symbol": "SNDL", "short_pct_float": 0.28, "days_to_cover": 12.1, "short_interest": 18000000, "has_ftd": false }
    ],
    "total": 2
  },
  "provenance": { "source": "archive-community", "freshness": { "as_of": "2025-06-24T00:00:00Z", "lag_seconds": 259200 }, "cost": { "credits": 5, "tier": "basic" }, "warnings": [] }
}
```

<Tip>
  Combine `short.screener` with `congress.screener` or `insider.activity` to find crowded shorts with unusual political or insider activity — a common setup for short-squeeze research.
</Tip>

## Next steps

<Card title="Skills Overview" icon="puzzle-piece" href="/skills/overview">
  Back to the full catalog, provenance envelope reference, and runtime profiles.
</Card>

<Card title="MCP Tools" icon="wrench" href="/tools/overview">
  The direct tools that drive sessions, strategies, backtests, and approvals.
</Card>
