Strasmore Research
학습 Matt Connor작성자 Matt Connor

주식 실적 발표일 확인 방법과 예상일 변동

기업의 실적 발표일은 회사가 정하며 보도자료와 SEC 8-K에서 확인합니다. 예상 발표일이 얼마나 달라질 수 있는지도 설명합니다.

주식의 실적 발표일은 회사가 직접 정하며, 이를 확인할 수 있는 문서는 두 가지뿐이다. 발표일을 알리는 보도자료와 실적 발표 시점에 SEC에 제출되는 8-K다. 다른 곳에서 확인하는 모든 일정은 이 발표를 복사한 것이거나 지난해 패턴을 바탕으로 추정한 것이다. 이 페이지에서는 두 가지를 구별하는 방법과 실제 신고 기한이 요구하는 사항을 설명한다.

회사의 실적 발표일은 누가 정하는가?

거래소가 정하는 것이 아니다. 회사가 직접 실적 발표일을 정하고, 콘퍼런스콜을 예약한 뒤 두 일정을 함께 발표한다. 일반적으로 발표일보다 2~4주 앞서 공지한다. SEC가 규제하는 것은 발표가 아니라 신고다. 공모 유통주식 시가총액이 7억 달러 이상인 대형 신속 신고 기업은 회계분기 종료 후 40일 이내에 10-Q를, 회계연도 종료 후 60일 이내에 10-K를 제출해야 한다. 신속 신고 기업의 기한은 각각 40일과 75일이다. 그 밖의 기업은 각각 45일과 90일이다.

보도자료가 먼저 나오거나 같은 날 발표되는 경우가 일반적이며, 주요 실적 수치를 담는다. 이후 제출되는 10-Q 또는 10-K에는 전체 재무제표가 포함된다. 일반적인 SEC 신고서 안내에서 각 서식 번호를 설명한다.

분기 종료 후 기업은 언제 실적을 발표하는가?

기준 시점은 회사 자체의 회계분기 종료일이다. 이 날짜가 항상 달력상 분기 말과 일치하는 것은 아니다. 2026년 6월까지 3년 동안 제출된 모든 손익계산서 기간을 세어 보면 실적 발표 일정의 패턴이 곧바로 드러난다.

조회회계 분기가 실제로 종료되는 시점: 달력 월별 재무제표 기간, 2023년 7월~2026년 6월
모든 수치 뒤에 숨겨진 정확한 SQL
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

Dec에 종료된 기간은 전체 자료의 33.1%를 차지하고, Mar에는 16.6%, Jun에는 16.5%, Sep에는 25.1%가 해당한다. 이 네 달에 자료의 대부분이 몰려 있다. 나머지 부분이 자주 혼동되는 대목이다. 전체 기간의 Jan1.2%에 종료되고, Jul1.7%에 종료된다. Apple은 9월 말에 회계연도를 마감한다. Walmart는 1월 31일에 회계연도를 마감한다. 따라서 두 회사의 4분기 실적 발표는 해당 날짜 이후 수 주 안에 이뤄지며, 12월 말과는 상당한 차이가 있다.

분기 종료 후 이어지는 기간에 대부분의 대기업은 3~6주 차에 실적을 발표한다. 이는 40일 신고 기한보다 충분히 이른 시점이다. 다만 이를 규칙이 아니라 패턴으로 봐야 한다. 기업은 12일째 발표할 수도 있고 39일째 발표할 수도 있으며, 어느 경우도 규정을 위반하지 않는다.

확정일과 추정일의 차이

확정일에는 이를 뒷받침하는 문서가 있다. 회사가 짧은 보도자료를 내고, 특정 날짜에 종료된 분기의 실적을 특정일에 발표한다고 공지한다. 장 시작 전인지 장 마감 후인지, 콘퍼런스콜이 몇 시에 열리는지도 함께 밝힌다.

추정일에는 이를 뒷받침하는 문서가 없다. 지난해와 같은 회계 주간, 같은 요일을 기준으로 공휴일을 고려해 추정한 날짜다. 정보 제공업체가 이를 게재하고 앱이 표시하지만, 화면에는 추정치라는 표시가 거의 없다. 신뢰할 수 있는 구별 기준은 두 가지다. 추정일에는 콜 시간이 표시되지 않는 경우가 많고, 분기가 진행되는 동안 날짜가 거의 바뀌지 않는다.

추정일은 일반적인 이유로 변경된다. 이사회 회의가 일주일 연기되거나, 감사인이 추가 시간을 요청하거나, 공휴일이 불리하게 겹칠 수 있다. 확정 공지가 나오면 추정일은 이를 대체한다. 분기 시작 이후 일정 항목이 계속 그대로라면, 아직 출처가 확인되지 않은 것이다.

실제 확정 공지는 어디에 게시되는가

