Country and currency codes
ISO Widely used Standards are used in a large number of XML schemas. RDF has an especially strong ability to mix and match vocabularies. Namespaecs might be controversial to some but they will keep us from having to develop these codes ourselves. Clearly, financial industry codes will be the building blocks of our Financial Semantic Web.
XML Financial dialects
There are a number of XML dialects that relate to the financial services industry. I will expand on them elsewhere but three will provide some key starting points. XBRL, FIXML, and MDDL were selected for their high levels of activity, relatively mature and well developed schemas and wide industry support. These cannot be ignored and support among the brokerage industry for FIX and among the accounting industry for XBRL is near unanimous.
So exactly what are the ISO standards that these XML dialects all refer to:
ISO XBRL FIXML MDDL Description iso3166 X X X Country Codes, 2 or 3 char (e.g. US) iso4217 X X X Currency Codes, 3 char (e.g. USD) iso639 X X Language Codes, 2 char (e.g. en) iso6166 X X ISIN/CUSIP International securities identification numbering system iso10383 X X MIC Market Identification Codes iso10962 X X CFI Classification of Financial Instruments iso9362 X BIC Bank Identification Code
There are other identifier schemes for Securities beyond ISIN (iso6166). Exchange codes or SEC CIK can be used. MDDL has MIC (exchange code) followed by symbol. http://www.mddl.org/ext/scheme/symbol?MIC= where 'MIC' comes from ISO 10383. MDDL also allows other symbol schemes with http://www.mddl.org/ext/scheme/symbol?CC= where CC options identified by MDDL are:
CC Name bloomberg Bloomberg L.P. comstock Com Stock, Inc., A division of Interactive Data Corp. ftid FT Interactive Data Corporation, A division of Interactive Data Corporation hyperfeed Hyper Feed Technologies Inc. reuters Reuters
For MDDL, all of the external vocabularies are located here This is a listing of codes for items. There are also other iso standards like iso8601 for date formats that are used but not part of the vocabulary of financial instruments.
Code mappings in RDF
Lets take iso3166 Country Code mappings for example.
First lets look at three lines from a text file:
AFGHANISTAN;AF FRANCE;FR UNITED STATES;US
Now lets look at the same three lines from the XML file. This is from the XML file provided from is iso site
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<ISO_3166-1_List_en xml:lang="en">
<ISO_3166-1_Entry>
<ISO_3166-1_Country_name>AFGHANISTAN</ISO_3166-1_Country_name>
<ISO_3166-1_Alpha-2_Code_element>AF</ISO_3166-1_Alpha-2_Code_element>
</ISO_3166-1_Entry>
<ISO_3166-1_Country_name>FRANCE</ISO_3166-1_Country_name>
<ISO_3166-1_Alpha-2_Code_element>FR</ISO_3166-1_Alpha-2_Code_element>
</ISO_3166-1_Entry>
<ISO_3166-1_Entry>
<ISO_3166-1_Country_name>UNITED STATES</ISO_3166-1_Country_name>
<ISO_3166-1_Alpha-2_Code_element>US</ISO_3166-1_Alpha-2_Code_element>
</ISO_3166-1_Entry>
</ISO_3166-1_List_en>
Lastly lets look at the same three lines from an RDF file. This comes from the DAML Country Code pages :
<?xml version='1.0' encoding='ISO-8859-1'?>
<rdf:RDF
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:NS0='http://www.daml.org/2001/09/countries/iso-3166-ont#'>
<rdf:Description rdf:about='#AF'>
<rdf:type rdf:resource='http://www.daml.org/2001/09/countries/iso-3166-ont#Country'/>
<NS0:code>AF</NS0:code>
<NS0:name>AFGHANISTAN</NS0:name>
</rdf:Description>
<rdf:Description rdf:about='#FR'>
<rdf:type rdf:resource='http://www.daml.org/2001/09/countries/iso-3166-ont#Country'/>
<NS0:code>FR</NS0:code>
<NS0:name>FRANCE</NS0:name>
</rdf:Description>
<rdf:Description rdf:about='#US'>
<rdf:type rdf:resource='http://www.daml.org/2001/09/countries/iso-3166-ont#Country'/>
<NS0:code>US</NS0:code>
<NS0:name>UNITED STATES</NS0:name>
</rdf:Description>
</rdf:RDF>
I will spend some time getting up close and personal with the RDF version making sure that it has the efficiency we need. Does <NSO:code> map with the namespace to a unique predicate that will allow for a single step from code to node? Without igniting any of the feirce epistimological debates that flare up, to what does a code refer. How and when should country be dereferenced if given as a code.
If the DAML ontology for iso 3166 is suitable, then we should be able to map the above ISO Standards similarly and provided them immediate use. ISIN/CUSIP numbers cannot be provided in their entirety for a number of reasons, but several thousand could quickly be harvested from SEC Edgar filings without getting into any CUSIP royalty battles with Standard and Poors.
class Test:
def TestFunction(self):
pass
Return to the FrontPage | Edit XbrlViewing | Title List
