13f data parsing
[COLM'26] SkillLearnBench is the first benchmark for evaluating continual learning methods that automatically generate agent skills.
npx -y skills add cxcscmu/SkillLearnBench --skill 13f-data-parsingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
A skill for parsing and analyzing SEC Form 13F TSV files, including COVERPAGE, INFOTABLE, and SUMMARYPAGE, using pandas.
SKILL.md
1.6 KB, as published. Nobody here has run it
13F Data Parsing
This skill outlines how to process SEC Form 13F data structured as TSV files (COVERPAGE, INFOTABLE, SUMMARYPAGE, etc.).
Requirements
- pandas
- dask (optional for large files)
Common Operations
1. Loading the Data
Use pd.read_csv with sep='\t' to read the files. For large files like INFOTABLE.tsv, you might want to specify dtype or use low_memory=False.
import pandas as pd
coverpage_df = pd.read_csv('COVERPAGE.tsv', sep='\t', low_memory=False)
infotable_df = pd.read_csv('INFOTABLE.tsv', sep='\t', low_memory=False)
summary_df = pd.read_csv('SUMMARYPAGE.tsv', sep='\t', low_memory=False)
2. Finding Fund Accession Number
The COVERPAGE contains the name of the institutional investment manager.
# Assuming 'FILINGMANAGER_NAME' or similar column exists.
# We will use fuzzy matching to find the exact name.
3. Extracting Fund Details (AUM, Number of Holdings)
Once you have the ACCESSION_NUMBER, you can look it up in SUMMARYPAGE or INFOTABLE.
AUM can be calculated as the sum of VALUEDOLLAR (or similar column) in INFOTABLE for the specific accession number, or sometimes it's reported in SUMMARYPAGE. Number of holdings can be the count of rows in INFOTABLE for that accession number.
4. Analyzing Changes between Quarters
You can join INFOTABLEs from two quarters on CUSIP for a specific fund to find differences in share count or value.