Contributions have formed a significant part of JPA’s business for many years. In particular, we were involved with some of the earliest implementations of the Bloomberg Multi-Product Feed, going back to the days when it was transmitted over asynchronous cable. We were also instrumental in developing the publishing infrastructure for the Telerate TTRS product. So it was hardly surprising that when we sat down and started to develop the PlatformOne™ product set that contributions were absolutely central to the overall concept.
The net result of this focus is that there is now a complete stand-alone subset of the PlatformOne™ product that deals with contributions. So our clients get the best of both worlds. Not only can they can have a complete off-the-shelf contributions package, but they can also benefit from the additional features that being part of a fully-functional market data platform brings them.
Here’s what a typical – albeit very simple – set-up might look like:
The data source can either be some kind of internal PlatformOne™ cache (perhaps based around the Calculator product) or a connection to another system.
Sub2Pub watches records, applies rules and, optionally, chain ownership, and publishes the results to one or more of the available contribution servers.
The following rule types are currently available, although more are being added all the time:
- Round value of a given field up or down
- Only publish if change greater than threshold (absolute or percentage)
- Only publish if change greater than percentage threshold
- Only publish if value within absolute range (inclusive or exclusive)
- Only publish if time with specified interval
- Only publish if the value of one field is greater than that of another
- Combine two fields together in a specified format
- Calculate mid of two fields
- Format field
- Add timestamp (in any format)
- Base published record name on the contents of a given field
- Close record if field is empty or contains a given string
- Snapshot one field to another at a given time
- Duplicate a record to another one with a name based on the contents of a given field (optionally continuing to publish original record, and remaining a member of the same chain(s))
- Add field with constant value
- Block specific incoming field
- Block all fields except specified fields
- Rename field
- Don’t send initial update unless specified field present
Chain membership can either be static or dynamic. In dynamic chains, the selection of chain is made according to the value of a given field, and the position of each record is determined by the value of up to three fields, in either ascending or descending order.
Records and rules may be added, deleted or amended without restarting Sub2Pub, either directly via Sub2Pub‘s own GUI (in the case of the Windows implementation) or via a separate GUI (in the case of the Unix implementations). Two instances of Sub2Pub may be set up as peers, so that any change made to one is synchronised with the other.
Compositor watches records from a variety of sources, constructs pages and publishes the results to one or more of the available contribution servers. The pages may be viewed and created, amended or deleted via a GUI. Each page is made up of a number of sections, and each section may be of one of the following types:
- Static text
- Single line – the section consists of the formatted value(s) of either a single field or pair of fields from a given record
- Templated – the section consists of the formatted value(s) of either a single field or pair of fields from either a static list of records or those records referenced by a given chain
- Linked – the section consists of the formatted value(s) of either a single field or pair of fields from the same list of records as another section; the section is linked so that if the other section is moved up or down the page, so is this one
If the list of records in a templated or linked section is larger than the available area, another page is automatically created with a page number one higher than the existing one.
There are three contribution servers currently available, for Marketlink (all flavours), Bloomberg MPF and the Bloomberg Platform. You can connect as many instances as you need, either load balanced or duplicated as appropriate.
These contribution servers also provide their own feeds that can be used for statistical analysis or by Tracker for latency monitoring.