Strasmore Research
Learn am Matt ConnorBy Matt Connor

How to Find Stock Earnings Date

Company dey choose e earnings date, but press release and 8-K na the real proof. Learn where to check and why estimated dates fit shift.

A company na imself dey set the date for e earnings, and na only two documents fit confirm am: the press release wey announce the date, plus the 8-K wey company file with SEC when the results come out. Every calendar wey you see elsewhere either dey copy that announcement or dey guess from last year pattern. This page show you how to know the difference and wetin the filing deadlines really require.

Who dey set company earnings date?

No exchange dey assign am. Company choose e own reporting day, book the conference call, and announce both, usually two to four weeks ahead. Wetin SEC regulate na the filing, no be the announcement. Large accelerated filer, meaning company wey get at least $700 million public float, get 40 calendar days after fiscal quarter close to file e 10-Q, and 60 days after fiscal year close to file e 10-K. Accelerated filers get 40 and 75 days. Everybody else get 45 and 90.

The press release normally come first, or on the same day, and e carry the headline numbers. The 10-Q or 10-K wey follow carry the full statements. The common SEC filings guide dey explain the form numbers.

When companies dey report after quarter end?

The clock start from the company own fiscal quarter end, wey no always be calendar quarter end. Count every income-statement period on file for the three years to June 2026, and the reporting calendar pattern go show immediately.

QueryWhere fiscal quarters dey really end: statement periods by calendar month, July 2023 to June 2026
The exact SQL behind every number
SELECT formatDateTime(period_end, '%b') AS quarter_end_label,
       count() AS statement_periods,
       round(100 * count() / (SELECT count()
                              FROM global_markets.stocks_income_statements
                              WHERE period_end >= toDate('2023-07-01')
                                AND period_end <= toDate('2026-06-30')), 1) AS share_pct
FROM global_markets.stocks_income_statements
WHERE period_end >= toDate('2023-07-01')
  AND period_end <= toDate('2026-06-30')
GROUP BY quarter_end_label, toMonth(period_end)
ORDER BY toMonth(period_end)
Run this yourself

Periods wey end in Dec form 33.1% of the file, with 16.6% inside Mar, 16.5% inside Jun and 25.1% inside Sep. Those four months carry most of the file. The remaining part na wetin dey confuse people: 1.2% of periods end in Jan and 1.7% inside Jul. Apple dey close e fiscal year in late September. Walmart dey close e fiscal year on January 31. Their fourth-quarter reports come out in the weeks after those dates, nowhere near December ending.

Inside the period after quarter close, most large companies report during the third to sixth week, well before the 40-day filing deadline. Treat am as pattern, no be rule. Company fit report on day 12 or day 39 and still no break any rule.

Confirmed date versus estimated date

Confirmed date get document behind am. Company issue short release: results for the quarter wey end on a stated date go publish on a stated day, before the open or after the close, with conference call at a stated time.

Estimated date no get document behind am. Dem infer am from history: same fiscal week as last year, same weekday, adjusted for holidays. Vendors publish these dates, apps display dem, and almost nothing for the screen show say dem na estimates. Two signs dey reliable. Estimated date rarely get call time, and e rarely change as the quarter dey move forward.

Estimates fit move for normal reasons. Board meeting fit shift by one week, auditor fit need more time, or holiday fit fall at bad time. When confirmation arrive, dem replace the estimate. If calendar entry never change since quarter start, nobody don source am yet.

Where confirmation really dey appear

Two places, in this order.

  • Investor-relations site, under heading like Events, Events and Presentations, or News Releases. The date announcement na press release wey get two paragraphs.
  • EDGAR, SEC public filing system. Find the company and read e 8-K filings. Dem furnish results under Item 2.02, Results of Operations and Financial Condition, with the release attached as Exhibit 99.1.

8-K na current report wey company file between quarterly reports when something material happen, generally within four business days of the event. Earnings na the most regular use. Third-party calendar na copy of that filing at best and guess at worst. So e good as first place to check, but e no good as final answer.

How delayed filing dey look

When company no fit file on time, e submit Form 12b-25, wey appear for EDGAR as NT 10-Q or NT 10-K. NT mean notification. Dem need file am not later than one business day after missed deadline, and e state the reason plainly. Filing am give extra five calendar days for 10-Q and fifteen for 10-K. Report wey arrive inside that window still count as timely.

Earnings call and filing na separate events. Late filing no automatically move the call. The two dey happen together often enough that NT notice worth reading before you rely on any date. Wetin e tell you na fact, no be prediction: company don tell SEC say e go miss deadline, and e don give the reason. Reasons fit range from accounting system migration to restatement.

Wetin tape dey show around a print

Price history no go give you date ahead of time. But e dey show the rhythm wey you dey look for. Nvidia dey close e fiscal quarters in late January, April, July and October, and e dey report roughly three weeks after each close. Below na e ten biggest overnight moves across the two years to June 2026. Each one na the last price of one session measured against the first price of the next.

