Strasmore Research
학습 Matt Connor작성자 Matt Connor

스톱 주문과 스톱지정가 주문의 차이 및 체결 방식

스톱 주문은 시장가 주문으로 전환되어 즉시 체결되지만 스톱지정가 주문은 지정가 주문으로 전환되어 가격을 우선시합니다. 지난 오 년간의 갭 데이터를 분석하면 지정가 주문은 시장 상황에 따라 체결되지 않을 위험이 있음을 확인할 수 있습니다.

스톱 주문(stop order)과 스톱지정가 주문(stop-limit order)은 모두 시장 가격이 설정한 가격에 도달할 때까지 비활성 상태로 유지되다가, 도달하는 순간 각기 다른 방식으로 작동합니다. 스톱 주문은 시장가 주문(market order)으로 전환되어 트리거 가격과 무관하게 즉시 체결 가능한 가격으로 거래를 실행합니다. 반면 스톱지정가 주문은 설정한 지정가(limit price)로 전환되며, 해당 가격보다 불리한 조건에서는 체결되지 않습니다. 전자는 거래 완료를, 후자는 가격을 우선시하며, 두 주문 모두를 동시에 보장받을 수는 없습니다.

스톱 주문이란 무엇인가?

스톱 주문은 브로커에게 전달하는 지시 사항입니다. 주가가 스톱 가격에 도달하거나 이를 통과하는 거래(print)가 발생하면 시장가 주문을 전송하라는 의미입니다. 해당 거래가 발생하기 전까지 주문은 아무런 동작을 하지 않습니다. 거래소 주문장에 대기하지 않으며 다른 트레이더에게 노출되지 않고, 설정한 가격에서 유동성을 공급하지도 않습니다. 대부분의 개인 투자자용 스톱 주문은 브로커의 자체 시스템에 머물러 있다가 트리거 조건이 충족된 후에야 거래소로 전송됩니다.

주문이 실행되면 하한선이 없는 일반 시장가 주문이 되어, 최선의 매도 호가부터 시작해 주문 수량이 모두 채워질 때까지 거래를 수행합니다. 유동성이 풍부하고 호가 스프레드가 좁은 시장에서는 1센트 정도의 차이로 체결되지만, 유동성이 낮거나 급변하는 시장에서는 수 퍼센트의 가격 차이가 발생할 수 있습니다. 시장가 주문과 지정가 주문의 차이는 트리거 이후 발생하는 모든 상황을 설명하며, 스톱 주문은 전환된 주문의 모든 속성을 그대로 이어받습니다.

스톱지정가 주문이란 무엇인가?

스톱지정가 주문은 두 가지 가격을 설정합니다. 스톱 가격은 트리거 역할을 하며 위와 동일하게 작동합니다. 지정가는 주문이 활성화되었을 때 수용할 수 있는 최악의 가격입니다. 트리거 가격에 도달하면 브로커는 시장가 주문 대신 해당 지정가로 제한된 주문을 전송합니다.

이후에는 일반 지정가 주문처럼 작동하여 지정가 또는 그보다 유리한 가격에 체결되며, 시장 가격이 지정가보다 낮으면 체결을 대기합니다. 가격이 다시 돌아오지 않으면 주문은 유효 기간이 만료되어 포지션이 그대로 유지됩니다. 스톱 가격과 지정가를 동일하게 설정하는 것이 가장 엄격한 방식이며, 이 경우 체결되지 않을 확률이 가장 높습니다. 지정가를 스톱 가격보다 훨씬 낮게 설정하면 더 유연해지며, 하한선이 있는 스톱 주문과 유사해집니다.

갭 발생 시 스톱 주문 vs 스톱지정가 주문

가상의 상황을 가정해 보겠습니다. 주가가 50달러에 마감되었고 48달러에 스톱 주문을 걸어두었습니다. 다음 날 아침 첫 거래가 41달러에 발생합니다. 스톱 주문은 장 시작과 함께 발동되어 41달러 근처에서 체결됩니다. 48달러라는 가격은 시장에 존재하지 않았으므로 주문은 해당 가격을 요구하지도 못합니다. 반면 48달러 스톱 가격에 47.50달러 지정가를 설정한 스톱지정가 주문은 장 시작 시 발동되지만, 41달러에 거래되는 시장에 47.50달러 매도 호가를 제출할 뿐입니다. 체결은 이루어지지 않고, 시장 가격보다 6.5달러 높은 곳에 활성 주문을 둔 채 주식을 그대로 보유하게 됩니다.

