Research methodology
How Options Whale research is produced
A deterministic pipeline turns normalized market snapshots into event-relative features, explicit market states, constructed strategies, and retained historical evidence.
Data sources
- Market data: a licensed market-data feed. Prices and option chains are normalized from it before anything is computed.
- Earnings calendar: a verified public earnings calendar. Scheduled dates and announcement sessions come from it and are retained with each snapshot.
- Derived metrics: computed by this project from the normalized snapshot. They are not vendor-supplied values.
Sources are described by category only. Vendor identities are intentionally not published, and neither are the delivery details of the underlying feeds — every research page states whether the observation is licensed market data or a synthetic development fixture, so you can judge provenance without a commercial attribution. Where a data entitlement limits historical coverage, the affected evidence is reported as missing rather than estimated.
Expected-move methodology
The current engine uses the midpoint of an at-the-money call and put in the expiration containing earnings: implied move = ATM call midpoint + ATM put midpoint. The percentage move divides that dollar value by the snapshot underlying price. This is a market-price proxy, not a probability forecast.
Historical evidence uses absolute post-earnings stock moves and reports the median, mean, maximum, trailing windows, and the number of events where actual movement exceeded the stored implied move.
Event-relative volatility
Historical ATM IV observations use eight event-relative checkpoints: T-35, T-28, T-21, T-14, T-7, T-3, T-1, and T+1. The current event-expiration ATM IV is compared with the median at the nearest available checkpoint. Missing observations remain missing; values are not interpolated. The resulting deviation is a relative-value input, not a standalone trade signal.
IV rank and percentile use the available historical event curve. They are intentionally labeled as event-relative MVP measures because a complete point-in-time daily IV history is not yet available from the configured data source.
Strategy construction
The candidate selector evaluates six structures: long straddle, long strangle, calendar, iron condor, bull put spread, and bear call spread. This is the selector's current candidate set; the broader strategy catalog and educational guides do not imply those structures are evaluated for every event. Strikes come only from normalized contracts. The selector combines event-relative volatility, expected-move richness, term structure, liquidity, historical evidence, and modeled risk/reward.
Historical reconstruction supports eight structures: those six plus short straddle and short strangle. The short counterparts reuse the long volatility candidate's exact contracts and are marked research-only; they are not forward selector recommendations. Their maximum loss is unbounded, so a return on maximum loss is unavailable.
Payoff arrays are deterministic. Maximum profit is left undefined where it is not mathematically bounded. Rejected strategies retain reason codes such as VOLATILITY_NOT_CHEAP, LIQUIDITY_POOR, HISTORICAL_SAMPLE_INSUFFICIENT, and DIRECTIONAL_CONFIRMATION_MISSING.
Hard filters
Publication requires sufficient valid contracts, future expirations and strikes, nonnegative values, reasonable IV, an available future earnings event, timezone-consistent timestamps, adequate liquidity, and enough historical observations for the intended strategy evidence.
Data status is assigned as VALID, PARTIAL, STALE, or INVALID. Invalid data cannot silently produce published research.
Execution assumptions
Historical strategy returns are reconstructed from stored quotes with modeled fills. Modeled fills are not evidence of actual execution: they do not prove that these fills were achievable when the reconstruction places them.
The backtester models each entry and exit at the stored midpoint moved adversely by 25% of the quoted bid-ask spread per fill — buys toward the ask, sells toward the bid — and charges $0.65 commission per contract per side. Returns are reported against modeled maximum loss. Missing entry or exit contract quotes are skipped, never imputed. These assumptions are stored with every reconstruction run under a versioned methodology label so historical results stay reproducible and never silently change between strategies.
Historical examples and limitations
Historical expired option-chain coverage depends on the entitlement of the upstream market-data feed, which varies by ticker, date and contract. Actual usable historical coverage is shown with each observation. Historical strategy returns are reconstructed outcomes using the current methodology and must not be presented as observed live publications. Forward daily snapshots accumulate Options Whale's own event-relative history from day one.
Earnings dates can move. Each event retains its source and retrieval timestamp. The MVP does not claim access to every historical earnings-date revision that was known at a past decision point.
Historical example trades are structural simulations using today’s construction rules, not proof that a trade was selected or recommended at that time. Runs that failed entry filters remain labeled. Examples are listed by entry date and strategy, without selecting only winners.
Entry comparisons reconstruct separate trades at each requested calendar-day offset from T−35 through T−1, not just the eight event-IV curve checkpoints. Each uses contracts selected from the entry snapshot. Requested and actual entry offsets can differ on non-trading days. Results are grouped by entry checkpoint and exit policy; timing variants from the same earnings event are not independent samples. Unavailable quotes are not counted as losses or zero returns. Older records retain their original results and do not acquire performance at untested checkpoints.
The scheduled exit is the earlier of T−1 and one day before the earliest leg expires. The experimental checkpoint filter exit applies only to entries that passed filters: it rechecks whether the strategy qualifies for a new entry at later observed checkpoints and exits the original contracts at the first failure. It does not reassess the thesis or risk of the held strikes, implement intraday stops, or monitor daily. Missing required checkpoints make that test unavailable. All structural examples and passed-entry samples are selectable separately; returns include adverse slippage and commissions on each side.
For older records, exact OCC symbols in stored fills identify the strike, option type and expiry. Same-expiry payoff is recalculated from those modeled entry fills before commissions using the shared calculator library. When no entry spot was stored, the chart uses a labeled strike reference. Modeled exit P&L includes the stored slippage and commissions and can differ from an expiration scenario. Mixed-expiry payoffs are shown only when a model was persisted; otherwise contract fills and modeled outcomes remain available without a fabricated curve.
Calendar, freshness and missing research
The calendar lists verified events for companies we track independently of candidate publication. Its week starts Monday, using America/New_York dates. Before-open and after-close labels are sessions, not exact announcement times. Calendar retrieval timestamps and research snapshot timestamps describe different observations.
Current candidate labels require accepted contracts, valid publishable data, acceptable liquidity and a published snapshot no more than four calendar days old. Revised dates, completed events and synthetic fixtures do not become current opportunities. Missing research may mean an event is outside the 7–35-day preparation window (with an additional T-1 checkpoint), awaiting review, or missing required evidence.
Local saved symbols stay in one browser. Calendar exports are all-day events and do not automatically subscribe to schedule updates. Re-export after date or session corrections.
How the written commentary is produced
Quantitative statistics and strategy candidates are generated from market data using deterministic models. The headline and summary on each research page are deterministic template output built from structured reason codes and stored quantitative fields — currently no external language model writes public research text.
If a summarisation model is ever enabled, it will only rephrase values already present in the payload, the prompt version will be stored with the publication, and this page will be updated before that ships. Either way, research may contain errors and should be independently verified.
Where to go next
Earnings calendar · Volatility screener · Research disclaimer · About Options Whale
Metric glossary
One-line definitions for the technical fields used across the research
Expand
Metric glossary
One-line definitions for the technical fields used across the research
- Event IV deviation
- Percentage difference between current ATM implied volatility and the historical median ATM IV at the matching days-to-earnings checkpoint. A zero or missing denominator reports unavailable.
- Move richness
- Current implied move divided by the median absolute historical earnings move. Above 1.00× means the event is priced to move more than it typically has.
- ATM IV
- At-the-money implied volatility for the expiration containing the earnings event, taken from the stored chain.
- Term structure
- How ATM implied volatility compares across expirations. An “event spike” means the earnings expiration carries an outsized premium versus the next expiration.
- Setup strength
- Ordinal model assessment (Strong, Moderate, Weak) from the versioned scoring model — not a probability that the structure will be profitable.
- Sample quality
- Count rule for reconstructed history: High at 12+ events, Medium at 4–11, Low below 4. Small samples are shown with an explicit warning.
- Skew
- Difference between 25-delta put and call implied volatility, describing how much more expensive downside protection is than upside.
Definitions match the stored feature names. See the methodology for calculation detail and limitations.