the xbrl bank call report (ffiec 031) in fibo

43
FIBO relationship to other Financial Industry Standards The XBRL Bank Call Report (FFIEC 031) in FIBO Jurgen Ziemer Ontologist at Jayzed Data Models Inc.

Upload: jurgen-ziemer

Post on 14-Apr-2017

138 views

Category:

Economy & Finance


0 download

TRANSCRIPT

Page 1: The XBRL Bank Call Report (FFIEC 031) in FIBO

FIBO relationship to other Financial Industry Standards The XBRL Bank Call Report (FFIEC 031) in FIBO

Jurgen ZiemerOntologist at Jayzed Data Models Inc.

Page 2: The XBRL Bank Call Report (FFIEC 031) in FIBO

2Finance key pointF

FIBO is key to better Data Management

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Getting started and integrating industry standards can be a challenge.

Page 3: The XBRL Bank Call Report (FFIEC 031) in FIBO

3Finance key pointF

You are here to leverage FIBO

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

F

P

A

Page 4: The XBRL Bank Call Report (FFIEC 031) in FIBO

4Finance key pointF

Complexity overwhelms Conventional Data Management.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Consolidated Life New York offices, 1960. (Jack Lemon in Billy Wilder’s “The Apartment”, MGM)

Hundreds of people mapping between numerous heterogeneous systems, languages, components…

Page 5: The XBRL Bank Call Report (FFIEC 031) in FIBO

5Finance key pointF

Industry standards and regulations drive FIBO programs. FIBO resolves data management complexity.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Standards

Regulations

FIBO

In semantic compliance everything is a triple.

Page 6: The XBRL Bank Call Report (FFIEC 031) in FIBO

6Finance key pointF

Onboarding industry standards, compliance forms and reports into FIBO is an easy 2-step process.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Source Ontology Staging

FIBOExtract Transform Load

The XBRL and Call Report ontology are Open Source. (same MIT-license as FIBO)

1 2

Semantic ETL

Page 7: The XBRL Bank Call Report (FFIEC 031) in FIBO

7Finance key pointF

Extract the industry standard XBRL regulatory report FFIEC 031 into Ontology Staging.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Reverse engineer

OWL Staging

Call Report 031Federal Financial Institutions Examination CouncilFederal Deposit Insurance Corporation

Page 8: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 8Program explanationP

XBRL is the global standard to exchange business reports.

eXtensibleBusinessReportingLanguage

XBRL Ontology is a complete 1-to-1 representation of the XBRL schema

XML/XSD RDF/OWL

Page 9: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 9Architecture detailsA

XBRL separates reporting items from presentation, calculation and edit checks.

Xlink is a W3C extension to XML that provides methods for creating links between documents

linkbase utilizes Xlink with a framework to define roles and relations of instance items for presentation, calculation, and edit checks.

instance defines the basic reporting items with their meta-data, context units, datatypes and format.

Benefit: We only have to load instance data into the ontology, independent of the report structure.

Page 10: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 10Architecture detailsA

Each namespaces in the XML schema files becomes an ontology file.

Xlink.xsdlinkbase.xsdinstance.xsd

XBRL source schema Topbraid XSD import XBRL ontologies

Page 11: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 11Architecture detailsA

XSD complex types and attribute groups become ontology classes.

The sxml:tag refers to the original XSD component.

Page 12: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 12Program explanationP

XBRL taxonomies define specific sets of reports.

Call Report GAAP IFRS Solvency

imports

The OWL taxonomy representation extends the XBRL base classes with subtypes for specific reporting items, sections, tables, and calculations

Page 13: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 13Architecture detailsA

FFIEC provides schema and Bank call reports

Page 14: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 14Architecture detailsA

The Bank ontology has an OWL version of the FFIEC taxonomy

The XBRL instance ontology

FFIEC extensions to XBRL Item Types

FFIEC Micro Data Reference Manual (MDRM) concepts that define instance items. >4,200 subclasses of instance:item

The reverse engineered XBRL instance (JPM Chase 09/30/2016) that hold the data values.

Page 15: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 15Architecture detailsA

The FFIEC instance file is a simple list of reporting items values.

<cc:RSSD9017 contextRef="CI_852218_2016-09-30">JPMorgan Chase Bank, National Association</cc:RSSD9017>

The import generates instances of the FFIEC concept class - here RSSD9017(Legal Title of bank).

Page 16: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 16Program explanationP

A query on the populated ontology matches the FFIEC individual institution download.

Institution Name JPMORGAN CHASE BANK, NATIONAL ASSOCIATIONCity COLUMBUSState OHZip Code 43240Call Report Date 9/30/2016

Short_Definition ValueReporting date 20160930FDIC certificate number 628

Legal title of bank

JPMorgan Chase Bank, National Association

City ColumbusState abbreviation OHZip code 43240

FFIEC download. Ontology query results

Page 17: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 17Architecture detailsA

We reverse engineer the FFIEC taxonomy into OWL

