+ All Categories
Home > Documents > Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Date post: 22-Mar-2016
Category:
Upload: kay
View: 31 times
Download: 0 times
Share this document with a friend
Description:
19 th XBRL International Conference “Reducing regulatory burden with XBRL: a catalyst for better reporting” June 22-25, 2009 Paris, France. Case Studies in XBRL Solutions Formula developments for Multiple Instance processing Herman Fischer, UBMatrix and Mark V Systems. Topics. - PowerPoint PPT Presentation
Popular Tags:
39
19 th XBRL International Conference “Reducing regulatory burden with XBRL: a catalyst for better reporting” June 22-25, 2009 Paris, France Case Studies in XBRL Solutions Formula developments for Multiple Instance processing Herman Fischer, UBMatrix and Mark V Systems
Transcript
Page 1: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

19th XBRL International Conference“Reducing regulatory burden with XBRL: a catalyst for better reporting”

June 22-25, 2009Paris, France

Case Studies in XBRL SolutionsFormula developments for Multiple Instance

processingHerman Fischer, UBMatrix and Mark V

Systems

Page 2: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Use of formulas for validation Multi-instance

◦ Use for multiple instances◦ Use for chaining◦ Use for modularity

Other validation topics

Topics

Page 3: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Validations usually needed for◦ Completeness◦ Correctness◦ Consistency◦ Accuracy

XBRL validation ensures some of above Full validation was in applications Now formulas perform validation

Use of formulas for validation

Page 4: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Example view of SEC validationTaxonomy ValidationInstance Validation

• None yet. Examples might include:• Balance Sheets must balance• Ending balance = beginning + changes

• None yet. Examples might include:• Extension taxonomy must reference

standard formula linkbase

• DEI elements must be reported• CIK number must be used correctly• Dimensions only used within

segments

• Companies shall provide absolute paths for references to base taxonomies and relative paths for extension taxonomies.

• Naming standards must be followed• Calculations must trace correctly• Duplicate facts not allowed

• Naming standards followed• Tuples not allowed• Extensions cannot reuse base

element names

• XML Valid• XBRL Valid

• XML Valid• XBRL Valid

Page 5: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

5

Historical Perspectives 2002 - FDIC contract motivates solutions “ - Rule base Requirements IWD 2003 - XPath syntax chosen “ - Functions spec drafted. 2004 - Formula drafts, some implementations 2006 - Alternative approach with XQuery 2007 Jan- Issued Formula PWD Feb, Mar - Survey of users, feedback June, Dec, Feb – PWD updates after PWD feedbacks Mar 2008 – Candidate Release (spec) & Test Suite May 2008 – Implementations of processors Sept 2008 – Production formulas (COREP, FINREP) Dec 2008 – CR-2 (dimensions and other fixes) Jun 2009– Recommendation

FWGfollowsXBRL

process

Cheryl Neal
Are we requiring this outline from the speakers?
Page 6: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

6

Formulas & Assertions Assertion

o Existence check for source itemo Value check based on source items o Consistency check computed item to source item

Formulao Results in an fact item

o For an output instance documento For consistency checking of corresponding input

Page 7: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

7

Process flow of formula linkbase

Input inst.DTS

contextsunits

fact items

Formula LB*

FormulaProcessor

Output inst.computedfact items*Formula LB is part of DTS

Assertions existence

value consistency

Page 8: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

8

Input instance processing Instance provides producer’s taxonomy,

facts, and producer’s formulas Consumer may attach their formulas Formula processor evaluates variables,

preconditions, assertions and formulas Report of assertion test results Output instance of result fact items

Page 9: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

9

Formula linkbase contents

Input inst.DTS

contextsunits

fact items

FormulaProcessor Output inst.

computed fact items

Formula LB*

Parameter(select expr.)

customfunction

variable filter

label ref.

formulaarc

precondition

*Formula LB is part of DTS

Assertionsconsistencyexistence

value

