Перейти к содержимому
Все документы библиотеки

Использование данных 13F и формы 4 для анализа позиций в акциях

Статья Machine Learning for Trading

Сводка

В этом справочнике описаны два общедоступных источника документов SEC для изучения позиций в акциях и активности инсайдеров. Ежеквартальные отчёты 13F содержат сведения об институциональных вложениях: по выбранной группе управляющих или в виде массивов данных за полный период подачи отчётности. В документах формы 4 фиксируются сделки инсайдеров по выбранным тикерам. В руководстве описано, как скачать, загрузить и организовать данные для дальнейшего анализа, в том числе признаки на уровне акций и связи владения между институтами и акциями.

Важная деталь для анализа: данные о вложениях сохраняют и дату отчёта на конец квартала, и более позднюю дату публикации документа. Эти даты позволяют различить, когда удерживалась позиция, и когда исследователи могли о ней узнать; это необходимо учитывать при создании признаков с привязкой ко времени и предотвращении смещения заглядывания в будущее. В документе указаны возможные направления дальнейшего анализа: графы владения, сигналы скученности, эмбеддинги активов и анализ сделок инсайдеров. Однако эмпирических результатов или торговой стратегии в нём нет. Охват зависит от выбранных управляющих, тикеров или периода массовой подачи отчётности; источники описывают заявленные позиции и сделки, а не полную непрерывно обновляемую картину текущих вложений.

Ключевые идеи

  • Отчёты 13F могут содержать сведения о квартальных институциональных вложениях по выбранным управляющим или более широкому набору поданных отчётов.
  • Документы формы 4 содержат общедоступные записи о сделках инсайдеров с выбранными акциями.
  • Храни даты отчётов отдельно от дат подачи, чтобы различать время удержания позиции и момент её раскрытия.
  • Связи владения и признаки на уровне акций могут помочь в исследованиях скученности и институциональных сетей.
  • У данных отчётности есть ограничения по охвату и срокам, поэтому они не дают картину позиций в реальном времени.

Теги

Полный текст
# Equity Positioning: 13F + Form 4


# Equity Positioning: 13F + Form 4

SEC regulatory filings that capture **positions** and **insider activity**
at the equity level. All data is public domain (SEC EDGAR). Respect the
10 req/sec rate limit via a descriptive `User-Agent` — downloaders here
handle this automatically.

## Datasets

| Dataset | Filing | Universe | Script | Loader(s) |
| --- | --- | --- | --- | --- |
| Institutional holdings | 13F | Curated 10 managers (per-cik) or full universe (bulk) | `13f_download.py` | `load_institutional_holdings_13f`, `load_13f_stock_features`, `load_13f_edges`, `load_13f_bulk_holdings` |
| Insider transactions | Form 4 | User-chosen tickers | `form4_download.py` | Raw XML — read directly via `pathlib` (see Ch4 NB 03) |

## Download Commands

```bash
# === 13F (institutional holdings) ===

# per-cik (default): 10 curated managers, 4 most recent 13F-HR filings each
uv run python data/equities/positioning/13f_download.py
uv run python data/equities/positioning/13f_download.py --num-filings 8
uv run python data/equities/positioning/13f_download.py --max-institutions 3

# bulk: one or more quarterly filing windows (SEC's own labels)
uv run python data/equities/positioning/13f_download.py --mode bulk --quarters 2024Q3
uv run python data/equities/positioning/13f_download.py --mode bulk --quarters 2024Q2,2024Q3

# === Form 4 (insider transactions) ===

uv run python data/equities/positioning/form4_download.py --ticker TSLA --count 20
uv run python data/equities/positioning/form4_download.py --ticker TSLA,AAPL,MSFT --count 10
```

## Directory Layout

```
$ML4T_DATA_PATH/equities/positioning/
├── 13f/
│   ├── institutional_holdings.parquet       # per-cik: raw holdings (10 curated managers)
│   ├── institution_stock_edges.parquet      # per-cik: institution → stock edges
│   ├── stock_features.parquet               # per-cik: stock-level features
│   ├── coownership_matrix.npy               # per-cik: stock × stock similarity
│   ├── coownership_stocks.txt               # per-cik: row/col CUSIPs
│   └── bulk/
│       └── {YYYYQN}/
│           ├── institutional_holdings.parquet   # bulk: full-window universe (~3M rows)
│           └── bulk_13f.zip                     # cached raw SEC zip
└── form4/
    └── {TICKER}/{accession}.xml             # Raw Form 4 insider filings
```

## Loading

```python
from data import (
    load_institutional_holdings_13f,
    load_13f_stock_features,
    load_13f_edges,
    load_13f_bulk_holdings,
)

# 13F per-cik (curated managers)
holdings = load_institutional_holdings_13f(start_date="2024-01-01")
features = load_13f_stock_features()
edges = load_13f_edges()

# 13F bulk (full universe, one quarter)
q3_2024 = load_13f_bulk_holdings("2024Q3")
```

The holdings schema preserves both SEC dates: `report_date` is the quarter-end
position date and `filing_date` is when the filing became public.

## Consumers

- **Ch4 NB 03** — Form 4 insider-transaction parsing
- **Ch4 NB 05** — Full-universe 13F analysis via `--mode bulk`
- **Ch10 NB 02** — Asset embeddings from 13F holdings
- **Ch22 NB 07** — Institutional ownership graph + crowding signals
- **Ch23** — `09_knowledge_graph_features`, `05_institutional_holdings_kg`, `04_rag_comparison_benchmark`

Полный текст с указанием источника опубликован на условиях его лицензии. Лицензия: MIT

Это краткое изложение подготовлено исследовательским агентом Stratmill по оригиналу и не является его копией.