Alphanume Learn
Quant Course Projects

Earnings Options Course Project: Test Implied Against Realized Moves

Design an earnings options project with a forecast, realized outcome, per-name cohorts, tail analysis, current screen, and explicit failure modes.

Alphanume Team · August 4, 2026

An at-the-money straddle gives you a market-priced forecast of an earnings move. The course project is to compare that forecast with the movement that arrived, then decide whether any apparent overpricing survives tails, time, costs, and changing company behavior.

Our article on stocks that have overpriced earnings moves discusses the research finding and screen. This page is the student rubric: how to reproduce a defensible study without assuming the historical pattern will persist.

Define forecast and outcome

Write the hypothesis narrowly. For a defined universe and measurement convention, the pre-earnings implied move may differ systematically from the absolute realized move. The project should test the population first and treat per-name patterns as a second question.

Specify the option snapshot time, expiration selection, straddle calculation, earnings release timestamp, and realized-move window. Before-market and after-market announcements need consistent clocks. Avoid selecting the convention that produces the most attractive gap after seeing results.

  • Forecast: pre-event implied move from a documented option snapshot.
  • Outcome: absolute underlying move over a pinned window.
  • Difference: implied minus realized in comparable units.
  • Cohort: full sample first, per-name histories second.
  • Failure: tails, costs, or instability overwhelm the average gap.

Build the earnings ledger

Create one row per company and earnings event. Include announcement timestamp, session classification, option snapshot, implied move, underlying prices, realized move, ticker history, sector, liquidity, and any data-quality flags. Preserve events with missing options and report why they disappear.

Use point-in-time security identifiers and include companies that later delisted or changed symbols. Survivorship can flatter the sample, especially when difficult or distressed names vanish from a current universe.

Add a coverage report by year and name. A company with 4 observations cannot support the same per-name conclusion as one with 40. Set the minimum history before ranking current candidates.

Audit option availability separately from earnings availability. Missing straddles may cluster in smaller, less liquid, or distressed names, which means the measured cohort is selected by the options market. Report the eligible earnings population, the subset with usable option snapshots, and the final research sample side by side. That gap constrains how broadly the conclusion can be stated.

ArtifactContentsFailure it exposes
Event ledgerForecast, outcome, clock, identifiersBad joins and inconsistent timing
Coverage reportEvents by year, name, sectorSparse and changing samples
Population studyMean, median, tails, subperiodsAverage hiding blowups
Per-name tableHistory count and cumulative metricsSmall-sample ranking
Current screenUpcoming events and historical contextStale or missing inputs

Measure the population first

Calculate the forecast error for every eligible event and show its full distribution. Report median and tail outcomes beside the mean. A strategy that collects small differences and occasionally absorbs a very large move has a different risk profile from its average.

Split before-market and after-market releases, then examine year, sector, liquidity, and volatility regime. Label additional subgroup searches as exploratory. A current ranking should never be justified solely by the same sample used to discover the ranking rule.

Build per-name histories only after understanding the population. Use minimum counts, shrink noisy estimates where appropriate, and show confidence or dispersion rather than one precise rank. Companies change management, business mix, and investor base, so old quarters may carry less information.

A useful current watchlist separates description from action. Show the upcoming event, current implied move, historical count, median forecast error, tail observation, liquidity flag, and catalyst caveat. Do not translate those fields into a trade instruction. The course project is evaluating forecast behavior, and any option structure would add a separate layer of Greeks, spreads, execution, and risk limits.

  1. Pin the clock and forecast formula.
  2. Build the point-in-time earnings ledger.
  3. Report coverage and missing events.
  4. Measure population and tail outcomes.
  5. Create guarded per-name cohorts.
  6. Attack the rule before publishing a current screen.

Attack the apparent premium

Change the snapshot convention, remove the largest favorable quarters, include conservative spreads and slippage, and separate names with scheduled confounding events. Check whether one crisis or one sector creates the whole result.

The implied move is a forecast, not a promised range, and exceeding it is expected sometimes. A historical gap does not establish a riskless options trade. The project defense must discuss gap tails, liquidity, early closes, changing volatility regimes, and portfolio concentration.

The worked earnings example introduces the forecast-versus-outcome loop. The course project expands it to a full population, guarded per-name table, attack memo, and current watchlist.

Submit the defended watchlist

Deliver the ledger schema, coverage report, reproducible study, population table, per-name cohort rules, attack memo, and current screen. For each current row, show history count and the caveat most likely to make its estimate misleading.

Include two case files from opposite tails. One should trace an event where the realized move stayed well inside the forecast, and the other should trace a large exceedance. Rebuild both from option snapshot through underlying close, verify the clocks manually, and explain how each observation affects the aggregate. The tail case keeps the project from reducing a distribution to one reassuring average.

Archive the current watchlist as a dated research artifact. When the earnings pass, append realized outcomes without rewriting the original forecasts. This small forward log does not validate a strategy, though it tests whether the screen can operate without hindsight and whether its data conventions remain stable.

The quant course projects hub includes adjacent rubrics. This project passes when the forecast and outcome are comparable, the tails remain visible, and the student can explain why the current screen is a research prompt rather than a recommendation.