The taxonomy ontologies import XBRL-linkbase: edit checks, calculations, presentation, definitions, captions, instructions, and edit check messages.

Page 18: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 18Architecture detailsA

We validate the import reproducing the FFIEC report in SPARQL, the ontology query languageSELECT  ?Call_Date ?Bank_RSSD_Identifier ?MDRM ?Value ?Short_Definition ?Call_Schedule ?Line_NumberWHERE {    ?end_date_inst a instance:ContextPeriodType .    ?end_date_inst instance:instant ?instant .    BIND (xsd:string(?instant) as ?Call_Date) .    ?ident a instance:ContextEntityType-identifier .    ?ident composite:child ?ident_node .    ?ident_node sxml:text ?Bank_RSSD_Identifier .…    BIND ( fn:substring (?lb_label_loc, 4) AS ?MDRM) .    ?lb_loc ffiec-w3-xlink:label-loc ?lb_label_loc .    ?ffiec_concept rdfs:label ?MDRM .    ?ffiec_concept rdfs:subClassOf* instance:ItemAttrs .    ?concept_inst a ?ffiec_concept .    ?concept_inst composite:child ?text_node .    ?text_node sxml:text ?Value .}ORDER BY ?Call_Schedule ?Line_Number

Similar to SQL, the SELECT specifies the result set columns

The WHERE clause joins the triplets.

ORDER BY provides the sorting.

Page 19: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 19Architecture detailsA

The FFIEC excel (SDF on top) and SPARQL result set.

http://bankontology.com/br/query/Call%20Report%20JPMC%2020160930%20query%20results.xlsx

https://cdr.ffiec.gov/public/ManageFacsimiles.aspx

Page 20: The XBRL Bank Call Report (FFIEC 031) in FIBO

20Finance key pointF

Transform XBRL staging data and load into FIBO classes.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

FIBOInference

Engine

SPARQL

OWL Staging

Page 21: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 21Program explanationP

We graphically map FFIEC XBRL MDRM into FIBO classes.

OWL Staging FIBO

Page 22: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 22Architecture detailsA

The Legal Entity ID provides the URI local name

The argument is the value of the Legal Entity Identifier in reporting item RSSD9017.

The template builds the URI asFIBO-prefix : FIBO-class _ “LEI” argument

http://www.omg.org/spec/EDMC-FIBO/BE/LegalEntities/LEIEntities/LegalEntityIdentifier_LEI_7H6GLXDRUGQFU57RNE97

Page 23: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 23Architecture detailsA

The data property mapping assigns the MDRM value to the FIBO unique identifier.

The mapping context from Staging class to FIBO class

Source and target data property

Page 24: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 24Architecture detailsA

SPARQL rules specify complex data transformations.

The hasSourceInstance object property provides data lineage. For every FIBO instance, we have a link to its original instance in the Call Report.

The BIND function uses the mapping context to determine the FIBO target instance

Page 25: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 25Program explanationP

The inference engine (Reasoner) populates FIBO.

FIBOInference

Engine

SPARQL

OWL Staging

We validate FIBO data, mapping, and lineage.

Page 26: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 26Architecture detailsA

The Legal Entity Identifier class has a new instance

The source instance points to the original FFIEC instance.A SPARQL rule has populated the link to the FIBO Corporation instance.

The unique identifier shows the correct LEI.

Page 27: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 27Architecture detailsA

The resource graph shows populated FIBO instances and their relationships.

Page 28: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 28Architecture detailsA

The data query traverses the joins and shows data properties

institution_nameJPMorgan Chase Bank, National Association

lei 7H6GLXDRUGQFU57RNE97country_name United Statesstate_name Ohioissued_capital $176,083,000,000fdic_certificate 628regulator FDIC

registration_directory FDIC Institution Directory

SELECT ?institution ?lei ?country_name ?state_name ?issued_capital ?fdic_certificate ?regulator ?registration_directoryWHERE { ?corporation fibo-fnd-aap-agt:hasName

?institution . ?corporation

fibo-be-le-fbo:hasRegisteredAddress ?registered_address .

…. ?institution_directory rdfs:label ?registration_directory .}

Page 29: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 29Architecture detailsA

The mapping query lists source to target class.

Mapping is in triples.

Page 30: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 30Architecture detailsA

The lineage graph connects FIBO to Call Report instances via the hasSourceInstance property

SELECT ?fibo_class ?fibo_inst ?call_cert_inst ?ffiec_class ?xml_tagWHERE { ?fibo_inst fro-ref:hasSourceInstance ?call_cert_inst . ?call_cert_inst a ?ffiec_class . ?fibo_inst a ?fibo_class . ?ffiec_class sxml:tag ?xml_tag}

Linage is in triples.

Page 31: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 31Architecture detailsA

The lineage query results trace the FIBO instance back to its XBRL source record.

[fibo_class] fibo_inst call_cert_inst ffiec_class xml_tag

fibo-be-le-cb:StockCorporation