assertion

Page 10: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

10

Four processing models

Consistency AssertionEvaluate formulaCompare to source fact

◦v-equals or value radius

FormulaEvaluate variablesProduce new fact item of

◦Value expression◦Aspects rules

Existence AssertionCount evaluations

◦variables & preconditions

Apply a test to the count

Value AssertionEvaluate variablesApply testing expression

Page 11: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

11

Examples of each model

Consistency AssertionReported item matches computed item

◦Assets◦Ending balance

FormulaAssets = liabilities + equityEnding balance = starting balance + flows

Existence AssertionTotal assets is reportedCorrect entity is reportedNo fact after cut off date

Value AssertionRatio > minimum

◦Capital adequacy ratio > 8%◦Interest cover ratio > 2.5%

Cash balance is positive

Page 12: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Status = “Recommendation” Four “known” implementations

◦ Fujitsu & UBmatrix conformant, in production use◦ CompSci Resources & New Lido projects

Major stake holders◦ BdE, BdF, BoJ, SEC deployed◦ FDIC has early-IWD formulas

Formula Status

Page 13: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

13

Specifications are Extendable Capabilities per specification

◦ Producing fact items (output instance document) Single input instance, single output instance

◦ Assertions for Consistency (produced fact vs. reported fact) Existence Value

Extension areas

Page 14: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

14

ExtensionsPrototyped Custom functions in XPath Message composition Multi-instance processing Formula chaining Tuple generation Linkbase & footnotes processingInteresting ideas Very Large Instances processing

Page 15: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Multiple companies reporting◦ Different company extension taxonomies

Multiple periods reporting◦ Different taxonomy year, linkbases changed

Multiple types of reports◦ Different taxonomies for each

Why need multi-instance?

Page 16: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Why need multi-instance /multi-taxonomy Formulae? Cross Industries Reporting Analysis

◦ Different company extension taxonomies Cross Border Reporting Analysis

◦ Different country taxonomies: - Public Company F.S.: EDINET (Japan) and US Gaap (USA) - Private Company F.S.: Infogreffe (Fr), NBB (Belgium), Infocamere (It)…

Cross Financial & Prudential Reporting Analysis◦ Different taxonomies e.g. FINREP & COREP

Cross Multi-Data Sources Analysis◦ Different taxonomies for each Data Sources:

- Statistics Bureau & Corporate Registry- Stock Exchange & Statistics Bureau

Page 17: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Usually multiple quarters or years Different taxonomies per year

◦ Namespaces change◦ Linkbases change

Linkbases change per year◦ Subtrees in vicinity of reported concepts

May not be mergable

Merging instances, first idea

Page 18: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

18

Merging formula input instances

Prior 2 Yr

Formula LB

FormulaProcessor

Output inst.computedfact itemsFacts merged

conceptRefs ‘hacked’Extend DTS to union of input DTSes namespaces ‘hacked’

Assertions existence

value consistency

Merged inst.DTS

contextsunits

fact items

MergePrior 1 Yr

Current Yr

Page 19: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Issues to merge instances◦ Taxonomies differ?

Concepts change with changes in law, practice Dimensions change Tree relationship in presentation, definition change Namespaces change

◦ ContextRef’s will be changed in merging E.g., current-yr-consol, prior-yr-consol May be constraints on altering contextRef’s

Handling multiple instances

Page 20: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Each instance loaded with its taxonomy Formula terms refer to nodes, which know

their enclosing document Schemas and linkbases kept separate

Multi-instance formulas

Page 21: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

21

Multi-instance formula inputs

Formula LB

FormulaProcessor

Output inst.computedfact items

Assertions existence

value consistency

Prior 2 Yrprior 2 DTS

each fact variableknows source DTS

Prior 1 Yrprior DTS

Current Yrcurrent DTS

instances loadedwith their DTSes

Page 22: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Multiple entity instances◦ Same period but different entities◦ Different company extension taxonomies

