getHolderIndustryBreakdown
Analyze how institutional investors distribute holdings across industries and sectors. Input CIK, year, and quarter to track changes in investment strategies over time.
Instructions
The Holders Industry Breakdown API provides an overview of the sectors and industries that institutional holders are investing in. This API helps analyze how institutional investors distribute their holdings across different industries and track changes in their investment strategies over time.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | Yes | CIK number | |
| year | Yes | Year of filing | |
| quarter | Yes | Quarter of filing (1-4) |
Implementation Reference
- src/tools/form-13f.ts:185-218 (handler)Server.tool registration and handler for getHolderIndustryBreakdown. Calls form13fClient.getHolderIndustryBreakdown(cik, year, quarter) and returns JSON-stringified results.
server.tool( "getHolderIndustryBreakdown", "The Holders Industry Breakdown API provides an overview of the sectors and industries that institutional holders are investing in. This API helps analyze how institutional investors distribute their holdings across different industries and track changes in their investment strategies over time.", { cik: z.string().describe("CIK number"), year: z.union([z.string(), z.number()]).describe("Year of filing"), quarter: z .union([z.string(), z.number()]) .describe("Quarter of filing (1-4)"), }, async ({ cik, year, quarter }) => { try { const results = await form13fClient.getHolderIndustryBreakdown( cik, year, quarter ); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } } - src/api/form-13f/types.ts:119-132 (schema)HolderIndustryBreakdown interface defining the response shape: date, cik, investorName, industryTitle, weight, lastWeight, changeInWeight, changeInWeightPercentage, performance, performancePercentage, lastPerformance, changeInPerformance.
export interface HolderIndustryBreakdown { date: string; cik: string; investorName: string; industryTitle: string; weight: number; lastWeight: number; changeInWeight: number; changeInWeightPercentage: number; performance: number; performancePercentage: number; lastPerformance: number; changeInPerformance: number; } - src/tools/form-13f.ts:185-219 (registration)Server.tool call registering 'getHolderIndustryBreakdown' with zod schema (cik, year, quarter) and the async handler. The registration is within the registerForm13FTools function.
server.tool( "getHolderIndustryBreakdown", "The Holders Industry Breakdown API provides an overview of the sectors and industries that institutional holders are investing in. This API helps analyze how institutional investors distribute their holdings across different industries and track changes in their investment strategies over time.", { cik: z.string().describe("CIK number"), year: z.union([z.string(), z.number()]).describe("Year of filing"), quarter: z .union([z.string(), z.number()]) .describe("Quarter of filing (1-4)"), }, async ({ cik, year, quarter }) => { try { const results = await form13fClient.getHolderIndustryBreakdown( cik, year, quarter ); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } } ); - API client method getHolderIndustryBreakdown that calls GET /institutional-ownership/holder-industry-breakdown with cik, year, quarter parameters, returning Promise<HolderIndustryBreakdown[]>.
async getHolderIndustryBreakdown( cik: string, year: string | number, quarter: string | number, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<HolderIndustryBreakdown[]> { return super.get<HolderIndustryBreakdown[]>( "/institutional-ownership/holder-industry-breakdown", { cik, year, quarter, }, options ); }