get_13f_cik_allocation
One 13F filer's portfolio weights by sector or industry per quarter, compared with all institutions — the direct read for "how is this fund positioned" and where it tilts.
FLOW: list_options("institutional_managers", q="citadel") gives the CIK.
Returns {"cik", "group_by", "limit", "count", "rows"}, newest quarter first. A row is
{date, cik, manager_name, sector OR industry, positions, value, weight_pct,
previous_quarter_weight_pct, weight_chg_pts, all_institution_weight_pct, covered_value,
reported_portfolio_value, coverage_pct}.
READING THE NUMBERS:
- `weight_pct` IS A SHARE OF `covered_value`, NOT OF THE WHOLE PORTFOLIO. It covers long
stock positions mapped to a symbol; ETFs, unmapped CUSIPs and options are excluded.
Median coverage for Registered Investment Advisors is 41.5% of the reported portfolio.
ALWAYS report `coverage_pct` alongside a weight.
- `coverage_pct` and `reported_portfolio_value` are null except for the filer's latest
profiled quarter. Citadel reads 15.94% because its reported $875B is mostly options.
- `previous_quarter_weight_pct` is 0 if the filer held nothing in that group in a quarter
it filed, and null if it did not file that quarter.
- `all_institution_weight_pct` is null for a partial quarter. Tilt is `weight_pct` minus
this value; compute it, since it is not returned.
- A fully exited group has no row, so a quarter's `weight_chg_pts` won't sum to 0.
- Sector and industry labels are current, not historical.
DATA QUALITY: a small share of values are wrong as filed or parsed, and they are not
corrected, so an implausible value or jump may be a filer error.
A large filer's first call can take several seconds; repeats are far faster. An empty
result means no rows for that CIK (`note` is set only then). A 422 means a bad CIK or
limit. Requires auth (your MCP client attaches the OAuth bearer automatically).
Rate-limited 100/min; counts toward plan quota.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"cik": "<cik>"
},
"name": "get_13f_cik_allocation"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | The filer's SEC CIK, up to 10 digits. Get it from list_options("institutional_managers", q=...). | |
| limit | No | The filer's most recent quarters (1-8). Defaults to 8 for sector and 2 for industry (industry at 8 quarters is about 300 KB). | |
| group_by | No | Group by sector (default) or industry. Rows label the group under this field name. | sector |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | ||
| note | No | Set only when no rows came back: what an empty result can mean. | |
| rows | Yes | Newest quarter first, largest value first within it. Each row also carries `sector` or `industry`, per group_by. | |
| count | Yes | Rows returned: one per group per quarter. | |
| limit | Yes | Quarters requested, after the tool's default. | |
| group_by | Yes | "sector" or "industry": the field each row labels its group with. |