// On this page
I held META into Q1 2026 earnings on 2026-04-30. I did not have a written sell trigger. Revenue came in at $56.3bn consolidated, up 33% year on year. Strong. Full-year capex guidance (what the company plans to spend on long-term kit like data centres) came in at $125–145bn. That was against a FactSet consensus, the average of the professional analyst forecasts, of around $122.6bn going in. The top of the band was the surprise, not the raise itself. The stock fell roughly 8% in the session. I sat through it and made no decision, which is the same as deciding to hold, but harder on the nerves.
If I had run this AI earnings pre-trade prompt the morning before, I would have written the sell trigger down. The cost of not pre-committing was 8%.
The argument
Going into Q1 2026 I had a thesis on META but no written sell trigger. That gap is the problem this prompt solves. An AI earnings pre-trade prompt is one you run the morning before a company reports. It forces you to commit your sell, add, and hold triggers in writing, before management speaks. The model lists specific conditions back to you from the inputs you give it. You sign off on the list. When the call ends, you act on what you wrote, not on the first move the stock makes.
Three posts on this site already cover what to do with AI after a company reports: the 5 prompts for earnings call analysis, the tool comparison, the questions to ask AI before buying any stock. All useful. All reactive. None of them covers the harder discipline: deciding what would make you change your mind before a company reports, so when management speaks, you act on a written plan, not a gut response.
Most “AI for earnings” content is reactive. You ask the model what to think after the news lands. The prompt worth running the morning before does the opposite job: it makes you decide in advance, while you still can.
AI is bad at predicting what management will say. It is good at listing your decision triggers back to you.
This prompt keeps AI in the lane it’s good at.
It follows the same shape as the rest of the Prompt Stack: SCOPE, FILTER, RISK, VERDICT. The placeholders in square brackets are yours to fill in.
The pre-trade earnings prompt
SCOPE: Work only from the position and thesis I give you below; don’t bring in figures, dates or events from memory, and if something you’d need isn’t here, say so rather than assume it. I hold this position and have not yet decided what would change my mind. Your job is not to predict the announcement. It is to make me commit, in writing, to what I will do based on what management says.
FILTER: Here is the position I hold and the thesis underneath it.
- Position: [LONG / SHORT / OPTIONS, be specific], entered [DATE], cost basis [LEVEL], current price [LEVEL].
- Thesis (one sentence): [why I own this; what I think the market is missing or pricing wrong].
- The line item that matters most: [REVENUE / MARGIN / CAPEX / SUBSCRIBER GROWTH / GUIDANCE, pick one].
Here is the consensus picture going into this release:
- Consensus revenue [PERIOD]: [VALUE]
- Consensus margin: [VALUE]%
- Consensus on the key line: [VALUE]
- Consensus guidance midpoint: [VALUE] Source: [BLOOMBERG / VISIBLE ALPHA / FACTSET / IBES] as of [DATE].
Now produce three lists. Be specific. No “depends on context” hedges. Every entry must reference a number, a phrase, or a named topic.
LIST A - SELL TRIGGERS: what would management have to say, guide to, or fail to address in the prepared remarks for me to sell some of this holding the same day. Aim for three to five specific triggers. Each one must be observable on the call, not a derivative read from outside reporting.
LIST B - ADD TRIGGERS: what would management have to say or guide to for me to buy more of this holding, knowing the stock will probably move in the opposite direction first if the market reads the release pessimistically. Three triggers max.
LIST C - HOLD-AND-WAIT TRIGGERS: what would land in a grey zone where I should neither sell nor buy more, but mark the holding for a re-read in two weeks once the analyst day or follow-up filing lands.
RISK: Identify the single trigger across the three lists that is most likely to fire on this release and that I am most likely to talk myself out of acting on. Name the trigger and one sentence on why I will rationalise around it if I don’t pre-commit.
VERDICT: Restate, in one paragraph, the sell / add / hold triggers as a numbered playbook I can read off the screen after the call. End with one sentence on the magnitude: how much would I sell, how much would I add, expressed as a fraction of the current holding, not a number of shares.
The FILTER forces you to type cost basis, thesis, and consensus numbers into the prompt. You can’t dodge writing them down. That’s the pre-commit move. The VERDICT closes with size as a fraction of the holding. Not “sell some” but “sell a quarter.” Without that, the playbook is conditions, not actions.
The friction is the value. When I drafted the worked example below, the FILTER section took the most time: picking the single line item that matters most, writing the consensus number rather than gesturing at it. If the prompt feels easy to fill in, the inputs are too vague to commit to.
What it would have looked like on META Q1 2026
Here is what the FILTER section would have looked like the morning of 2026-04-30, pasted as I would have written it:
- Position: Long META, held into Q1 2026 results, current price ~$670 going in.
- Thesis: META is investing through an AI capex cycle the market is undervaluing on a free-cash-flow basis, the cash left over after the company has paid for its spending; ad revenue growth is durable.
- The line item that matters most: Capex guidance for the full year. Revenue is well-modelled; margin is well-modelled; capex is the variable that determines whether the FCF trajectory holds.
- Consensus picture going in: Revenue Q1 ~$55.5bn (FactSet), FY26 capex ~$122.6bn (FactSet).
If I had run the prompt with those inputs, the three lists the model would have produced look like this. None of these triggers are clever. That’s the point. The pre-commit move only works if the triggers are obvious enough that I can’t pretend later I didn’t mean them.
LIST A - SELL TRIGGERS. (1) Capex guidance above $130bn for FY26 with no payback timeline mentioned. (2) Capex revision pinned on “component cost inflation” with no commentary on procurement or supplier diversification. (3) AI return language framed as “ongoing investment” rather than “expected to contribute by [period].” (4) Cost-discipline language (“Year of Efficiency”, “operational discipline”) absent from the prepared remarks.
LIST B - ADD TRIGGERS. (1) Capex guidance held at or below $125bn AND ad revenue +30% year on year or better. (2) Specific commitment to a payback period on the AI infrastructure spend. (3) Reels or Threads revenue per user disclosed for the first time, with a number.
LIST C - HOLD-AND-WAIT TRIGGERS. (1) Capex guidance band wide (top end above $135bn, bottom end below $128bn), wait for the analyst day to narrow. (2) Margin commentary defers to “investment phase” language without a specific year for normalisation.
What happened on the call: capex band $125–145bn for the full year, top end well above the sell trigger, payback timeline absent, AI return language framed as “investment in AI capability” (per the prepared remarks), “Year of Efficiency” register absent. All four Sell Triggers fired. The stock fell roughly 8% in the session.
With the prompt, the sell was a written commitment honoured or not. Without it, the sell was an emotional call at 9.30am with a stock already moving against me.
I did not sell. The triggers had not been written down, so the call became “is this bad enough to act on yet” rather than “the triggers fired, do what you said you would.” Those are different conversations.
The first one your future self loses every time.
Where the prompt falls short
This is one prompt, not a system. Five caveats worth naming up front.
Consensus numbers go stale fast. If you paste a FactSet snapshot from a week before and the consensus has moved since (analyst revisions, a competitor’s report, a macro data point), your triggers are calibrated to the wrong baseline. Re-pull on the morning. If the consensus you paste is wrong, the triggers fire on noise.
The model will assume how big the holding is when you don’t give it one. Be explicit that you’re not pasting share count or P&L. The size in the VERDICT is a fraction of the current holding, never an absolute number. If you let the model assume “you hold 300 shares” because you didn’t tell it otherwise, you’ll get an answer calibrated to a portfolio that isn’t yours.
AI invents details when it doesn’t have them. If you don’t supply the consensus picture, the model will reach for something like “consensus expects revenue around $50bn” and the number may be roughly right or roughly wrong. The whole prompt is calibrated to the inputs you paste. Paste real numbers or don’t run it. I keep a running lessons log of the specific things AI tools have invented on me. The pattern is always the same: confident output where the inputs were thin. Thin inputs mean the model fills the gap with something that sounds right.
It doesn’t help with non-standard reporting cadences. Companies that don’t report quarterly need the same discipline applied to the closest equivalent: an interim filing, a board update, a CEO’s public commentary. I sell covered calls on BMNR, an ETH treasury company that updates the market via interim filings and Tom Lee’s public commentary. I run the same pre-commit move informally on what Lee says. The prompt structure transfers; the “earnings call” framing doesn’t.
It is not a forecast. A model that says “this trigger is most likely to fire” is pattern-matching against your inputs, not predicting what management will say. The RISK output flags the trigger you’re most likely to talk yourself out of. It reads as a checklist item for after the call, not a hint at what’s coming.
What I run on results morning
The pre-trade prompt is half the sequence. The other half runs once the company has reported. The 5 prompts for earnings call analysis cover the language read. I use the same sell-trigger framing on Apple, where the services language has drifted from absolute growth numbers to softer quality phrasing over the last four quarters. A pre-committed services trigger catches that kind of drift. The tools comparison sorts which model handles which step. And once the release is out and the numbers are on the page, I run the quality-of-earnings check on the figures, stripping the one-time items out before any of them feed a trigger. Full sequence: pre-commit the morning before → read the language after → check the numbers are real → trade against the written triggers.
Field Report
What worked: Writing the sell trigger down before the call meant I had a rule to follow on the day, not a feeling to talk myself out of.
What didn’t: AI can’t tell you what management will say. It turns your inputs into a checklist, nothing more. If it picks “this one is most likely to fire,” that’s a flag, not a forecast.
Bottom line: Useful. Run the morning before earnings on a stock you hold. Stops working when you can’t get clean consensus numbers.
The prompt is the discipline; the model is the second pair of eyes. Pre-committing the triggers is the move that matters. Running them through an AI is what makes you type them out. The same pre-commitment runs at the other end of a holding: the thesis audit before every sell decision writes the exit reasoning down before price pressure starts doing the writing. The Prompt Stack is the underlying methodology, free and ungated. The lessons log is the running record of where I’ve watched AI tools invent the answer. The catches log records the calls where AI found something I’d missed.

Ben tests how far you can trust the main AI assistants, and publishes exactly where they get things wrong. Every post here is a first-hand test with the receipts, including the times a tool simply wasn’t worth the trust. About Ben →
The site runs AI on real investing decisions. Start with the Prompt Stack for the four-stage framework, free and ungated, or the Bluff Filter for the paste-ready version with a real before and after.