QueryNVDA: di ten biggest overnight moves, July 2024 to June 2026
The exact SQL behind every number
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMin(close, window_start) AS first_price,
           argMax(close, window_start) AS last_price
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'NVDA'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-07-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session
),
overnight AS (
    SELECT session,
           first_price,
           lagInFrame(last_price) OVER (ORDER BY session
                                        ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
    FROM daily
)
SELECT formatDateTime(session, '%a %b %e, %Y') AS gap_label,
       round((toFloat64(first_price) / toFloat64(prior_close) - 1) * 100, 2) AS gap_pct,
       round(abs(toFloat64(first_price) / toFloat64(prior_close) - 1) * 100, 2) AS abs_gap_pct
FROM overnight
WHERE toFloat64(prior_close) > 0
  AND abs(toFloat64(first_price) / toFloat64(prior_close) - 1) < 0.3
ORDER BY abs(toFloat64(first_price) / toFloat64(prior_close) - 1) DESC
LIMIT 10
Run this yourself

The biggest of the ten move -14.49% on Mon Aug 5, 2024, with size of 14.49%, against 5.46% for the session wey rank tenth on Fri Aug 2, 2024. Watch the weekday at the beginning of each label. Company wey dey keep stable reporting weekday go put e outsized sessions on that same weekday too. That na the most useful clue for estimated date. Overnight moves get plenty other sources; why stocks gap overnight explain dem.

One company na just anecdote. Expand am to seven household names and measure the calendar distance between their biggest overnight moves.

QueryGap between each name's eight biggest overnight moves, July 2024 to June 2026
The exact SQL behind every number
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMin(close, window_start) AS first_price,
           argMax(close, window_start) AS last_price
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'WMT', 'COST', 'KO', 'JNJ')
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-07-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, session
),
overnight AS (
    SELECT ticker,
           session,
           first_price,
           lagInFrame(last_price) OVER (PARTITION BY ticker ORDER BY session
                                        ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
    FROM daily
),
moves AS (
    SELECT ticker,
           session,
           abs(toFloat64(first_price) / toFloat64(prior_close) - 1) * 100 AS abs_gap_pct
    FROM overnight
    WHERE toFloat64(prior_close) > 0
      AND abs(toFloat64(first_price) / toFloat64(prior_close) - 1) < 0.3
),
biggest AS (
    SELECT ticker,
           session,
           abs_gap_pct,
           row_number() OVER (PARTITION BY ticker ORDER BY abs_gap_pct DESC) AS rk
    FROM moves
),
spacing AS (
    SELECT ticker,
           session,
           abs_gap_pct,
           dateDiff('day',
                    lagInFrame(session) OVER (PARTITION BY ticker ORDER BY session
                                              ROWS BETWEEN 1 PRECEDING AND CURRENT ROW),
                    session) AS days_between
    FROM biggest
    WHERE rk <= 8
)
SELECT ticker,
       round(quantileDeterministic(0.5)(toFloat64(days_between), cityHash64(session)), 0) AS median_days_between,
       min(days_between) AS closest_pair_days,
       max(days_between) AS widest_pair_days,
       round(quantileDeterministic(0.5)(abs_gap_pct, cityHash64(session)), 2) AS median_move_pct
FROM spacing
WHERE days_between BETWEEN 1 AND 400
GROUP BY ticker
ORDER BY median_days_between DESC
Run this yourself

For each name, dem keep the eight biggest overnight moves from the two years. Then dem measure the number of calendar days between each move and the one before am. Two years get eight scheduled reports, roughly one every three months. The median interval na 93 days for WMT at the top of the panel and 8 days for NVDA at the bottom. The typical move for that set measure 3.91% for WMT. When a name interval dey near three months, e biggest sessions dey follow quarterly cadence. When e far below, the biggest moves for the period include sessions outside any reporting week. Na the honest limit of this method: prices show rhythm, but dem never show date.

How dem build these panels

The price panels read one-minute bars from the regular session, 9:30 to 15:59 New York time. Overnight move na the first minute price of one session measured against the last minute price of the session before am. So e cover everything wey happen while market dey closed, including after-close release. Dem remove moves above 30% in absolute size. The bars no adjust, and share-count change like split fit print as huge overnight move wey nobody trade.

The fiscal-calendar panel count income-statement periods on file for the three years to June 2026, at any length wey each filing cover. So e count periods, no be companies. Vendor filing dates on those statements no reliable, and none appear anywhere on this page.

No panel dey name future reporting date. Date wey company never announce no dey exist in any dataset. Date wey company don announce dey inside press release.

Why exact date matter if you hold options

Implied volatility na the size of move wey option price dey imply, quoted as annualized percentage. Contracts wey expire after scheduled report carry more of am than contracts wey expire before. Once the numbers become public, that premium quickly leave the price, often within the first minutes of trading. IV crush explain the mechanics, while how earnings move the option greeks track wetin happen to vega and theta across the event.

Na here estimated date fit cost money. If you miss am by one week, your position fit land on the wrong side of the print. Expiry before the release no go see the event. Expiry after the release pay for premium wey disappear the next morning. The expected move na the calculation wey traders use to size a print before e happen.

FAQ

How far ahead companies dey announce earnings date?

Large companies normally confirm two to four weeks ahead through short press release, and many keep steady pattern from one quarter to the next. Smaller companies often give one week or less. Until that release exist, any date for screen na estimate.

The earnings date for my brokerage app confirmed or estimated?

Assume say e estimated unless the entry show source. Confirmed date get press release attached and almost always get call time. Entry wey no get time of day and never change throughout the quarter likely come from last year calendar.

Where earnings release dey inside SEC filings?

For 8-K, under Item 2.02, Results of Operations and Financial Condition, with the release attached as Exhibit 99.1. Full statements come separately in 10-Q, or in 10-K after fourth quarter.

Wetin NT 10-Q filing mean?

Na Form 12b-25, wey company file when e go miss filing deadline. E state the reason and give extra five calendar days for 10-Q or fifteen for 10-K. E concern the filing, no be earnings call, though the two often move together.

Companies dey report before the open or after the close?

Both dey common, and announcement go state which one. The choice decide when price fit react. After after-close release, the next regular-hours price na the open the following morning, with after-hours and pre-market trading happening in between.


Every panel here na stored query with the SQL attached. Open one, change the ticker, and run am for Strasmore terminal.