TL;DR
- The idea: company statements put a positive spin on everything - leading with flattering “adjusted” figures and burying the weak ones. A sceptical reader who checks the hard numbers (is the cash really coming in?) and the legally loaded phrase “ahead of / in line with / below market expectations” might spot what the share price hasn’t yet taken in.
- The test: an AI read 10,572 results and trading statements from Gecko’s stocks over ten years, as a sceptical analyst, for $8.72. Gecko then compared what happened over the next 20 trading days with other statements that had moved the price by the same amount on the day.
- The result: nothing. “Ahead of expectations”, “below expectations”, raised or cut guidance, weak cash conversion, heavy spin - none of it made a difference to the following month.
- Why: the market reads a statement on the day it comes out. Big moves happen mostly during announcement day, not just at the open, and by the time a swing trader can buy, the words are priced in.
- What survives: a price-only effect. After jumps of 10% or more, shares keep drifting up about +1.7% over the next month - whatever the statement said. That is what Gecko’s big-up-day strategy already trades.
- Update - the day itself: the words do matter between the 8am open and the close. A statement out at 7am saying “ahead of expectations” and raising guidance was followed by a further rise during the day, and as a same-day trade it is Gecko’s strongest result yet - see Update: the day itself below.
The idea: read past the spin
A trader once made a point that stuck: never trust a company’s own description of its results. Look at the hard figures instead. Research backs him up in several ways:
- “Adjusted” profit is chosen by management. Strip out enough “one-off” costs - some of which recur every year - and any year looks good. The gap between adjusted and statutory (official accounting) profit is a classic warning sign.
- Cash is harder to fake than profit. Companies whose reported profits run well ahead of the cash actually coming in have historically tended to do worse afterwards (the “accrual anomaly”).
- In the UK, “expectations” is close to a fact. A listed company that knows it will miss what the market expects has to say so promptly. So “in line with”, “ahead of” and “below market expectations” are carefully chosen, legally loaded words - not just salesmanship.
If the market took statements at face value on the day, a sceptical reader should find shares that drift afterwards as the truth sinks in.
How it was tested
- The statements: the FCA’s official archive holds every UK regulated announcement. Gecko downloaded all 10,913 results, half-year results, trading statements and AGM updates for its stocks from 2016 to 2026.
- The reading: for each one, Gecko’s code cut out the parts that matter - the opening summary, the outlook, and for results the three main accounts tables (income statement, balance sheet, cash flow) - and an AI read them with instructions to act as a sceptical analyst: extract the statutory and adjusted figures with a quote for each, the company’s own expectations wording, any change in guidance, and flags for spin (a big adjusted/statutory gap, cash well below profit, bad news placed late).
- Choosing the AI: three models read the same 50 full-year results first. OpenAI’s GPT-5 mini made real mistakes - showing Imperial Brands’ £12 billion of debt as cash, and reading Meggitt’s “excluding Covid, broadly in line” as in line, when profit was £17.7 million below expectations. Anthropic’s Claude Sonnet 5.5 got these right. The small, cheap Claude Haiku 5.5 agreed with Sonnet on all but 8 of about 490 figures and 49 of 51 expectations calls, at a fifteenth of the price - so Haiku read the full set. The whole exercise cost about $11.
- The measurement: for each statement, the share’s move over the 20 trading days after the next open (the first time a swing trader could act), minus the average stock’s move. Then - the crucial step - each statement was compared only with others that had moved the price by a similar amount on the day. That isolates what the words add beyond the price reaction everyone could already see.
What the words added by the next morning: nothing
| What the statement said | Statements | Next 20 days, beyond the day-one reaction |
|---|---|---|
| “Ahead of expectations” | 1,270 | -0.06% |
| “In line with expectations” | 3,081 | -0.01% |
| “Below expectations” | 166 | -0.12% |
| Guidance raised | 957 | +0.06% |
| Guidance cut | 587 | +0.69% (within noise) |
Every one of these is within the range chance alone would produce. The hard figures fared no better:
| From the accounts (results only) | Next 20 days, beyond the day-one reaction |
|---|---|
| Weakest cash conversion (cash below 98% of profit) | -0.14% |
| Strongest cash conversion (cash above 138% of profit) | -0.04% |
| Adjusted profit close to statutory | +0.13% |
| Adjusted profit 25%+ above statutory | -0.47% (within noise) |
| Most spin flags | 0.00% |
The adjusted-profit gap is the only result pointing the way the sceptics would predict, and it’s too weak to tell apart from chance - and far too small to trade on after costs.
The two ideas that seemed most promising didn’t work either:
- Under-reaction: statements saying “ahead of expectations” where the price barely moved on the day (within 2%) did not catch up later: -0.20%.
- Sharpening the big-jump trade: after a jump of 10% or more, shares drift on by +1.7% over the next month. Jumps backed by “ahead of expectations” drifted +1.3%, and those without it +1.9%. The words don’t pick the better ones.
Why: the market reads it in a day
Splitting the move up shows where the information goes:
| Day-one reaction | At the open | Whole of day one | Next 20 days |
|---|---|---|---|
| Jumps of 10%+ | +6.2% | +15.4% | +1.7% |
| Rises of 5-10% | +3.1% | +7.1% | -0.4% |
| Falls of 10%+ | -8.5% | -16.4% | -0.8% |
UK statements come out at 7am. Less than half of a big move happens at the 8am open - the rest happens during the day, as analysts and fund managers read the statement, compare it with their forecasts and trade. By the close, they’ve done what Gecko’s AI did, faster and with more context. Anyone buying at the next open is buying after the reading is finished.
That leaves one thing for a swing trader: the follow-through after unusually large moves, which continues for weeks whatever the statement said. It’s a price effect, not a reading effect - and Gecko already trades it with its big-up-day strategy (run #387).
Update: the day itself
The study above measured from the next morning’s open, because that is when Gecko’s evening tip scan lets a trader act. But UK statements come out at 7am and the market opens at 8am - so a reader who is quick can act at the open of announcement day itself. Measured from that open to the close, against the market:
| Statement out before the open said | Statements | Open to close vs the market | Up days |
|---|---|---|---|
| “Ahead of expectations” and raised guidance | 414 | +1.45% | 62% |
| “Ahead”, guidance not raised | 684 | +0.55% | 54% |
| Guidance raised, not “ahead” | 433 | +0.33% | 52% |
| “In line” or nothing said | 6,432 | about 0% | 50% |
| “Below” or guidance cut | 503 | -0.38% | 48% |
On an ordinary day with no announcement, buying at the open and selling at the close loses slightly (-0.03%, up only 48% of the time). The opening auction under-prices a genuinely good statement, and the price catches up during the day.
Run through Gecko’s full engine as a same-day CFD trade - buy at the open, a stop one day’s average range below, sell at the close - on a £10,000 account risking 2% a trade:
| Run | Stocks | Trades | Won | Per trade | Sharpe ratio |
|---|---|---|---|---|---|
| #391 | Gecko’s original stocks | 175 | 55% | +0.50R | 1.02 |
| #399 | 143 FTSE 350 stocks never tested before | 220 | 62% | +0.65R | 1.53 |
| #397 | Every statement, whatever it said (the control) | 2,638 | - | +0.13R | 1.11 |
That is Gecko’s best risk-adjusted result so far, and unlike most ideas it was stronger on unseen stocks. Holding for longer than the day added nothing. Two cautions: the backtest charges commission but not the bid-offer spread, which at the open could cost £15-30 a trade against an average profit of £87-114; and acting on it means reading the 7am statements and placing orders before 8am.
Verdict
For swing trades, a fail; for the day itself, promising. Reading company statements doesn’t help a trader who acts the next morning: the market has finished reading by then. But in the hour between a 7am statement and the 8am open, “ahead of expectations and raising guidance” is information the opening price hasn’t fully absorbed. Gecko will now read each morning’s statements as they come out and paper-trade the signal before it goes anywhere near real money.
Two other things come out of it:
- Confidence in the price-only approach for swing trades. If the words added nothing after a 15% jump, a simple rule that trades the jump itself isn’t missing much.
- Ten years of company figures. The AI’s extraction gave Gecko statutory and adjusted profit, cash flow, net debt and dividends for 235 companies, each figure with its source quote - fundamentals data Gecko didn’t have before, for a few dollars.
