이 내용은 투자 조언이 아닙니다. 제공된 정보는 교육 및 정보 제공 목적에 한하며, 어떠한 금융 상품의 매수 또는 매도를 권유하는 것으로 해석되지 않습니다.
OCO(하나가 다른 하나를 취소하는) 주문은 두 개의 연결된 주문으로, 한 주문이 체결되면 다른 주문은 자동으로 취소됩니다. 이 주문은 포지션을 두 가격 수준 중 하나에서 청산하고 싶지만 둘 다는 원하지 않을 때 유용합니다. 보통은 이익 실현 목표 또는 손절(스톱-로스)입니다. 먼저 체결되는 주문이 승리하며, 나머지 주문은 취소됩니다.
이 글은 실전형 안내입니다. OCO 주문이 언제 의미가 있는지, 일반적인 플랫폼에서 어떻게 설정하는지, 그리고 무엇을 주의해야 하는지까지 단계별로 살펴봅니다.
OCO 주문이 의미 있는 경우
세 가지 일반적인 용도:
- 브래킷 주문. 이익 목표와 손절 손실을 모두 가진 롱 포지션. 현재 가격보다 위에 매도 리밋을, 아래에 매도 스탑을 배치하세요. 먼저 체결되는 쪽이 채워지고, 나머지는 취소됩니다. 포지션은 두 가격 중 하나에서 종료됩니다.
- 브레이크아웃 진입. 저항 위로의 브레이크아웃 또는 지지 아래로의 브레이크다운을 기다리는 트레이더. 저항 위에는 매수 스탑, 지지 아래에는 매도 스탑을 배치하세요. 먼저 트리거되는 쪽이 포지션에 진입하며, 다른 쪽은 취소됩니다.
- 재진입. 특정 레벨 위에서는 롱을, 아래에서는 숏을 원한다는 트레이더. 브레이크아웃 진입과 동일한 구조이되, 포지션의 양쪽을 모두 관리합니다.
공통된 패턴: OCO 주문은 선택에 관한 것입니다. 어느 쪽이 먼저 실행될지는 모르지만, 양쪽 모두에 대비하고 싶어 하는 것이죠.
일반적인 플랫폼에서 OCO를 설정하는 방법
정확한 단계는 Broker마다 다르지만, 구조는 동일합니다. 대부분의 플랫폼(thinkorswim, Interactive Brokers, Tastyworks, TradeStation 등)에서는 다음과 같습니다.
- 포지션을 마우스 오른쪽 버튼으로 클릭하거나 주문 티켓을 여세요. 대부분의 플랫폼에는 주문 유형 드롭다운에 OCO 옵션이 있습니다.
- 첫 번째 다리를 설정하세요. 보통 제한 주문(이익 실현) 또는 정지 주문(손절)입니다.
- 두 번째 다리를 설정하세요. 보완되는 주문을 설정합니다.
- 두 다리를 OCO로 연결하세요. 대부분의 플랫폼에는 주문을 OCO로 표시하는 확인란 또는 버튼이 있습니다.
- 제출하세요. 플랫폼이 두 주문을 모두 전송하며, 하나가 체결되면 다른 하나는 자동으로 취소됩니다.
플랫폼은 제출 후에도 가격과 주문 유형을 조정할 수 있습니다. OCO 연결은 두 다리 중 하나가 체결되거나, 사용자가 둘 다 수동으로 취소할 때까지 유지됩니다.
일반적인 변형
중단(Stop) 쪽에 스탑-리밋을 사용하는 OCO
일반적인 스탑 주문은 트리거되면 시장 주문으로 전환되어, 변동성이 큰 시장에서는 슬리피지가 발생할 수 있습니다. 스탑-리밋 주문은 지정한 가격에서 리밋 주문으로 전환되므로 슬리피지를 피할 수 있지만, 가격이 리밋을 넘어(갭) 버리면 체결되지 않을 위험이 있습니다.
트레이드오프: 슬리피지가 있는 스탑-마켓 체결 vs 지정한 가격에서 체결되거나 아예 체결되지 않는 스탑-리밋 체결. OCO는 스탑-마켓(손절용)과 리밋 주문(익절 목표용)을 결합할 수도 있고, 양쪽 모두 스탑-리밋으로 설정할 수도 있습니다.
트레일링 스탑 OCO
트레일링 스탑은 가격이 유리한 방향으로 움직일 때 그에 맞춰 조정되는 스탑입니다. 트레일링 스탑 OCO는 트레일링 스탑(가격을 따라 올라가는 손절 주문)과 리밋 주문(이익 목표)을 결합합니다. 가격이 되돌리면 트레일링 스탑에서 포지션이 청산되고, 목표가 먼저 달성되면 리밋에서 청산됩니다.
트레일링 스탑 OCO는 여러 날에 걸친 움직임을 포착하고 싶지만 되돌림이 나오면 빠져나가고 싶은 모멘텀 트레이드에 유용합니다. 트레일링 스탑은 가격이 상승할 때 이익을 고정해 주며, 리밋 목표는 상승 방향의 출구를 제공합니다.
기간 제한 OCO
일부 플랫폼에서는 OCO에 만료(유효기간)를 설정할 수 있습니다. OCO는 어느 한쪽 다리가 체결되지 않은 경우 만료 시각에 자동으로 취소됩니다. 특정 시간 창 동안에만 유효한 설정에 유용합니다(예: 실적 발표 또는 장 개장).
만료 설정은 플랫폼마다 다릅니다. 일부 플랫폼은 기본값이 “good till cancelled”(GTC)일 수 있는데, 이는 OCO가 무기한으로 활성 상태로 유지된다는 뜻입니다. 다른 플랫폼은 기본값이 “day” 또는 “good till close”(GTC)일 수 있습니다. 전략에 맞춰 만료를 의도적으로 설정하세요.
무엇이 잘못될 수 있나요
세 가지 패턴:
1. 빠른 시장에서 두 다리가 동시에 트리거되는 경우
빠르게 움직이는 시장에서는 두 다리가 같은 밀리초 안에 트리거될 수 있습니다. 플랫폼은 주문 라우팅에 따라 하나만 체결되거나, 다른 하나만 체결되거나, 둘 다 체결될 수 있습니다. “OCO”는 한쪽이 먼저 체결되면 다른 쪽이 취소된다는 것만 보장하지만, 플랫폼이 취소하기 전에 둘 다 체결되면 부분 청산 또는 반대 방향으로의 전환(플립) 결과가 발생할 수 있습니다.
해결 방법: 두 가격 수준을 모두 건너뛰며(gap) 통과할 가능성이 있는 시장에서는 OCO를 사용하지 마세요. 버퍼가 포함된 스톱-마켓을 사용하거나, 부분 체결 위험을 감수하세요.
2. 캔들 심지(wick)에서 스톱 레그가 트리거되는 경우
캔들 심지에서는 가격이 잠깐 스톱 레벨에 도달하지만 종가(마감)는 그 위로 마감됩니다. 스톱-마켓 주문은 심지에서 트리거되어 스톱 가격(또는 그보다 불리한 가격)에 체결됩니다. OCO는 리밋 주문을 취소하지만, 잡음(noise) 때문에 이미 청산(진입/청산)해버린 상태가 됩니다.
해결책: 버퍼가 있는 스톱-리밋을 사용하거나, 시간 기반 확인(time-based confirmation)을 사용하세요.
3. 플랫폼이 진정한 OCO를 지원하지 않는 경우
일부 플랫폼은 OCO 대신 “연동 주문(linked orders)” 또는 “터치 시(if-touched) 주문”만 지원하며, OCO처럼 보이지만 취소 로직이 다를 수 있습니다. OCO 동작을 확인하려면 플랫폼 문서를 읽어보세요.
평가 방법
OCO 주문을 설정할 때 다음을 확인하세요.
- 플랫폼이 진정한 OCO를 지원하나요? (유동성이 높은 종목에 소액 주문을 넣어 동작을 확인해 보세요.)
- 각 다리(leg)에서 어떤 주문 유형이 지원되나요? (스톱-마켓, 스톱-리밋, 트레일링 스톱, 리밋. 선택지가 많을수록 더 다양한 전략을 실행할 수 있습니다.)
- 만료(expiry) 기본값은 무엇인가요? (Day, GTC 또는 사용자 지정. 의도적으로 설정하세요.)
- 부분 체결(partial-fill) 처리는 어떻게 되나요? (리밋 다리의 50%만 체결되면 OCO가 취소되나요? 대부분의 플랫폼은 취소하지만, 일부는 미체결 다리를 계속 활성 상태로 둡니다.)
- 스톱 다리의 슬리피지는 어느 정도인가요? (스톱-마켓은 슬리피지가 발생합니다. 실제 체결 품질을 확인하려면 페이퍼 트레이딩 계정에서 테스트해 보세요.)
자주 묻는 질문
OCO는 브래킷 주문과 같은가요?
브래킷 주문은 특정 유형의 OCO입니다. 즉, OCO로 연결된 이익 실현(익절) 목표와 손절(stop-loss)을 모두 포함하는 진입 주문입니다. 일반적인 OCO는 서로 연결된 어떤 두 주문이든 될 수 있으며, 브래킷은 그중 하나의 흔한 사용 사례입니다.
여러 계정에 걸쳐 OCO를 설정할 수 있나요?
대부분의 플랫폼은 계정 간 OCO를 지원하지 않습니다. OCO는 단일 계정 내에서 포지션(주문) 수준으로 설정됩니다.
OCO와 OTO(하나가 다른 하나를 실행)의 차이점은?
OTO는 첫 번째 주문이 체결될 때에만 두 번째 주문이 실행되도록 연결된 두 개의 주문입니다. OCO는 첫 번째 주문이 체결되면 두 번째 주문이 취소되도록 연결된 두 개의 주문입니다.
모든 브로커가 OCO 주문을 지원하나요?
대부분의 1순위 브로커는 지원합니다. 예를 들어 Interactive Brokers, Schwab, Tastyworks, TradeStation, E*TRADE 등이 있습니다. 다만 구현 방식은 각기 다릅니다.
관련 자료
시작 위치
거래에서 OCO 주문을 사용하려면, 실질적인 첫 단계는 해당 주문 유형을 지원하는 Broker와 함께 종이(페이퍼) 트레이딩 계정을 설정하고 소규모 포지션으로 동작을 테스트하는 것입니다. 종이 계정은 실제 자금을 투입하기 전에 플랫폼의 OCO 로직을 확인할 수 있는 유일한 방법입니다. OCO 지원이 있는 현재 플랫폼 목록은 브로커 표를 확인하세요.