Multiple period instances◦ Taxonomies change◦ Namespaces change◦ Linkbases and dimension aggregations change

Multiple types of reports◦ Different taxonomies for each

Multiple instances

Page 23: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

23

Muti-instance solves chaining A simple approach to chaining Common solution to multi-instance and

chaining Multi-instances can be ‘scratch-pads’ during

computation Applies to very large instance solution

Page 24: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

24

Multi-instances for chaining

Input inst. FormulaProcessor

Output inst.

Formula LB

Parameter(select expr.)

customfunction

variable filter

formulaarc

*Formula LB is pat of DTS

Assertions

assertion

Input inst.Input inst.

Temp. inst.Temp. inst.Temp. inst.

Page 25: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

25

Planned multi-instance solution Instances are represented by a resource instance-variable arc to variable

◦ If present, specifies non-default source instance formula-instance arc from formula

◦ If present specifies the instance to receive fact Instance resources are files or temporary

Page 26: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

26

Instance resources Could be loaded by processor

◦ E.g., java code in a server loads primary instance and some prior-period or other-company instances

◦ Or user of GUI adds ‘additional’ instances, such as loading prior-period or other-company instances

Default implied source and result instances Can be temporary in memory only

◦ Used for chaining and modularization

Page 27: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

27

Aspect sources, implicit filtering Formula aspects come from its variables Variables from different instances contribute

aspects◦ Aspects independent of the instances they come

from◦ Aspect “covering” is by-aspect, not by-instance

Page 28: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

28

A=B+C; C=D+E use case (Multi-instance chaining)

Formula 1 (A=B+C)◦ Result is A, factVariables B & C◦ factVariable B is from source instance (default)◦ factVariable C is from result instance (has an arc)

Formula 2 (C=D+E)◦ Result is C, factVariables D & E◦ factVariables D & E are from the source instance

Page 29: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

29

A=B+C; C=D+E (Example 0026 v-01) Multi-instance chaining

Formula evaluationA = B + C (from above)

$b

fact Ato result instance

factVariable

$c

filter(s)

V-F

factVariablefilter(s)

V-F

formula evaluationC = D + E

$e

fact C

to result instance

fact & gen’l variables by dependency, precondition, result, then varSet arcs to nested varSets (e.g., consis or tuple)

factVariable

$d

filter(s)

V-F

factVariablefilter(s)V-F

location aspectfor nested results

source instance (default)

result instance

source instance (default)

source is the result instance

source instance (default)

result instance (default)

result instance (default)

Page 30: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

30

COREP Use case 18: Weighted average of member children Weighted average of its dimensional children

by another primary item

ii

iii

dp

