fix repository based products infrastructure for the infrastructure presenter kevin houstoun

12
FIX Repository based Products FIX Repository based Products Infrastructure for Infrastructure for the infrastructure the infrastructure Presenter Kevin Presenter Kevin Houstoun Houstoun

Upload: diana-barker

Post on 28-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

FIX Repository based ProductsFIX Repository based Products

Infrastructure for the Infrastructure for the infrastructureinfrastructure

Presenter Kevin Houstoun Presenter Kevin Houstoun

Page 2: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

What is the repository?What is the repository?

Information extracted from the FIX specificationInformation extracted from the FIX specification In a different more computer usable formatIn a different more computer usable format Currently a series of XML documents and schemasCurrently a series of XML documents and schemas Can be loaded into a databaseCan be loaded into a database Specific SQL can reproduce the specification from Specific SQL can reproduce the specification from

the databasethe database To be used to generate future releases of FIXTo be used to generate future releases of FIX Will be made publicly available to FIX membershipWill be made publicly available to FIX membership

Page 3: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

ConstructionConstruction

There are a number of parts to the repositoryThere are a number of parts to the repository FieldsFields EnumerationsEnumerations ComponentsComponents Messages – special type of componentMessages – special type of component Message ContentsMessage Contents

For each part of the repository there are 4 filesFor each part of the repository there are 4 files *.xml – The data itself*.xml – The data itself *.xsd – The schema for the data*.xsd – The schema for the data *.xsl – A transform to display the data in IE*.xsl – A transform to display the data in IE *.html – A page to invoke the transform and display the data *.html – A page to invoke the transform and display the data

in IEin IE

Page 4: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

The FIX Specification Data DictionaryThe FIX Specification Data Dictionary

Fields & Enumerations – essentially the data Fields & Enumerations – essentially the data dictionary from the FIX Specification - Volume 6dictionary from the FIX Specification - Volume 6

Fields xml file containsFields xml file contains Tag, Tag, FieldName, FieldName, Description, Description, XML NameXML Name

Enumerations xml file containsEnumerations xml file contains Tag, Tag, Value, Value, DescriptionDescription

One to many relationship between Tag in Fields and One to many relationship between Tag in Fields and Tag in EnumerationsTag in Enumerations

Page 5: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

Components (including messages)Components (including messages)

Components and Messages contains Components and Messages contains Object ID, Object ID, Name, Name, Type, Type, Category, Category, Abbreviation, Abbreviation, DescriptionDescription Indentation (only used for certain component types)Indentation (only used for certain component types) Order (only used for certain component types)Order (only used for certain component types)

Messages are a special case of components that Messages are a special case of components that include specific additional information. Messages are include specific additional information. Messages are the top level application object in the FIX model. the top level application object in the FIX model.

Page 6: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

Message Content xml FileMessage Content xml File

Message Content contains Message Content contains Object ID, Object ID, Tag Text, Tag Text, Tag, Tag, Description, Description, Required, Required, Position, Position, Indent, Indent, Component Object IDComponent Object ID

Basically the result of selecting all records in from Basically the result of selecting all records in from Message Content with an Object ID corresponding to Message Content with an Object ID corresponding to a FIX message is data equivalent to the message a FIX message is data equivalent to the message table for that message in volumes 1, 3 – 5.table for that message in volumes 1, 3 – 5.

Page 7: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

ThusThus becomesbecomes

Page 8: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

Why did we build the repository?Why did we build the repository?

I’m lazy and I make mistakes.I’m lazy and I make mistakes. BUT lazyness can be a virtue.BUT lazyness can be a virtue. Asked by Global Technical Committee to help Asked by Global Technical Committee to help

prepare the DTD to match the FIX.4.4 release.prepare the DTD to match the FIX.4.4 release. Needed to allow me to generate the DTD rather than Needed to allow me to generate the DTD rather than

create it by hand.create it by hand. This allowed us to apply one design to the whole of This allowed us to apply one design to the whole of

the FIX model.the FIX model.

Page 9: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

How have we used the repository?How have we used the repository?

Generated Volume 6 – The FIX data dictionaryGenerated Volume 6 – The FIX data dictionary Can and will generate all message tables for future Can and will generate all message tables for future

releases of FIXreleases of FIX Supports addition of messages and fields for future Supports addition of messages and fields for future

versions of FIXversions of FIX Generate FIXimate, FIX.4.4 DTD, FIX.4.4 Schema.Generate FIXimate, FIX.4.4 DTD, FIX.4.4 Schema.

www.fixprotocol.orgwww.fixprotocol.org www.fixprotocol.orgwww.fixprotocol.org www.fixprotocol.orgwww.fixprotocol.org

Cross check FIX specification, are names in message Cross check FIX specification, are names in message tables same as names in data dictionary.tables same as names in data dictionary.

Pre compile all valid message possibilities and check Pre compile all valid message possibilities and check against FIX design rules.against FIX design rules.

Page 10: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

Repository Value PropositionRepository Value Proposition

Vendors.Vendors. Access to the repository. A few vendors build and maintain Access to the repository. A few vendors build and maintain

subsets of the repository. Transact Tools, BtoBits. This is subsets of the repository. Transact Tools, BtoBits. This is needed to offer a full FIX product. This is value at US needed to offer a full FIX product. This is value at US $25,000. Engine vendors should use repository to drive $25,000. Engine vendors should use repository to drive engine. engine.

Buy sides, Sell sides, Exchanges.Buy sides, Sell sides, Exchanges. Customers don’t need to pay for upgrades for engines with Customers don’t need to pay for upgrades for engines with

each FIX version release.each FIX version release.

FIX itselfFIX itself Improved management of protocolImproved management of protocol Improved consistency and accuracy of specificationImproved consistency and accuracy of specification Tools to allow generation of schema etcTools to allow generation of schema etc

Page 11: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

A sustainable revenue modelA sustainable revenue model

Given the choice, customers would buy FIX services Given the choice, customers would buy FIX services from FIX. One service is the updating of engines for from FIX. One service is the updating of engines for each release.each release.

The regular expansion of the protocol provides a The regular expansion of the protocol provides a regular upgrade requirementregular upgrade requirement

This could be addressed byThis could be addressed by Engine design based on repositoryEngine design based on repository Upgrades become either pay your FIX engine vendor or pay Upgrades become either pay your FIX engine vendor or pay

FIX.FIX.

FIX engine vendors still have a model around FIX engine vendors still have a model around upgrades to session layer, performance etc upgrades to session layer, performance etc enhancements but are no longer coupled to FIX enhancements but are no longer coupled to FIX protocol releases.protocol releases.

FIX supplies the IP to it’s members in raw format.FIX supplies the IP to it’s members in raw format. FIX has a product !!!FIX has a product !!!

Page 12: FIX Repository based Products Infrastructure for the infrastructure Presenter Kevin Houstoun

How does a FIX engine use the repository?How does a FIX engine use the repository?

Fields table, data types, need to add data type for raw Fields table, data types, need to add data type for raw data precursor fielddata precursor field

Message Content table. Can check validity of fields Message Content table. Can check validity of fields within a message etc.within a message etc.

Possibly may wish to transform to own format, may Possibly may wish to transform to own format, may wish to generate code from repository. Both lock wish to generate code from repository. Both lock customers to them but we still considerably reduce customers to them but we still considerably reduce cost of upgrade to users!cost of upgrade to users!