MDDL Summary James E. Hartley Chief Technologist, FISD
Interest in MDDL is GOOD… • The Reference Data Story Plays Out • Securities Processing Automation (SPA) • Need to Reduce Operating Costs • Shift in Data Sourcing? MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
Items To Make MDDL Complete… • mddlQuery– Query Language • mddlService– Request/Response Mechanism • Documentation- “How To”, “What’s There” • Examples, Examples, Examples MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
But Our Organization is Interest Driven… • Streaming realtime quotes • Datafeeds for reference data and pricing • Some in Corporate Actions • New interest in risk and portfolio support MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
Updates Website, Documentation
New “Attribute Permutations” • For each release • Exhaustive list of all MDDL properties expanded to define unique attributes • Useful for mapping content • Click for Example MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
mddlQuery Asking for the data YOU want
What is mddlQuery? • A language to ask for mddl content • The “Request” corresponding to a “Response” • Specific to MDDL but based on XML • Uses MDDL terms and concepts • An extension of XPath, XQuery • Under development… MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
The General Philosophy: • Identify special significant terms • “End of Day Pricing”, “Masterfile Setup”, “Intraday Pricing”, “Historical” • Each defines a list • Appropriate MDDL attributes are referenced • Each attribute may have ranges, values • Rollups (for timeseries) may be defined MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
mddlSerivce A web service for MDDL
fisdMessage Streaming updates to XML
What is XML and What’s the Deal? • XML is a way of encoding data with descriptive tags facilitating data interchange – but people say its “verbose” for 1) realtime and 2) large datasets • Example: Passing a date and time • Instead of just “2003/10/15 5:00 p.m.” <dateTime>2003-10-15T17:00:00+05:00</dateTime> • Example: Passing a “last trade” price • Instead of just “103.73” <trade><last>103.73</last><currency>USD</currency></trade> MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
But Wait – That DOES Seem Verbose!? • Date and Time… from 20 to 46 bytes • Last price… from 6 to 58 bytes • In fact, encoding of data in XML can take over 10 times the number of bytes! • The difference is – with XML, you know what the data means… MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
A Trade in MDDL – Tokyo Stock Exchange 890 Bytes! <mddl version="2.2-beta"> <header> <dateTime>2003-10-15T17:00:00.000+05:00<dateTime> <source>XTC Demonstration</source> </header> <snap><equityDomain><commonClass> <instrumentIdentifier> <code scheme="http://www.mddl.org/ext/scheme/symbol?SRC=XTKS">6501</code> <name>A Company in Your Neighborhood</name> </instrumentIdentifier> <sequence>0306</sequence> <session>1</session> <trade> <last>12375</last> <dateTime>2003-10-15T16:58:32.234+05:00</dateTime> <marketCenter> <code scheme="http://www.mddl.org/xtc/Examples/scheme/iso10383.xml">XTKS</code> </marketCenter> <size>200</size> <currency>JPY</currency> <status scheme="http://wws.mddl.org/xtc/Examples/scheme/tradeStatus.xml">normal</status> </trade> </commonClass></equityDomain></snap> </mddl> MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
A Trade in MDDL – Data Identified 890 Bytes! <mddl version="2.2-beta"> <header> <dateTime>2003-10-15T17:00:00.000+05:00<dateTime> <source>XTC Demonstration</source> </header> <snap><equityDomain><commonClass> <instrumentIdentifier> <code scheme="http://www.mddl.org/ext/scheme/symbol?SRC=XTKS">6501</code> <name>A Company in Your Neighborhood</name> </instrumentIdentifier> <sequence>0306</sequence> <session>1</session> <trade> <last>12375</last> <dateTime>2003-10-15T16:58:32.234+05:00</dateTime> <marketCenter> <code scheme="http://www.mddl.org/xtc/Examples/scheme/iso10383.xml">XTKS</code> </marketCenter> <size>200</size> <currency>JPY</currency> <status scheme="http://wws.mddl.org/xtc/Examples/scheme/tradeStatus.xml">normal</status> </trade> </commonClass></equityDomain></snap> </mddl> MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
How Do We Deal With This? • Identify which data elements actually are modified – these are “fields” • Remaining text is nothing more than markup • The remaining shell defines a “template” • The “template” is sent ONCE, and the fields are sent for each instrument MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
The Fields We Need to Worry About… • Time of Message: “2003-10-15T17:00:00.000+05:00” • Ticker Symbol: “6501” • Sequence Number: “0306” • Last Trade Price: “12375” • Time of Trade: “2003-10-15T16:59:59.234+05:00” • Exchange of Trade: “XTKS” • Size of Trade: “200” • Trade Status: “normal” • Getting better – down to 84 bytes… MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
What Does It All Mean? • A self-describing datafeed can be just as efficient as existing proprietary protocols • Bandwidth is not compromised • Processing power is not compromised • A self-describing datafeed allows content to be added dynamically • Increases availability of new features at the convenience of the provider MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
What Does It All Mean? • XML (when properly implemented) facilitates merging and comparison of data • Like terms are compared • Different terms are easily merged • A self-describing datafeed allows content to be added dynamically • Increases availability of new features at the convenience of the provider MDDL Summary – James E. Hartley, FISD Quarterly Meetings – New York City
Discussion? Comments?