How to build a market data Web Widget

Posted by Paul G Smith on 27 Oct 2015

Good morning. My name is Paul Geoffrey Smith. I'm one of the founding team members at Mobile Trading Partners (MTP).

In this article I will tell you about how we would create a web widget for you. There are many kinds of web widget we can produce. I am going to talk specifically about how we would go about crafting a combo quotes and charts widget similar to the demonstrator on the Products page of this website.

My assumption here is that the widget we produce would be branded for your company, that it would use your prices for both the quotes and the charts displays.

Our web widgets are all written using JavaScript, standards-compliant HTML and use CSS for styling. They work in all modern browsers and can if required be made compatible with many older browsers as well. These web widgets are also compatible with smartphone web browsers. Usually they can be "framed" into your website so no coding would be required on your side of things, just a little bit of standard HTML and JavaScript that we would give you.

There are two levels to branding a widget. The first level is what we can provide out of the box so to speak, with no coding required so it's usually possible to provide this level of branding for free. This is where we just drop your logo into our standard widget design. No other changes.

Of course this being based on HTML and CSS the sky's the limit as far as branding and UI customisation. So for a modest fee we can take the design much further to integrate it completely into your existing website design model. We can also work with you to create something entirely new.

Next we need to consider where the data comes from. We apply the approach of having middleware servers of our own between widget users and the upstream liquidity provider (or your own trading engine) that provides the pricing. In summary, we have a really smart data stream processing system that takes prices in at one end and efficiently spits out the prices to connected widgets and mobile devices around the world. It's a kind of "content delivery network" for FX quotes and associated data. Please see my separate article [#] on how all that works.

We are assuming here that we are taking your own pricing. So we need to connect up a tiny piece of middleware, a little piece of ingest code, to collect pricing in real time from your trading engine. This can use FIX protocol or any other internet accessible method to connect. I can't think of any cases where we failed to make that work.

We can also take pricing directly from your upstream liquidity providers, if you wish: we have too tier connectivity to most liquidity providers in London and New York as well as being able to make arrangements with aggregating service providers like LMAX and PrimeXM to, subject to appropriate fees and licenses which are payable to them, use their pricing for your website.

Once we have the pricing flowing through our system, we just need to spin up servers in the geographic areas where your customers connect to the Internet, direct the quotes streams to those servers, and with a simple configuration setting set up the web widget to use only those prices. No coding required.

If you can provide depth data with your prices, we can include a neat depth or VWAP component on your widget. If not, the multi-instrument market data display is always interesting for end users.

Next we need to hook up the charts. We deliver chart data through our content delivery network as well, but it is a bit more complicated because of course charts are built out of historic data. We already hold historic data for a number of liquidity providers under applicable agreements so it is possible that we can provide those for your widget, subject to appropriate licenses and fees. Assuming we are using your pricing, we would need to "import" your historic data into our database to start this process. Subsequent pricing will be added to the database automatically by our data stream processing system.

Once that is all set up then it's again a relatively simple matter for us to enable delivery of the chart data through our content delivery network and configure the widget to ask for the correct chart data. Once again, no coding is required.

We normally charge a simple monthly (or annual) fee for this service. Factors that further influence the cost are:

So there we have it: how we can make a website widget for you. Please contact us so we can offer you a no obligation trial of this service.