How a stock exchange actually works

The exchanges themselves are the most elemental parts of the investing system and yet there’s so little clear explanation for how they really work. So we wrote some!


Definitely a nice article, it even led me onto reading the articles about stocks and dividends :smiley: :ok_hand:


Raises a few questions-

Where are the initial prices coming from? Based on the Ocado example I’d guess you’re not paying for a live LSE feed?

If you’re utilising the cheaper non LSE feed have you tested order book depth and liquidity for your instruments for not to misquote wildly pre execution?

When executed I assume you do actually trade on the LSE and trades will be visible/reported via the LSE?

When an order is greater than the electronic order book can handle will the trade get manually worked by your dealers or simply fail and not get executed?

1 Like

We’re sourcing data from venues which have ample liquidity to make the pricing data meaningful and useful. In some cases, there might even be more volume than the LSE. That’s as specific as we can be just now!

When executed I assume you do actually trade on the LSE and trades will be visible/reported via the LSE?

Yes, we’ve shown examples of this. It’s cool to see.

When an order is greater than the electronic order book can handle will the trade get manually worked by your dealers or simply fail and not get executed?

We’re starting off fill or kill, but will develop the execution strategy accordingly when volumes increase. You’re familiar with the Stock Universe and you can see it’s all highly liquid stocks. In some ways, not getting filled is a nice problem to have because it presupposes major user demand and some pretty chunky trades!


Firstly, nice to see such a healthy balance available for trading, shows a lot of faith in the system :wink:

Secondly, I’m used to systems where you get an indicative price and then at the time of dealing you get a real price with a timer which allows you say 10 secs to complete or lose the deal. I appreciate that a FreeTrade has uncertainty, but I would have hoped paying for an instant trade allows some certainty on the price.

Is there a fallback that will prevent a trade if the price moves greater than 0.x%?


Good question. So is there a price quote pre execution? Standard practice. Would be weird if not. Sometimes requires chunky data licences though. Maybe that’s the issue?

1 Like

My understanding is no; there is an indicative price derived from a variety of sources, similar to what you’d see on Google Finance, however, there could be slippage when you execute. This is for me worrying :

Then finally, you’ll see the exact price we executed in the contract note, once the order goes through. This is usually very close but not identical to the indicative price.

In practise, this can go in your favour too but I’d rather have certainty.

Within the app we show an indicative price, based on live trading data. As @Justin_Thyme mentioned, most legacy brokers show you a binding quote once they have gone to market, which you then have a short window to accept or reject.

We have taken the decision not to do this. Given we are only offering highly liquid stocks from the FTSE 100, 250 or equivalent, there should be almost no difference between the indicative price and the executed price, and so showing another quote felt like an unnecessary step that did not add much to the process.

We differ to the legacy brokers in restricting our universe - the binding quote is much more relevant when you are trading on more volatile markets, eg AIM stocks, when there can be significant changes in the price of the stock.

In our testing we have seen essentially no difference between the indicative price and the executed price. As with other areas, we’ve tried to look at this differently and consider what gives the best, and most frictionless, experience, rather than following the norm.

Interested to hear people’s views on this.


My view is that it’s negligible and doesn’t matter, except for when it does.

It will go down slightly as well as up, but every time it goes against a user, I see that as a negative whether it’s 1 in 100, or 1 in 100,000 trades.

On that rare occasion when the price tanks due to really bad news mid sale, do we want the bad feeling / publicity that goes along with that? Hence my question about whether there is a built-in process to catch and stop this.

I totally get we are breaking the mould, however, frictionless UX is one thing and losing 0.2% on that trade is another. It makes me cringe and don’t get me started on the rounding errors! Sorry, I’m just pedantic, but it is a financial transaction after all, and I’m used to seeing 2 more decimal places.

The proof will come when we leave the testing phase. I would love to hear what others think…

1 Like

Is the exclusion of AIM stocks indefinite? I assumed that they weren’t included in the Stock Universe to simplify launch but would be added in future iterations of the app.


It’s not necessarily indefinite. We certainly don’t intend to offer absolutely every stock out there, but if there’s high demand for some AIM stocks we’ll look to offer them in time - there are some great brands in there.


This article suggests that there are no tracker funds covering AIM. Does this mean there are no existing AIM ETFs? As this would be my suggestion if there were.


Yep no dedicated AIM trackers afaik. I think it’s because buying up shares in every/most AIM company would be very tricky for an etf manager with that level of capital. Many of the companies are too small.

Micro and small cap U.K.-focused funds are the best proxy for similar exposure.


I have found that the indicative price and the execution price can vary substantially. This is especially so when a stock is finding its level after market open following news. As was the case with Metro Bank today between 8.30am and 9.30am. Real Time quotes are not an unnecessary step as you suggest. They are a critical part of the process.

Thanks for this feedback, there’s been some more discussion about real time data & how we think about it here too: Real-time in app pricing.