fibo-be-le-cb:StockCorporation_LEI_7H6GLXDRUGQFU57RNE97

<file:///BankOntology/data/Call_Cert628_093016.xml#r-2169> ffiec-concept:RSSD9017 http://www.ffiec.gov/xbrl/call/co

ncepts#RSSD9017fibo-be-le-lei:LegalEntityIdentifier

fibo-be-le-lei:LegalEntityIdentifier_LEI7H6GLXDRUGQFU57RNE97

<file:///BankOntology/data/Call_Cert628_093016.xml#r-1084>

ffiec-concept:RCON9224

http://www.ffiec.gov/xbrl/call/concepts#RCON9224

fibo-fbc-fct-fse:DepositoryInstitution

fibo-fbc-fct-fse:DepositoryInstitution_LEI_7H6GLXDRUGQFU57RNE97

<file:///BankOntology/data/Call_Cert628_093016.xml#r-2169> ffiec-concept:RSSD9017

http://www.ffiec.gov/xbrl/call/concepts#RSSD9017 fibo-fbc-fct-usjrga:

FDICCertificateNumberfibo-fbc-fct-usjrga:FDICCertificateNumber_628

<file:///BankOntology/data/Call_Cert628_093016.xml#r-642> ffiec-concept:RSSD9050

http://www.ffiec.gov/xbrl/call/concepts#RSSD9050

FIBO Ontology Staging

XBRL Source

Page 32: The XBRL Bank Call Report (FFIEC 031) in FIBO

32Finance key pointF

The reverse – populate the Call Report out of FIBO.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

FIBOOWL Staging

FFIEC 031Call Report

ExportSemantic ETL

Page 33: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 33Program explanationP

Map FIBO into FFIEC 031 staging classes.

Our example, the FIBO registration address maps to 3 FFIEC MDRMs.

Page 34: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 34Architecture detailsA

The mapping is a reversal of the Staging to FIBO mapping context.

Unfortunately there is no “reverse mapping” ETL button.

We have to specify• How to build (match) the Staging URI• Transform FIBO formats into FFIEC formats.• The UPDATE operation is still a challenge.The Staging to FIBO mapping context query, provides our to-do list.

Page 35: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 35Architecture detailsA

Test case: JPM Chase moves to Vermont

We change the bank’s city, subdivision and postal code.

Page 36: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 36Architecture detailsA

We run the inference engine and examine results.

The resource form for city is an instance of MDRM RSSD9130.

The text node has changed to Montpelier (capital of Vermont).

Page 37: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 37Program explanationP

Export the staging into FFIEC compliant XBRL.

Line 1968 shows the updated city. The XBRL is valid.

Page 38: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 38Architecture detailsA

We export the modified staging OWL into XML.

We invoke the export dialog for the staging OWL file.

The root instance “#r” will export all semantic XML triples.

Page 39: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 39Architecture detailsA

Namespaces and imports

http://www.xbrl.org/

http://www.ffiec.gov/xbrl/call/

http://finregont.com/fro/xbrl/

http://bankontology.com/br/

http://www.omg.org/spec/EDMC-FIBO/

owl:imports

owl:imports

reverse engineer

reverse engineer

xml namespace

Page 40: The XBRL Bank Call Report (FFIEC 031) in FIBO

40Finance key pointF http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Consolidated Life New York offices, 1960. (Jack Lemon in Billy Wilder’s “The Apartment”)

Hundreds of people mapping between numerous heterogeneous systems, languages, components…

Page 41: The XBRL Bank Call Report (FFIEC 031) in FIBO

41Finance key pointF

Industry standards and regulations drive FIBO programs. FIBO resolves data management complexity.

http://finregont.com http://bankontology.com © Jayzed Data Models Inc. 2017

Standards

Regulations

FIBO

Everything is a triple

Page 42: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 42Program explanationP

XBRL Ontology Staging FIBO

Lessons learned:

FIBO has good support for compliance. We canload XBRL data into FIBO andgenerate the Call Report out of FIBO.

FIBO is too assertive. Have more defined classes!

XBRL import and transformations are slow.

Page 43: The XBRL Bank Call Report (FFIEC 031) in FIBO

http://finregont.comhttp://bankontology.com © Jayzed Data Models Inc. 2017 43Architecture detailsA

References1. Tutorial : http://finregont.com/financial-regulation-ontology-tutorial/

Chapter one has an into to OWL, FIBO, and the Legal reference ontology. There is also a getting started with Protégé section.Chapter two shows XML source import in depth for Code of Federal Regulations and United States Code.

2. XBRL Ontology: http://finregont.com/xbrl/Includes links to the ontology files and documentation.

3. Bank ontology: http://bankontology.com/ontology-directory-files-prefixes/ 4. XBRL consortium, US website: https://xbrl.us/ 5. FFIEC taxonomy and data download: https://cdr.ffiec.gov/public/Default.aspx 6. Topbraid Composer website:

http://www.topquadrant.com/tools/IDE-topbraid-composer-maestro-edition/