순서는 다음 두 곳이다.

  • 투자자관계 사이트. Events, Events and Presentations 또는 News Releases와 같은 제목 아래에 게시된다. 발표일 공지는 보통 두 문단으로 된 보도자료다.
  • EDGAR. SEC의 공개 신고 시스템이다. 회사를 검색한 뒤 8-K 신고서를 확인한다. 실적 발표는 Item 2.02인 Results of Operations and Financial Condition에 따라 제출되며, 보도자료는 Exhibit 99.1로 첨부된다.

8-K는 분기 보고서 제출 사이에 중요한 사건이 발생했을 때 회사가 제출하는 현재보고서다. 일반적으로 사건 발생 후 영업일 기준 4일 이내에 제출한다. 실적 발표는 8-K의 가장 일상적인 활용 사례다. 제3자 일정표는 기껏해야 해당 신고서를 복사한 것이고, 최악의 경우 추정치다. 따라서 첫 확인 수단으로는 유용하지만 최종 근거로는 부족하다.

신고 지연은 어떤 형태로 나타나는가

회사가 기한 내 신고할 수 없을 때는 Form 12b-25를 제출한다. EDGAR에서는 NT 10-Q 또는 NT 10-K로 표시된다. NT는 notification을 뜻한다. 이 서류는 신고 기한을 놓친 뒤 늦어도 1영업일 이내에 제출해야 하며, 지연 사유를 명확히 기재한다. 제출하면 10-Q는 5일, 10-K는 15일의 추가 역일을 확보할 수 있다. 이 기간 안에 보고서를 제출하면 적시 제출로 인정된다.

실적 콘퍼런스콜과 신고는 별개의 사건이다. 신고가 늦어졌다고 해서 콜 일정이 자동으로 변경되지는 않는다. 다만 두 일정이 함께 움직이는 경우가 충분히 많으므로, 특정 날짜에 의존하기 전에 NT 공지를 확인할 필요가 있다. NT 공지가 제공하는 정보는 예측이 아니라 사실이다. 회사가 SEC에 신고 기한을 지키지 못할 것이라고 알렸고, 그 이유도 밝혔다. 사유로는 회계 시스템 전환부터 재작성까지 다양한 내용이 제시된다.

실적 발표 전후 주가 흐름에서 확인되는 것

주가 이력만으로 미래의 실적 발표일을 확인할 수는 없다. 다만 찾고 있는 일정의 리듬은 보여준다. Nvidia는 1월 말, 4월, 7월, 10월 말에 회계분기를 종료하고, 각 분기 종료 후 약 3주 뒤에 실적을 발표한다. 아래는 2026년 6월까지 2년 동안 나타난 Nvidia의 가장 큰 하룻밤 주가 변동 10건이다. 각 변동은 한 거래 세션의 마지막 가격과 다음 세션의 첫 가격을 비교해 측정했다.

조회NVDA: 가장 큰 오버나이트 변동 10건, 2024년 7월~2026년 6월
모든 수치 뒤에 숨겨진 정확한 SQL
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

10건 중 가장 큰 변동은 Mon Aug 5, 2024-14.49%만큼 발생했으며, 변동 규모는 14.49%였다. 10위 세션의 변동 규모는 Fri Aug 2, 20245.46%였다. 각 항목 앞에 표시된 요일을 확인해야 한다. 기업이 일정한 요일에 실적을 발표하는 패턴을 유지한다면, 큰 변동이 발생한 세션도 같은 요일에 집중된다. 이는 추정일을 판단할 때 가장 유용한 단서다. 하룻밤 주가 변동에는 다른 원인도 많다. 주가가 하룻밤 사이 갭을 보이는 이유에서 이를 설명한다.

한 기업의 사례만으로는 부족하다. 널리 알려진 7개 기업으로 범위를 넓혀 가장 큰 하룻밤 변동 사이의 달력상 간격을 측정해 보자.

조회각 종목의 가장 큰 오버나이트 변동 8건 사이 간격, 2024년 7월~2026년 6월
모든 수치 뒤에 숨겨진 정확한 SQL
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

각 기업별로 2년 동안 가장 큰 하룻밤 변동 8건을 추린 뒤, 각 변동과 직전 변동 사이의 역일 수를 측정했다. 2년에는 예정된 실적 발표가 8회 포함되며, 대략 3개월마다 한 번씩 발생한다. 패널 상단의 WMT에 대한 중앙값 간격은 93일이고, 하단의 NVDA에 대한 중앙값 간격은 8일이다. 이 집합에서 일반적인 변동폭은 WMT3.91%였다. 특정 기업의 간격이 3개월에 가까우면 가장 큰 변동이 분기별 일정에 맞춰 나타난다는 뜻이다. 간격이 크게 짧으면 해당 기간의 가장 큰 변동 중 일부가 실적 발표 주간 외의 세션에서 발생했다는 뜻이다. 이 방법의 한계는 분명하다. 주가는 리듬을 보여줄 뿐, 날짜 자체를 보여주지는 않는다.

