I'm working on a project to extract the reporting data of federal financial institutions from the FFIEC site (using Python programming). The data is coming from the Uniform Bank Performance Report (UBPR) which is in XBRL format -- a standard for business reporting in XML files.
Here is a quick look at the data I have retrieved:
<context id="CI_XYZ_2017-03-31"> <entity> <identifier scheme="http://www.ffiec.gov/cdr">XYZ</identifier> </entity> <period> <instant>2017-03-31</instant> </period> </context> ... <unit id="USD"> <measure>iso4217:USD</measure> </unit> ... <uc:UBPR4635 contextRef="CI_XYZ_2017-03-31" unitRef="USD" decimals="0">6000</uc:UBPR4635> <uc:UBPR4107 contextRef="CI_XYZ_2017-03-31" unitRef="USD" decimals="0">3471000</uc:UBPR4107>
Everything in the snippet above except for the last two lines seems to contain metadata on the bank and the reporting period. According to this PDF published by the FFIEC, the codes UBPR4635 and UBPR4107 represent "Gross Credit Losses" and "Total Interest Income", respectively. So the last two lines say that Bank XYZ reported \$6000 in gross credit losses and \$3,471,000 in total interest income for the reporting period ending 3/31/2017.
I have a few questions to help me better understand and parse this content:
- How are these files read in practice? Is there software available for working specifically with the UBPRs (in XBRL) from the FFIEC?
- Other than the PDFs provided here, is there a set of definitions for the UBPR codes (e.g., UBPR4635 and UBPR4107)? Ideally, I would like the information that is in these PDFs, but in a format that is easier for a computer program to parse, such as CSV or XML.
- The PDFs containing the definitions for the UBPR codes were recently updated on 6/5/17. Do the definitions change or are there rules against that? For example, UBPR4635 means "Gross Credit Losses" today, but could it mean something different in the next update?
I appreciate any help you can provide to answer these questions.