Reducing the number of failed orders 👀

(Mitchell Petrie) #1

Hey there :wave:

At the start of last month, I joined James and Ettore as part of the Freetrade design team and I wanted to take a moment to let you all know about a new little thing we’ll be rolling out pretty soon.

You’re probably all pretty familiar with this little bit of our app :point_up_2:. You’ll be seeing it every time you buy or sell shares. For the most part, it’s pretty slick (even if we do say so ourselves). However, we’ve seen one issue occurring much more often than we’d like…

Look familiar? We really hope not - but, if it does then this is for you.

Before we look to improve this we first needed to understand why it’s happening so let’s start there.

When you place a Basic order (you know, those free trades you’re all so fond of :wink:) what we do is queue all of the orders ready to be executed at 4pm. This keeps our costs down and allows you to buy and sell for free.

However, in the time after you place your order and until 4pm when we execute it, the price will fluctuate - usually only by a few percent. In most cases this is no big deal but if the amount you enter is the same as or very close to the exact price of a single share then these small fluctuations could bring the share price above the amount you have reserved for your order causing it to fail when it’s executed.

Now we’ve got that out the way let’s get back to the interesting bit. As you probably know we’re working hard to add US stocks to our universe.

I’ve been tasked with making sure you get to see your hard earned :uk: £’s turn into the :us: $'s that’ll be used to purchase those oh so shiny, no-emission Tesla shares :zap:. Something we noticed, however, is that that with US stocks come some much more expensive shares - we’re looking at you Amazon :eyes: - which means that few percent can end up being a much larger price change.

Because of this, we decided to take a look at ways we can help you place orders that are more likely to execute successfully and to bundle this in with the upcoming release of US stocks. :tada:

We began by exploring many, many options and came up with a few solid ideas that we felt had some potential. Though it’s worth noting that this is hopefully a short-term problem as once we offer fractional shares none of us needs to worry about orders failing in this way.

So… to recap we want something that will:

  • Help people (both experienced investors and people who have never done it before) place orders that allow for the fluctuations in share price.
  • We’ll release this alongside US stocks so it needs to be easy to build so as not to delay US stocks.
  • Be quick to remove so as not to delay the work on fractional shares.

So after a few rounds of revisions and a little over 100 comments later here’s where things stand right now…

This will give you all a little more information when placing your orders and we’re quietly optimistic you’ll all see less failed orders.:crossed_fingers:

Sell Order Rejected Reasons?
(Chris) #2

Is it feasible to be able to set money aside within the app that could be a buffer for your basic trades? £10 to cover any price increases on your basic trades.
Or a notification that the price is currently close or over the order price and to edit the order. Time limit on that one of course.

(Emma) #3

That’s pretty cool :grin:

(Mitchell Petrie) #4

So the short answer is that right now, no. Both ideas are solid but the technical cost to implement them would be comparatively high and we’re trying to keep things super light weight (at least for the time being) so that we can focus our time on exciting things like US trades!

(Vladislav Kozub) #5

Thank you Mitchell, great ideas mentioned all over this topic! :slight_smile:

How feasible would it be to introduce a ‘share price tolerance level’ in settings, where a user could choose their comfortable intraday fluctuation limit? For example, from 0% to ‘No limit’.

And then, let’s assume a user buying three shares of X, which cost £100 each at the time of submitting a basic order. If their tolerance is, say, 20%, the order will be executed as long as the price will not exceed £360 in total (£100 * 3 * 120%).

If it does, the entire lot is rejected, because the user is unlikely to be happy with a 20% premium based on his settings (buying two shares instead of three will highly unlikely satisfy them).

If the price is still within the tolerance level (say still 20% based on the case above) but their cash balance is only £330 because they did not expect over 10% increase, then Freetrade only buys maximum available number of shares (two in our case). This is because the customer is believed to be happy with the price based on the tolerance level, hence no reason to reject the order in this scenario.

Not sure how difficult it is to implement something like this, but what does for sure is eliminating any judgement Freetrade currently has to make - how do you know if a customer is happy with a price or not? Are you sure they did not want share Y even with 50% intraday change before it was rejected? All very subjective and definitely does not fit every user. But when one picks their tolerance level themselves, it makes it easier for Freetrade to make decisions because all the necessary variables are given.

(Jonny) #6

Hi guys,

Would it not just be easier to set how many shares at what maximum price you would be willing to spend?

For example, when placing my basic order, I would set I want 1 share at a maximum of £100 = £100. Or 2 share at a maximum of £100 = £200 etc. And if the share price goes over this maximum price, the order won’t go through.

Just a thought.

Apps looking good though :star_struck: Roll on them american stocks! :us:

(Vladislav Kozub) #7

Good call, @jonny. But how keen would you be to set a maximum to each of your transactions? Unless it is not a mandatory step of course.

(Jonny) #8

Hi Vlad,

I think it would give you more control over you basic orders. Say Facebook stock is currently $140 and I want to buy 2 basic trade shares. If I set a maximum buy price of $145, I know my order won’t go through if it costs more than $290

(Joe) #9

If you go in to a trade thinking OK I’m happy to pay said price over the current value and fear it increasing then you may as well just pay the £1 for an instant trade. Otherwise you will either miss out on making your trade and the price you want or you’ll set more money aside than you need than if you just pay £1 for the trade. Just a thought :slight_smile:


Yes, for this reason, I think the simple notification warning is the way to go until the real fix of fractional shares. No need to add complications for little benefit.

(Mitchell Petrie) #11

Thanks for taking the time to feedback on this! So interestingly your idea is super similar to another that we actually went quite a long way with internally.

On the surface I think it makes a lot of sense, it puts the power to decide the amount a person is willing to pay for a share into their own hands and gives them a little bit of leeway should the share price fluctuate.
If this was something we were looking to solve long-term and not just an improvement until fractional shares come along we’d definitely explore it further.

However, given the constrains we have right now it didn’t make sense for us to go down that route as it’d take substantially more time to design and build. Especially when if you’re really worried about having a max price you’re willing to pay you can (as @Fulforce mentioned) just place a instant order where you’re far more likely to get the current price anyway. :wink:

(R) #12

This is what I was going to suggest. I use betfair to pet “in-play” a lot, because things change rapidly the odds change too. So they allow you to set a max or min, which I usually put one or two pips above / below the price I’m aiming for to guarantee the bet places.

Don’t know how plausible that is here, but just my thoughts.

(Chris) #13

This is beautiful, great solution

(Alex Sherwood) split this topic #14

A post was merged into an existing topic: Freetrade launches US stocks :us: