Skip to main content

Institutional Ownership

Overview

Every calendar quarter, asset managers are required to disclose positions they hold that could impact the ownership of public companies. These are commonly thought of as hedge funds and other "smart money". While the raw filings are public, no effort to validate, correct, combine, map or aggregate is done until they are processes by QUANTkiosk.

Key Facts

dataset
  • Sourced: SEC 13F-HR 13F-HR/A 13F-NT 13F-NT/A
  • Reporting Frequency: quarterly (45 days after end of calendar quarter)
  • Request Period: yyyyqq = report period
  • Updated: intraday nightly
  • Mapped: qkid cik ticker
  • Amendments: true
  • Views: aggregated original
  • API: R python bulk complete
coverage
  • Countries: US
  • Dates: Pre-2013† 2013-Present
  • Managers: 14,000+
  • Instruments: 60,000+ Equity ADR ETF Converts Warrants Options

Find Filer

Filers are entities — e.g. hedge funds or banks. They file with the SEC using their assigned CIK, though this may change over time. As with the rest of the API, we require a QKID (class of qkid) to query for data. To locate a filer's CIK, we have two methods to specify which manager you are seeking.

One option is to pass the CIK into the cik function to convert to a QKID. Yet another is to use our built in search tool.

import qkiosk as qk
# If you know the fund's CIK just use `qk.cik`

qk.cik(1423053)
# Out[1]: qkid: ['0001423053.0000.E0000UI19']

# you can also find the filer's QKID using the built in `seach_mgr` function

qk.search_mgr("citadel")
#
# 1. CITADEL ADVISORS LLC
# 2. CITADEL INVESTMENT ADVISORY INC.
#
# ...
#
# 9. CITIZENS NATIONAL BANK TRUST DEPARTMENT
# 10. CI PRIVATE WEALTH LLC
#
# Selection: 1
# Out[2]: qkid: ['0001423053.0000.E0000UI19']

# alternately you can even copy and paste a string into
# the `qkid` constructor to make a valid `qkid` object

qk.qkid('0001423053.0000.E0000UI19')
# Out[3]: qkid: ['0001423053.0000.E0000UI19']

Holdings - Aggregated

The most compact view of a position held by a fund is the aggregated view, which is the default for querying. This takes all reported positions by instrument and combines into one aggregated position.

For example, if a filer is reporting for 3 submanagers and each holds 100, 250, and 130 shares of a company — the instrument would be reported as one row holding 480 shares.

import qkiosk as qk

qk.institutional(qk.cik(1423053), 202504)

# -- or --

qk.institutional(qk.qkid('0001423053.0000.E0000UI19'), yyyyqq=202504)


Holdings - Submanagers

Conversely, the original disclosure would have a record for each manager or combination of managers. This is the "submanager" view which is useful if you are looking to examine strategies amongst managers. This data is more feature rich, as will contain more rows to fascilitate. This is effected by setting the agg= argument to false.

Additional fields in the submanager view (selected via agg= argument):

  • inclMgrs
  • invDiscretion
  • otherManager
  • otherManagerName
  • otherManagerFileNumber
  • votingAuthSole
  • votingAuthShared
  • votingRightsNone
import qkiosk as qk
# View Citadel's holdings for the asset management business and market making

qk.institutional(qk.cik(1423053), 202504, agg=False)

Sample Data

QK uniquely provides two views into an institutions holdings:

  • an aggregated (all submanagers holding same intrument are rolled into one record)
  • a broken-down view based on submanager reporting

This allows for the researcher to decide what is important for a particular thesis at runtime, instead of at data acquisition.

If a manager reports for other managers (aka submanager), the hasOtherManager field is marked as true if position includes submanager position.

⬇️ Scroll to see all fields:


Download full 14801 rows: qk-ownership-institutional-aggregated.csv

Data Dictionary

Reference Documentation

A canonical reference for data returned from institutional functions. There may be "Type" differences by language.

Please refer to the language specific API for details.

Notes include:

  • qk added are fields that are derived or calculated by QUANTkiosk to facilitate research and discovery.
  • submanagers are fields available to non-aggregated calls.
TypeDescriptionNotes
filerNamecharactername of filer (i.e. fund name)
filingcharactercanonical EDGAR® filing path
submissionTypecharacterfiling type: 13F-HR or 13F-HR/A (amended)
reportPeriodintegerperiod of report
filedDateintegerwhen the data was filed
inclMgrsintegernumber of submanagers reported for. See otherManagersubmanagers qk added
issuercharactername of instrument
titleOfClasscharactertitle or class name of instrument
issuerSICintegerofficial standardized industrial codeqk added
issuerSectorcharactertwo-character sector code from QUANTkiosk™qk added
issuerTickercharactercommon exchange tickerqk added
issuerQkidcharacterQKID™ symbol
valuedoublefair market value of position at end of report period
shrsOrPrnAmtintegernumber of shares held or principal amount
putCallcharacterone of PUT , CALL or empty
shrsOrPrnAmtTypecharactershares SH or principal PRN
invDiscretioncharactertype of discretion over investment decisionsubmanagers
votingAuthSoleintegernumber of shares of SOLE voting authoritysubmanagers
votingAuthSharedintegernumber of shares of SHARED voting authoritysubmanagers
votingAuthNoneintegernumber of shares of NONE voting authoritysubmanagers
portWgtdoubleportfolio weight (QK™ calculated)qk added
hasOtherManagerlogicallogical indicating if record is for other managerqk added
otherManagerintegerreference number of other manager(s) from filingsubmanagers qk added
otherManagerNamecharactername of other manager(s) from filingsubmanagers qk added
otherManagerFileNumbercharacterfile number of other manager(s)submanagers qk added
QtrsHeldintegerquarters held (QK™ calculated)qk added
QOQSshPrnAmtintegerquarter over quarter change in shares or principal amount of holding (QK™ calculated)qk added
QOQValuedoublequarter over quarter change in value of holding (QK™ calculated)qk added
QOQPortWgtdoublequarter over quarter change in portfolio weight (QK™ calculated)qk added
newOrDelcharacteris position NEW or DEL eted. See details. (QK™ calculated)qk added

Parameters

Reference Documentation

Always refer to the respective package for complete documentation and calling details.

ParameterTypeDescription
qkidsymbola qkid object representing the 'QKID™' of reporting institution or filer. Use qk_cik, qk_ticker, or similar. See qkid for details.
yyyyqqsymbola number of the form 'YYYYQQ' where 'YYYY' is a 4-digit year, and 'QQ' is a 2-digit quarter [00,01,02,03,04]. Use in conjuction with qtrs argument to request additional prior quarters in one call. Four digit values will be treated as a full year (i.e. 'YYYY') and expanded to YYYY00.
qtrsdoublenumber of previous quarters to request (including current yyyyqq.
agglogicalif TRUE, all other managers reporting are rolled up into one record, otherwise filing will contain other managers if filed for as distinct holdings for one or more of the same instruments.
waitdoubletime in seconds between calls.
quietlogicalmake request silent.