FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June...

21
FpML Core Data Types Proposal to the Standards Committee “Core Data Types” Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings, JPMC)

Transcript of FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June...

Page 1: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

FpML Core Data Types

Proposal to the Standards Committee“Core Data Types”

Marc Gratacos, 4th June 2007 (based on the work developed by Matthew Rawlings, JPMC)

Page 2: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The problem today

There is no definition of field lengths in any FpML element Existing users have chosen different lengths

=> this may cause interoperability problems Example: Party A receives data that is not

able to store in database because it is larger than its maximum length accepted.

New users find no guidance on how define lengths => additional entry cost

Example: maxLen is undefined for many classes e.g. EntityName. Arbitrarily large fields cannot be supported in many technologies, e.g. RDBMS.

Page 3: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The problem today

FpML does not have a standard set of data types This is a cause of inconsistency across WGs

Example: inconsistent use of xsd:string versus xsd:normalizedString versus xsd:token

Page 4: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposal

An initial set of core data types for FpML TextDataType NameDataType CodeDataType

IndicatorDataType

NumericDataType BasisPointDataType PerCentDataType RatioDataType ValueDataType

Based on: FpML implementations Existing standards

ISO 15000-5 CCTS Core Data Types ISO 20022 Version 1 Repository ISO 20022 Version 2 Metamodel

Page 5: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

TextDataType: This Data Type is a character string that retains formatting. This Data Type could be used for: A description that is a representation of the properties

of an object in natural language A note that is a natural-language comment on a

situation or subject The purpose, expressed in text, of this document. It is

highly recommended the xml:lang attribute is used.<xsd:restriction base="xsd:string">

<xsd:whiteSpace value="preserve"/><xsd:minLength value="0"/><xsd:maxLength value="1048576"/>

</xsd:restriction>

Page 6: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

TextDataType: implemented in 25 elements. Examples:

Asset/description DividendPayout/dividendConditions BrokerEquityOption/brokerNotes TradeDifference/message …

Page 7: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

NameDataType: This Data Type is a word or combination of words used to name or define an object. The “Name Type” could be used for the following reasons: The name of a contact person. The account name of a financial account. The name of an organization.

<xsd:restriction base="xsd:normalizedString"><xsd:minLength value="0"/><xsd:maxLength value="255"/><xsd:whiteSpace value="collapse"/>

</xsd:restriction>

Page 8: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

NameDataType: implemented in 32 elements. Examples:

Account/accountName Party/partyName MutualFund/fundManager Bond/issuerName …

Page 9: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

CodeDataType: A character string of letters, numbers, special characters (except escape sequences), and symbols. It represents a definitive value, a method, or a property description in an abbreviated or language-independent form.

The content of CodeDataType is based on xsd:token. The CodeDataType could be used for the following

representations: A code specifying the reason for an allowance charge. A code specifying a classification of the business in a profile. A code specifying a type of contract such as a fixed price contract

or a time and materials based contract. A scheme code

<xsd:restriction base="xsd:token"><xsd:minLength value="0"/><xsd:maxLength value=“255"/><xsd:whiteSpace value="collapse"/>

</xsd:restriction>

Page 10: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

FpML defined schemes would require 60 characters maximum.

But we have other non-defined schemes like entityId, tradeId, which would require more characters.

255 characters is usually the maximum for a database field.

CodeDataType: implemented in 93 elements/types. Examples:

All coding schemes Routing/routingAccountNumber Mortgage/tranche …

Page 11: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

IndicatorDataType: This is the representation of a situation that has exactly two mutually exclusive Boolean values.

This data type can have the following values: true – Positive indicator value false – Negative indicator value “Indicator. Type” can be used for example: An indication of whether or not the allowance charge is

prepaid. An indication of whether or not the examination results in

approval. The indication of whether or not a requirement exists for

these instructions<xsd:restriction base="xsd:boolean">

<xsd:whiteSpace value="collapse"/></xsd:restriction>

Implemented to all elements using xsd:boolean type.

Page 12: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

NumericDataType: A Numeric is a decimal value for the representation of only numerical information that can not show as a percent, ratio or value. Only the content component of Numeric is relevant, and it could be represented as positive and negative numeric values. It can be realized be by using the built-in data type xsd:decimal.

<xsd:restriction base="xsd:decimal"><xsd:totalDigits value="60"/><xsd:fractionDigits value="30"/><xsd:whiteSpace

value="collapse"/></xsd:restriction>

Page 13: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

BasisPointDataType: A basis point is 1/10,000th or 1% of 1%. The Basis Point Type could be used for the following business relevant representations: The percentage of goods or services completed for this

contract. A basis point measurement of one object as part of

another object for this specific metric or set of metrics A basis point of the total estimated price that

constitutes the minimum threshold price.

<xsd:restriction base="NumericDataType"/>

Page 14: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

BasisPointDataType: implemented in 4 elements/types. Examples:

CashflowFixing/spread MakeWholeProvisions/recallSpread FloatingRateDefinition/spread FiniteDifferenceDerivativeParameters.mod

el/perturbationAmount

Page 15: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

PerCentDataType: The Percent Type could be used for the following business relevant representations: The percentage of goods or services completed for this

contract. A percentage measurement of one object as part of

another object for this specific metric or set of metrics A percentage of the total estimated price that

constitutes the minimum threshold price.

<xsd:restriction base="NumericDataType"/>

Page 16: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

PerCentDataType: implemented in 40 elements/types. Examples:

AssetPool/initialFactor BondContent.model/couponRate FixedAmountCalculation/fixedRate Tranche/attachmentPoint …

Page 17: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

RatioDataType: A Ratio is the relationship between two quantities, which is expressed as the quotient of the division of numerator by denominator. Ratio Type is derived from Numeric.

<xsd:restriction base="NumericDataType"/>

Page 18: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

RatioDataType: implemented in 19 elements/types. Examples:

DividendPayout/dividendPayoutRatio CashflowCalculationPeriod/

dayCountFraction FxAverageRateObservationDate/

averageRateWeightingFactor …

Page 19: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

The proposed list of data types

ValueDataType: This expresses the concept of numeric worth in general. Value is derived from Numeric. Therefore, the

representation from content component is exactly the same.

The Value could be used for the following business relevant representations:

A value of the allocation base used in an assessment or distribution.

A value-based specification of a priority. A value of a check digit for a bank account number.

<xsd:restriction base="NumericDataType"/>

Page 20: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

Benefits of consistent Core Data Types

Greater interoperability of FpML implementations

Less ambiguity and custom profiles in interpreting FpML

Clearer definition of FpML Consistency of FpML Increased alignment and influence

with ISO 20022 and ISO 15000

Page 21: FpML Core Data Types Proposal to the Standards Committee Core Data Types Marc Gratacos, 4 th June 2007 (based on the work developed by Matthew Rawlings,

Additional steps

Reach agreement at the AWG (done) Initial implementation (done) Get feedback from implementers Get feedback from working groups Implementation in version 4.4 Extend the coverage in a major version

(5.0) Date Scheme Quantity Monetary amount