Download Slide 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Present value wikipedia , lookup

Financialization wikipedia , lookup

Business intelligence wikipedia , lookup

Transcript
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)
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.
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
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
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>
The proposed list of data types

TextDataType: implemented in 25
elements.

Examples:
Asset/description
 DividendPayout/dividendConditions
 BrokerEquityOption/brokerNotes
 TradeDifference/message
…

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>
The proposed list of data types

NameDataType: implemented in
32 elements.

Examples:
Account/accountName
 Party/partyName
 MutualFund/fundManager
 Bond/issuerName
…

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>
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
…
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.
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>
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"/>
The proposed list of data types

BasisPointDataType: implemented
in 4 elements/types.

Examples:
CashflowFixing/spread
 MakeWholeProvisions/recallSpread
 FloatingRateDefinition/spread
 FiniteDifferenceDerivativeParameters.mod
el/perturbationAmount

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"/>
The proposed list of data types

PerCentDataType: implemented in
40 elements/types.

Examples:
AssetPool/initialFactor
 BondContent.model/couponRate
 FixedAmountCalculation/fixedRate
 Tranche/attachmentPoint
…

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"/>
The proposed list of data types

RatioDataType: implemented in 19
elements/types.

Examples:
DividendPayout/dividendPayoutRatio
 CashflowCalculationPeriod/dayCountFracti
on
 FxAverageRateObservationDate/averageR
ateWeightingFactor
…

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"/>
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
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