Automated FTSE trading
An algorithmic FTSE strategy, run on your own IG account.
Working Orders is an algorithmic trading model for spread betting on the FTSE 100. It weighs 30 inputs to predict the low price of the FTSE 100, then mechanically places one limit order per day.
The algorithm has been running on the author's own capital since April 2021, and has been tested across seven distinct market cycles — the Liz Truss gilt crisis, SVB, the 2025 tariff shock among them.
- Live since April 2021
- 7 market cycles tested
- 5 years of hourly data
- Your capital stays with IG
Those are restricted to certified high net worth and sophisticated investors. Certifying takes about a minute and nothing is sent to us.
Headroom calculator
What this could mean on your account
This calculates the margin the model requires, how much of your capital it commits, and how far the index could fall before your account is in trouble.
The model
Thirty inputs to every decision
The strategy is based on the observation that, over the medium/long term the FTSE always trends up. That has been true for 40-years, but it is not a law and cannot be guaranteed. The algorithm itself takes a large number of inputs in order to:
- Place an order at what is expected to be the low for the subsequent 24 hours
- Configure an initial limit that provides a balance between risk, return and algorithm velocity.
- Adjust the limits daily to maximise the return on investment
More information is availble below; including how the algorithm was built, how it was tested, and where it is weak — which is the part that should decide whether you subscribe.
Inputs
Twenty-four configured parameters govern the model's behaviour — the risk budget it works within, the capital standing behind it, how many positions it will hold at once, how it sizes them, when it acts, when it stops, and how it manages a position once open. To those it adds the state of up to six positions already open, giving thirty inputs to each decision. The twenty-four are fixed in advance and applied identically every day.
Optimised
Six of those parameters are fitted numerically, using a covariance matrix adaptation evolution strategy over roughly five years of hourly price data. The remainder are held deliberately fixed — our own research found that models with fewer free parameters generalise considerably better.
Market cycles
The model is validated by walking it forward across seven distinct market cycles, from the Delta variant through the gilt crisis, SVB, the Iran/Israel strikes and the 2025 tariff shock. Each window is fitted only on data that preceded it, then measured on data it had never seen.
What it does not do
It holds no view on direction, reads no news, uses no sentiment or macroeconomic input and applies no discretion. It does not trade intraday, does not use stop losses in the conventional sense, and does not increase its risk after a loss. It acts once per session and is otherwise idle.
How it was tested
Against raw hourly tick data — never summarised — with the real bid/offer spread of the traded contract charged on every transaction, hour by hour. That correction alone reduced measured profit by about a third when it was introduced, which is why we mention it.
Subscription
Three tiers
A flat monthly fee. We take no share of profits, no commission and no spread — so our revenue does not rise when your risk does.
Run the algorithm against a demo account. No capital at risk and no live orders are ever placed.
- Connects to your IG demo account
- Identical logic to the live system
- Telegram notifications
- No live orders placed
Live trading on a standard IG retail account, at a bet size capped to fit retail margin requirements.
- Connects to your live IG retail account
- Bet size capped at £55 per point
- Retail margin (5%) headroom checks
- Telegram notifications
The full reference configuration, custom margin overrides, and a detailed performance dashboard.
- Connects to your IG Professional account
- Full reference configuration
- Custom margin overrides
- Detailed performance dashboard
- Priority support
Plain speaking
What can go wrong
We would rather lose a sale than have a customer surprised. These are the things we think are most likely to hurt you, stated as plainly as we can manage.
The model takes leveraged long positions into falling markets
It opens positions as the market declines, and it can hold several at once. In a sustained fall every one of them is underwater simultaneously, and the loss then grows at a fixed rate for each further point the index drops. That rate — your total exposure per point at full deployment — is the single number to watch, and the calculator shows it.
Not realising a loss is not the same as not making one
An unprofitable position is held rather than closed. That makes realised results look remarkably smooth, and it is the most misleading property of this strategy. The loss does not go away; it sits in an open position until the market recovers. If the market does not recover, it sits there indefinitely, and it is entirely possible to have a long run of apparently profitable months while a large unrealised loss accumulates underneath.
One of the standard risk measures gives a nonsense answer here
Measured mark to market across the whole history, the strategy scores a Sharpe ratio of 1.99 and a Sortino ratio of 2.68. Both are in sample — fitted and measured on the same data — so read them as descriptions of what happened rather than predictions of what will.
On a realised basis, the same strategy scores a Sharpe near 13. That is not a good result; it is a sign the measure does not fit. No real strategy has a Sharpe of 13. It happens because realised profit here cannot go negative, so the volatility in the denominator only ever measures how uneven the winnings were, never the losses. We quote the mark-to-market figures throughout for that reason, and we would encourage you to distrust anyone quoting the other kind.
The premise is that the FTSE trends upward over long periods
That has been true historically. It is not a law. A prolonged bear market is the scenario this strategy handles worst, and no amount of backtesting over the last five years tells you what happens in one.
The model is imperfect in known ways
Contract rollovers are not modelled at all, and they have cost six-figure sums in individual months on the author's own account. The model was also fitted on a period when it opened positions 58–64% of the time; more recently that has run at 85–89%, which means more concurrent exposure than the figures imply. We have not hidden either of these, and you will find both stated next to the figures they affect.
Re-fitting the parameters has never beaten the deployed configuration
In seven walk-forward tests — each fitted only on data preceding its own test period — re-fitting the strategy's parameters failed to beat the existing configuration every time. On short training windows the refitted versions did considerably worse and took far more risk: one peaked with 96% of the account underwater at a single moment.
Given enough history, roughly 890 trading days or more, in-sample and out-of-sample results do converge, and three independent fits that never saw their test period rediscovered the deployed parameters to within one point. We read that as evidence the configuration is a real optimum rather than a curve fit. One market cycle defeats it regardless: the 2022 gilt crisis breached the risk budget even when fitted on nearly a thousand days that included a banking crisis, and the only configuration that came through it inside budget is the deployed one — which was fitted on that period and so had the benefit of hindsight.
Operational risk is real
The system depends on IG's API, on a scheduled job running on time, and on market data arriving when expected. When any of those fails the usual outcome is that no orders are placed that day. It is also possible for a failure to leave positions open without management.
You will need to run your own Lambda function, in your own AWS account
As well as your own IG account, you will also need an AWS account. We provide you with an agent that you configure to run every hour (as a Lambda function - this takes 5 minutes and detailed instructions are provided). In this way, we ensure that your IG credentials can only ever be accessed by your own AWS account, i.e. we have no access to them. The agent calls our server to determine what actions it needs to take on your account (placing orders, closing positions, updating activity history etc.).
You are giving software access to your brokerage account
The algorithm connects using your IG credentials and places real orders. You should satisfy yourself that this is permitted under your agreement with IG, and that you are comfortable with the arrangement, before subscribing.
Get in touch
Ask us anything
If you have read this far you probably have questions the page has not answered. Please send us a message, and we will be happy to jump on a Teams call to discuss.