대형주에서 이 정도 규모의 변동은 드뭅니다. 하지만 소형주에서는 일상적이며, 스톱 주문은 이러한 작은 변동만으로도 발동됩니다. 아래 패널은 2026년 7월까지 5년간 주요 5개 종목에 대해, 장 시작 거래가 전일 종가 대비 최소 1% 및 3% 이상 하락하여 시작한 빈도를 집계한 것입니다. 주식 분할 날짜는 비교에서 제외했습니다. 10대 1 분할은 1주를 10주로 만들고 주가를 약 90% 낮추는데, 이는 갭이 아닌 산술적 조정이기 때문입니다. 주식의 야간 갭 발생 이유에서 야간 세션 자체에 대해 다룹니다.

조회종목별 전일 종가 대비 하락 출발 빈도
모든 수치 뒤에 숨겨진 정확한 SQL
WITH sessions AS
(
    SELECT
        ticker,
        date,
        toFloat64(open)  AS open_px,
        toFloat64(close) AS close_px,
        row_number() OVER (PARTITION BY ticker ORDER BY date)     AS session_n,
        row_number() OVER (PARTITION BY ticker ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
)
SELECT
    cur.ticker                                                              AS symbol,
    round(100 * countIf(cur.open_px <= prior.close_px * 0.99) / count(), 1) AS opened_1pct_lower_pct,
    round(100 * countIf(cur.open_px <= prior.close_px * 0.97) / count(), 1) AS opened_3pct_lower_pct
FROM sessions AS cur
INNER JOIN sessions AS prior
    ON cur.ticker = prior.ticker
   AND cur.session_n = prior.next_session_n
WHERE (cur.ticker, cur.date) NOT IN
(
    SELECT ticker, execution_date
    FROM global_markets.stocks_splits
)
GROUP BY symbol
ORDER BY opened_1pct_lower_pct DESC
Run this yourself

해당 기간 동안 NVDA는 전체 세션의 22.1%에서 전일 종가 대비 최소 1% 하락하여 시작했고, 3.4%에서는 최소 3% 하락하여 시작했습니다. 가장 변동성이 낮은 KO의 경우 2.3%의 빈도를 보였습니다. 시장 근처에 대기 중인 스톱 주문은 단 하룻밤의 야간 세션만으로도 발동될 수 있습니다.

주문 유형을 구분 짓는 핵심은 규모이며, 장 시작 후 첫 30분이 가장 비용이 많이 발생하는 구간입니다. 다음 패널은 지난 5년간 NVDA가 기록한 가장 큰 8개의 하락 갭을 보여줍니다. 각 행은 전일 종가 대비 시가, 그리고 정규 거래 첫 30분 동안의 저점 대비 시가를 측정합니다.

조회NVDA의 최대 하락 출발(gap-down) 및 이후 30분간의 주가 흐름
모든 수치 뒤에 숨겨진 정확한 SQL
WITH sessions AS
(
    SELECT
        date,
        toFloat64(open)  AS open_px,
        toFloat64(close) AS close_px,
        row_number() OVER (ORDER BY date)     AS session_n,
        row_number() OVER (ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'NVDA'
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
),
gap_days AS
(
    SELECT
        cur.date                                           AS d,
        round(100 * (cur.open_px / prior.close_px - 1), 2) AS gap_pct
    FROM sessions AS cur
    INNER JOIN sessions AS prior ON cur.session_n = prior.next_session_n
    WHERE cur.date NOT IN
    (
        SELECT execution_date
        FROM global_markets.stocks_splits
        WHERE ticker = 'NVDA'
    )
    ORDER BY gap_pct ASC
    LIMIT 8
),
opening_30m AS
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS first_print,
        min(toFloat64(low))                                  AS low_30m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'NVDA'
      AND window_start >= '2021-08-01'
      AND window_start <  '2026-08-01'
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM gap_days)
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 600
    GROUP BY d
)
SELECT
    toString(g.d)                                     AS session_date,
    g.gap_pct                                         AS open_vs_prior_close_pct,
    round(100 * (o.low_30m / o.first_print - 1), 2)   AS first_30m_low_vs_open_pct
FROM gap_days AS g
INNER JOIN opening_30m AS o ON o.d = g.d
ORDER BY g.d
Run this yourself

가장 최근 사례인 2025-04-16의 경우, 시가는 전일 종가 대비 -6.82%였으며, 장 시작 후 30분간의 저점은 시가 대비 -0.19%였습니다. 가장 오래된 행인 2022-02-24-6.13%에 시작했습니다. 이러한 아침에 발동된 스톱 주문은 해당 범위 내 어딘가에서 체결되며, 보유자는 가격 결정권을 갖지 못합니다.

스톱지정가 주문은 장중에 체결되는가?

