Trading Ideas 15-08-2026 22:01 2 Views

Pre-Earnings Entry Price: What 31,000 Cycles Say

So I tested it.

 

What was measured

Every completed pre-earnings cycle in the backtest history, restricted to long straddles and strangles: 31,027 of them, once the test conditions below are applied.

 

For each cycle, I computed the entry cost as a fraction of spot, then ranked it against the same figure on previous cycles of the same setup — same ticker, same strategy, same buy day. That gives a percentile: today's entry is cheaper than X% of the cycles that came before it.

 

Then I sorted every cycle into five buckets by that percentile and looked at what each bucket returned.

 

The part that matters: previous cycles only

This is the detail that makes the test worth anything, and it is easy to get wrong.

 

If I ranked each cycle against the full history — including cycles that had not happened yet at the time of the trade — I would be using information no trader could have had. Every result would look better than reality, and the error would be invisible.

 

So the percentile for a cycle in March 2023 is computed only from cycles before March 2023. A setup enters the test only once it has enough prior history to rank against. That is what walk-forward means, and it is why the sample drops from 46,717 completed cycles to 31,027 testable ones.

 

It is a costly constraint. It is also the only version of the test worth reporting.

 

The result

Entry percentile Cycles Win rate Median return Cheapest 20% 5,985 46.3% +4.5% 20–40% 5,932 44.5% +3.6% 40–60% 5,934 42.6% +1.4% 60–80% 5,938 41.3% +0.5% Richest 20% 7,238 40.9% 0.0%

Read the columns downward. Win rate falls monotonically from the cheapest bucket to the most expensive. So does the median return, from +4.5% to zero. Expectancy behaves the same way: the cheapest quintile came out 2.1 percentage points better than the most expensive.

 

Three different measures, roughly six thousand cycles each, all pointing the same direction with no reversal along the way. That is about as clean as this kind of test gets.

 

It also says something plainer: on this data, the single most useful thing you can know about a pre-earnings volatility trade is what you are paying for it relative to what that same trade has cost before.

 

The uncomfortable half

I ran the same walk-forward test on the other filter people use — and on the one my own table sorts by.

 

Filtering on historical win rate does exactly what it says: it raises the realized win rate, from 44.5% across all cycles to around 58% on the strictest setting. That part works.

 

But expectancy moves the other way. Every threshold I tested — 60%, 70%, 75%, 80%, across three different history requirements — improved the win rate and degraded the expectancy. Twelve combinations, no exception.

 

The mechanism is not mysterious once you see it. The exit rule caps the gain: the position closes on the first close at or above +10%, so a winner books roughly ten percent and no more. Nothing caps the loss. Filtering for setups that hit their target often selects positions that win small and often — and lose large when they miss.

 

This is the same trap I wrote about in June under a different name. A high probability of profit is not an edge. It turns out the point applies to my own default sort.

 

 

What happens when you combine them

Cheapness and win rate are independent, and they pull in opposite directions.

 

At any fixed win-rate threshold, cheap entries beat expensive ones by 2.4 to 2.6 percentage points of expectancy — consistently, at every level. And at any fixed cheapness bucket, raising the win-rate threshold lowers expectancy. Crossing the two does not rescue the second effect; the best bucket in the whole test is simply cheap entries with no win-rate filter at all.

 

What I am doing about it

The honest answer is: not yet decided, and I would rather say that than pretend.

 

Sorting a table by win rate is what users expect, and the figure is not meaningless — it describes how often a setup has worked. But if the number people sort by moves expectancy the wrong way, the default is doing something I would not defend if asked to justify it from first principles.

 

What is already true is that the entry-price block is not decoration. It measures the one thing in this data that improved every metric at once, and it sits on every card.

 

Caveats worth stating

The percentile needs history: a setup with four prior cycles produces a percentile that means very little, which is why the test requires a minimum before a cycle enters it.

 

The buckets are wide. "Cheapest 20%" is not a threshold you can trade — it is a direction, measured across the whole population.

 

And none of this says a cheap entry will work. It says that across thirty-one thousand cycles, cheaper entries returned more than expensive ones, on three measures at once, with no crossover. That is a tendency, not a promise, and the distinction matters more in this business than in most.

 

OptionBench is a research and analysis tool, not an investment advisor. Nothing here is a recommendation to buy or sell any financial instrument. Backtested results are hypothetical and do not guarantee future performance. The original article was first published here.

 

Other news

Enter Your Information Below To Receive Free Trading Ideas, Latest News And Articles.

    Your information is secure and your privacy is protected. By opting in you agree to receive emails from us. Remember that you can opt-out any time, we hate spam too!