이 패널은 어떻게 구축했는가

주가 패널은 뉴욕 시간 정규 거래시간인 9시 30분부터 15시 59분까지의 1분봉을 사용한다. 하룻밤 변동은 한 세션의 첫 1분 가격을 직전 세션의 마지막 1분 가격과 비교한 값이다. 따라서 장이 닫혀 있는 동안 발생한 모든 움직임을 포함하며, 장 마감 후 발표된 보도자료의 영향도 포함한다. 절대 변동폭이 30%를 초과하는 경우는 제외했다. 봉 데이터가 조정되지 않았기 때문이다. 주식분할과 같은 주식 수 변경은 실제 거래가 없어도 큰 하룻밤 변동으로 표시된다.

회계 일정 패널은 2026년 6월까지 3년 동안 제출된 손익계산서 기간을 센다. 각 신고서가 다룬 기간의 길이는 그대로 반영하므로, 기업 수가 아니라 기간 수를 집계한다. 해당 재무제표에 표시된 정보 제공업체의 신고일은 신뢰할 수 없으며, 이 페이지 어디에도 사용하지 않았다.

어느 패널도 미래의 실적 발표일을 특정하지 않는다. 회사가 아직 발표하지 않은 날짜는 어떤 데이터셋에도 존재하지 않는다. 회사가 발표한 날짜는 보도자료에 존재한다.

옵션을 보유하고 있다면 정확한 날짜가 중요한 이유

내재변동성은 옵션 가격이 암시하는 주가 변동폭이며, 연율로 표시한다. 예정된 실적 발표 이후 만기가 도래하는 계약은 발표 전에 만기가 도래하는 계약보다 내재변동성이 높다. 실적 수치가 공개되면 이 프리미엄은 가격에서 빠르게 사라지며, 거래 시작 후 처음 몇 분 안에 사라지는 경우도 많다. IV crush에서 작동 원리를 설명하고, 실적 발표가 옵션 그릭스에 미치는 영향에서 이벤트 전후 vega와 theta의 변화를 추적한다.

이 때문에 추정일을 틀리면 비용이 커진다. 일주일을 잘못 추정하면 포지션이 실적 발표의 반대편에 놓일 수 있다. 발표 전에 만기가 도래하는 옵션은 이벤트를 경험하지 못하고, 발표 후 만기가 도래하는 옵션은 다음 날 아침 사라질 프리미엄을 부담하게 된다. 예상 변동폭은 실적 발표 전에 변동폭을 산정할 때 사용하는 계산값이다.

FAQ

기업은 실적 발표일을 얼마나 미리 공지하는가?

대기업은 일반적으로 짧은 보도자료를 통해 2~4주 전에 확정일을 공지한다. 분기마다 일정한 패턴을 유지하는 기업도 많다. 규모가 작은 기업은 1주일 전이나 그보다 짧은 기간 전에 공지하는 경우가 많다. 해당 보도자료가 나오기 전까지 화면에 표시되는 날짜는 모두 추정일이다.

증권사 앱에 표시된 실적 발표일은 확정일인가, 추정일인가?

출처가 표시되지 않는 한 추정일로 봐야 한다. 확정일에는 보도자료가 연결되어 있으며, 거의 항상 콘퍼런스콜 시간이 함께 표시된다. 시간대가 표시되지 않고 분기 내내 변경되지 않은 항목은 지난해 일정을 바탕으로 추정한 것이다.

SEC 신고서에서 실적 발표 자료는 어디에 있는가?

8-K의 Item 2.02인 Results of Operations and Financial Condition에 있으며, 보도자료는 Exhibit 99.1로 첨부된다. 전체 재무제표는 별도로 제출되는 10-Q에 포함된다. 4분기 이후에는 10-K에 포함된다.

NT 10-Q 신고는 무엇을 의미하는가?

회사가 신고 기한을 지키지 못할 때 제출하는 Form 12b-25다. 지연 사유를 밝히며, 10-Q에는 5일, 10-K에는 15일의 추가 역일을 부여한다. 실적 콘퍼런스콜이 아니라 신고와 관련된 절차지만, 두 일정이 함께 변경되는 경우도 많다.

기업은 장 시작 전에 실적을 발표하는가, 장 마감 후에 발표하는가?

두 방식 모두 일반적이며, 발표 공지에 어느 방식인지 명시된다. 이 선택에 따라 주가가 반응할 수 있는 시점이 달라진다. 장 마감 후 발표되면 다음 정규 거래시간 가격은 다음 날 아침 시가이며, 그 사이에 장외거래와 프리마켓 거래가 진행된다.


이 페이지의 모든 패널은 SQL이 첨부된 저장 쿼리다. 패널을 열고 ticker를 변경한 뒤 Strasmore 터미널에서 실행하면 된다.