그럴 때도 있습니다. 장 시작 시 체결되지 않은 지정가 주문은 여전히 유효하며, 주문이 만료되기 전에 가격이 다시 상승하면 체결될 수 있습니다. 문제는 당일에 가격이 다시 돌아오는 빈도입니다.

아래 패널은 동일한 종목들에 대해 전일 종가 대비 2% 낮은 스톱 가격과, 스톱 가격보다 1% 낮은 지정가를 설정한 가상의 상황을 적용합니다. 두 가격 모두 아래에서 시작하여 장 시작과 동시에 트리거가 발동되고 지정가는 도달 불가능한 상태가 된 세션만을 대상으로, 당일 고가가 지정가에 도달했는지 확인합니다.

조회2% 손절가를 하향 돌파한 세션 및 지정가 체결 여부
모든 수치 뒤에 숨겨진 정확한 SQL
WITH sessions AS
(
    SELECT
        ticker,
        date,
        toFloat64(open)  AS open_px,
        toFloat64(high)  AS high_px,
        toFloat64(close) AS close_px,
        row_number() OVER (PARTITION BY ticker ORDER BY date)     AS session_n,
        row_number() OVER (PARTITION BY ticker ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
)
SELECT
    cur.ticker                                                                AS symbol,
    count()                                                                   AS gapped_through_sessions,
    round(100 * countIf(cur.high_px >= prior.close_px * 0.9702) / count(), 1) AS reached_limit_intraday_pct
FROM sessions AS cur
INNER JOIN sessions AS prior
    ON cur.ticker = prior.ticker
   AND cur.session_n = prior.next_session_n
WHERE cur.open_px < prior.close_px * 0.9702
  AND (cur.ticker, cur.date) NOT IN
  (
      SELECT ticker, execution_date
      FROM global_markets.stocks_splits
  )
GROUP BY symbol
ORDER BY reached_limit_intraday_pct DESC
Run this yourself

KO은 갭 하락이 발생한 2일 중 100%에서 당일 중 지정가까지 다시 상승했습니다. 이는 해당 현상을 보인 5개 종목 중 가장 높은 비율입니다. MSFT66.7%의 확률로 돌아왔습니다. 가격에 도달하는 것과 체결되는 것은 다릅니다. 주문은 해당 가격의 대기열에 합류할 뿐이며, 잠시 해당 가격을 터치하는 것만으로는 앞선 주문들만 처리될 수 있습니다. 이 질문에 대한 더 자세한 내용은 주식 갭이 채워지는지 여부를 참조하십시오.

스톱 주문을 실제로 발동시키는 요인

트리거 조건은 주문 티켓이 암시하는 것보다 좁습니다. 대부분의 브로커에서 매도 스톱 주문은 스톱 가격 이하의 최종 체결가(last-sale print)가 발생할 때 발동됩니다. 매수 호가가 스톱 가격 아래로 내려가더라도 실제 거래가 발생하지 않으면 주문은 비활성 상태로 유지되며, 단 한 번의 작은 거래만으로도 주문이 깨어날 수 있습니다. 많은 브로커에서 소량 거래(odd lot)도 포함되므로, 엉뚱한 가격에 발생한 7주 거래만으로도 충분합니다.

두 가지 조건이 이를 취약하게 만듭니다. 장 시작 시 호가는 하루 중 가장 넓게 벌어지는데, 장 시작 시 스프레드가 넓어지는 이유에서 이를 상세히 분석합니다. 거래 정지 후 재개 시에도 첫 거래가 정지 전 마지막 거래와 멀리 떨어진 곳에서 발생하며 유사한 현상이 나타납니다.

가격 수준만큼이나 타이밍도 중요합니다. 아래 패널은 세션의 각 30분 구간에서 1분 봉 하나가 고가에서 저가까지 얼마나 움직이는지를 베이시스 포인트(bps)로 측정합니다. 1 베이시스 포인트는 1%의 100분의 1이므로, 50 bps는 가격의 0.5%를 의미합니다.

조회시간대별 1분 봉 평균 고가-저가 변동폭
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(avgIf(10000 * (toFloat64(high) - toFloat64(low)) / toFloat64(close), ticker = 'NVDA'), 1) AS nvda_range_bps,
    round(avgIf(10000 * (toFloat64(high) - toFloat64(low)) / toFloat64(close), ticker = 'SPY'), 1)  AS spy_range_bps
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('NVDA', 'SPY')
  AND window_start >= '2025-08-01'
  AND window_start <  '2026-08-01'
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
HAVING countIf(ticker = 'NVDA') > 0
   AND countIf(ticker = 'SPY') > 0
ORDER BY et_time
Run this yourself

NVDA의 경우 09:30 구간은 분당 평균 28.5 bps의 변동을 보이며, 10 구간의 12:30 bps와 대비됩니다. 훨씬 광범위한 종목인 SPY는 장 시작 시 7 bps, 정오 무렵에는 3.9 bps를 기록합니다. 밤을 넘긴 스톱 주문은 이 첫 번째 구간에서 발동됩니다.

유효 기간이 스톱 주문에 미치는 영향

스톱 주문은 다른 주문과 마찬가지로 유효 기간(time in force)을 가집니다. 당일 주문(day stop)은 장 마감 시 만료되어 다음 날 아침 다시 입력해야 합니다. 취소 전까지 유효한 주문(GTC, good-till-canceled)은 브로커가 대기 주문에 적용하는 만료일까지 세션을 넘어 유지됩니다. 스톱 주문을 발동시키는 움직임은 종종 어제의 당일 주문이 더 이상 존재하지 않는 야간에 발생합니다. 주문 유효 기간 설명에서 당일 주문, GTC 및 시간 외 거래 변형에 대해 다룹니다.

또한 많은 브로커는 주문이 시간 외 거래용으로 표시되지 않는 한, 정규 세션 중에만 스톱 트리거를 평가합니다. 오전 7시에 주가가 5% 하락하더라도 스톱 주문은 장 시작 전까지 비활성 상태로 유지될 수 있습니다.

트레일링 스톱과 옵션 스톱

트레일링 스톱(trailing stop)은 이동하는 기준점을 사용하여 동일한 트리거 로직을 사용합니다. 센트나 퍼센트 단위로 거리를 설정하면, 트리거는 진입 이후 도달한 최선의 가격을 따라 한 방향으로만 움직입니다. 이는 트레일링 스톱 주문과 트레일링 스톱지정가 주문으로 제공되며, 발동되는 순간 동일한 트레이드오프를 상속받습니다.

옵션은 더 까다로운 사례입니다. 옵션 호가는 주식보다 넓게 시작하며 급변하는 시장에서는 더 크게 벌어집니다. 계약 가격은 기초자산, 시간, 그리고 미래 움직임을 반영한 내재 변동성(implied volatility)에 따라 변합니다. 옵션 계약에 대한 스톱 주문은 매수 호가와 매도 호가가 수 달러씩 차이 나는 시장에서 단 한 번의 거래만으로도 발동될 수 있습니다. 일부 브로커는 옵션에 대한 스톱 주문 유형을 제한합니다.

자주 묻는 질문(FAQ)

스톱로스 주문은 가격을 보장합니까?

아니요. 스톱 주문은 트리거 가격에 도달했을 때 주문이 전송된다는 것만 보장하며, 갭 발생 후에는 스톱 가격보다 훨씬 낮은 가격으로 체결될 수 있습니다. 스톱지정가 주문은 가격을 보장하지만 체결 자체를 보장하지는 않습니다.

스톱지정가 주문이 스톱 주문보다 나은가요?

두 주문은 서로 다른 질문에 답합니다. 스톱 주문은 '탈출' 자체를 우선순위로 둡니다. 스톱지정가 주문은 '탈출 가격'을 우선순위로 두며 포지션이 청산되지 않을 가능성을 수용합니다. 리스크가 가격에서 체결 여부로 이동할 뿐 사라지는 것은 아닙니다.

다른 트레이더가 내 스톱 주문을 볼 수 있나요?

스톱 주문 상태로는 볼 수 없습니다. 브로커가 보유한 스톱 주문은 브로커 시스템에 머물며, 트리거가 발동되기 전까지는 어떤 거래소 주문장에도 나타나지 않습니다. 발동 후 시장에 보이는 것은 일반적인 시장가 또는 지정가 주문입니다.

어떤 가격이 스톱 주문을 발동시키나요?

대부분의 브로커에서 매도 스톱 주문은 스톱 가격 이하의 최종 체결가에서, 매수 스톱 주문은 스톱 가격 이상의 최종 체결가에서 발동됩니다. 호가 기반 규칙도 존재하며, 단 한 번의 소량 거래(odd lot)만으로도 충분할 수 있습니다. 귀하의 계좌에 적용되는 규칙은 브로커의 주문 처리 공시에서 확인할 수 있습니다.


이곳의 모든 패널에는 해당 데이터를 생성한 SQL이 포함되어 있습니다. 티커나 갭 임계값을 변경하면 Strasmore 터미널에서 귀하가 팔로우하는 종목에 대해 동일한 질문에 대한 답을 평이한 영어로 확인할 수 있습니다.