dpdpdp

)(

)()()(

.12

.12.11

11

Primary items ==>PD Assigned to the obligor grade Exposure value

Capital requirements

Total Exposures (dimension) 60% 26.750,00 € 1 Assigned to obligor grade 27% 1.250,00 € Obligor grade 1 10% 100,00 € Obligor grade 2 20% 150,00 € Obligor grade 3 30% 1.000,00 € 2 Specialized lending slotting 62% 25.500,00 € Risk weight 0% 50% 500,00 € Risk weight 10% 75% 20.000,00 € Risk weight 150% 10% 5.000,00 €

Page 31: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

31

Current single-formula solution Excel formulas:

Make PD controlling fact, get PD and EV of dimensional children

General variable for PDxEV member matching

Primary items ==> PD Assigned to the obligor grade Exposure value Capital requirementsTotal Exposures (dimension) =(B3*C3+B7*C7)/C2 =C3+C7 1 Assigned to obligor grade =(B4*C4+B5*C5+B6*C6)/C3 =SUMA(C4:C6) Obligor grade 1 0,1 100 Obligor grade 2 0,2 150 Obligor grade 3 0,3 1000 2 Specialized lending slotting =(B8*C8+B9*C9+B10*C10)/C7 =SUMA(C8:C10) Risk weight 0% 0,5 500 Risk weight 10% 0,75 20000 Risk weight 150% 0,1 5000

Page 32: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

32

<f:formula ... value="$v:sumPDxEV div sum($v:EVkids)" source="v:PD" />

Tests PD of input instance is within ½% of weighted average value

E-L

factVariablePD

factVariablePdkids

(sequence)

Binds to any PD fact

Sequence of PD values for dimensional children of $PD

E-L

E-L

conceptName filterqname c:PD

label resources

explicitDimension filter, axis=childdimension qname c:ExposuresDimensionvariable c:PD

Pdkids & Evkids depend on PD, PDxEV

on both Pdkids & EVkids

factVariableEVkids

(sequence)

conceptName filterqname c:EV

Sequence of PD values for dimensional children of $PD

E-L

preconditiontest=”count($PDkids) eq count($EVkids)

and sum($EVkids) gt 0"

general variable sumPDxEVsum( for $pd in $PDkids, $ev in $EVkids[xfi:dimension-value(.,QName(‘ExposuresDimension’) = xfi:dimension-value($pd,QName(‘ExposuresDimension’)] return $pd * $ev )

Sequence of ev x pd for matching dimensions

consistencyAssertion strict="false" acceptRadius=".005"

Single formula (Example 0017 v-01)

difficultto explain

Page 33: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

33

Simplifying Formulas

Page 34: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

34

Exposure value formula Each PD x EV produced by one formula

◦ Result factItem PDxEV is the product for each dimension value

Second formula binds PDxEV’s of dim-children to sequence and EV’s of dim-children to second sequence, value assertion checks result

Page 35: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

35

New idea: multiple result instances The PDxEV result fact items aren’t needed

for a real result instance Only a value assertion is really needed A temporary-results instance in-memory

◦ Like a scratch-pad Also a temporary facts DTS would be

needed (to define the PDxEV result fact item)

Page 36: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

36

Chained formulas (0026 v-20)

<f:formula ... value="sum($v:PDxEVkids) div sum($v:EVkids)" source="v:PD" />

Tests PD of input instance is within ½% of weighted average value

factVariablePD

factVariableEVkids

(sequence)

V-F

Binds to any PD fact

Sequence of EV values for dimensional children of $PD

E-LconceptName filterqname c:PD

label resources

explicitDimension filter, axis=childdimension qname c:ExposuresDimensionvariable $PD

EVkids & PDxEvkids depend on PD,

PDxEV depends on above formula

factVariablePDxEVkids(sequence)

conceptName filterqname c:PDxEV

Sequence of PDxEV values for dimensional children of $PDfrom temp instance source

preconditiontest=”count($EVkids) eq count($PDxEVkids)

and sum($EVkids) gt 0"

consistencyAssertion strict="false" acceptRadius=".005"

<f:formula ... value="$v:PD * $v:EV" source="v:PD" conceptName=v:PDxEV/> (syntax abstracted)

Produces PDxEV for each dimension

factVariablePD

conceptName filterqname c:PD

factVariableEV

conceptName filterqname c:EV

conceptName filterqname c:EV

source instance (default)

result instance

fact PDxEV

Page 37: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

37

Implementation issues Multi-instance term binding

◦ Variables can be bound to different source instances

◦ (This already exists in xfi:inst() based solution.)◦ Each term in XPath ‘knows’ its instance/DTS (in

the internal model or DOM of implementation) Function binding

◦ A function with item results must keep the instance/DTS of the function result (based on the input terms)

Page 38: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Custom functions◦ Via function registry (e.g., Java implemented)◦ Via Xpath (e.g., in distributable linkbase)

Assertion messages

Other extensions in use

Page 39: Case Studies in XBRL Solutions Formula developments for Multiple Instance processing

Herm [email protected]

[email protected]+1-818-995-7671 +1-818-404-4708

THANK YOU!

Questions


Recommended