해외주식, 한투

한투 미국주식 프리마켓 자동 손절 익절 봇

보유한 미국주식이 프리마켓(미 동부시간 04:00~09:30)에 크게 움직일 때 사람 손 없이 손절하고 익절하고 싶다는 요청이었습니다. 한국투자증권 KIS API로 만들었고, 해외 브로커를 새로 트지 않고 쓰던 국내 증권사 계좌 그대로 운영했습니다.

플랫폼
한국투자증권 KIS Developers
(해외주식 REST)
특징
프리마켓 1초 폴링
손절, 익절
유형
미국주식 리스크 관리
제작 기간
약 2~3주
한투 미국주식 프리마켓 손절 익절 프로그램 화면. 프리마켓 운영중과 API 연결됨 표시, 마스킹된 계좌 카드, 종목 슬롯 3개의 손절 익절 트리거가와 주문가와 상태, 보유 종목 표, 주문 이력, 실시간 로그
납품한 프로그램(DRY-RUN 모드). 슬롯마다 평단가 기준 손절가와 익절가가 계산돼 있고, 익절이 발동한 종목의 주문 이력이 아래에 남습니다 (종목과 수량은 예시)

01배경과 고객 요구사항

고객은 미국주식을 여러 종목 들고 있었고, 프리마켓에 갑자기 빠지거나 급등하면 정해 둔 선에서 자동으로 팔리기를 원했습니다. 그런데 그 시간대는 사람이 지키고 앉아 있기 어렵습니다.

미국 프리마켓은 한국시간으로 저녁부터 밤까지 열립니다. 서머타임 기준 17:00~22:30이고 겨울에는 한 시간씩 밀립니다. 정규장은 그대로 새벽까지 이어집니다. 저녁 약속 중이거나 잠든 사이에 급락이 나오면 매번 화면을 보고 대응할 수가 없습니다. "자는 사이에 −10%가 나 있더라"는 일을 막자는 데서 시작한 프로젝트입니다.

요청 내용은 이렇습니다. 보유 종목의 평단가를 기준으로 손절선과 익절선을 잡고, 프리마켓 시간에만 감시하다가 선에 닿으면 바로 팔 것. 그리고 해외 브로커를 새로 트지 않고 이미 쓰던 한국투자증권 계좌로 운영할 것. 만들면서 까다로웠던 점은 따로 있었습니다. 미국주식은 종목마다 상장 거래소가 NASDAQ, NYSE, AMEX로 다르고 1달러 미만 종목도 섞여 있어서, 종목마다 다른 조건을 프로그램이 알아서 처리해야 했습니다.

02구현 방식

실시간 스트리밍을 쓰지 않고 잔고를 1초마다 조회하는 단순한 구조로 잡았습니다. KIS 해외주식 잔고 응답에는 현재가가 함께 실려 옵니다. 그래서 잔고 조회 하나로 가격 감시, 보유 종목 동기화, 손익 표시가 모두 해결됩니다.

시스템 흐름. 평단 기준 손절 익절 트리거에서 프리마켓 1초 폴링을 거쳐 지정가 매도로 이어지고, 종목별 거래소를 자동으로 찾습니다
동작 흐름. 평단 기준 트리거, 프리마켓 1초 폴링, 지정가 매도 순서이고 종목별 거래소는 자동으로 찾습니다
앱 로그. 토큰 발급, NASD와 NYSE와 AMEX 3거래소 잔고 순회, 종목별 거래소 캐시, 슬롯 자동 배치, 1초 폴링, 익절 트리거, 주문 거래소 자동 해결
로그를 그대로 옮긴 화면. 잔고를 세 거래소에서 차례로 조회해 종목별 거래소를 기억해 두고, 주문할 때 그 정보로 거래소를 정합니다

가격은 기준가인 평단가에서 손절과 익절 각각 트리거 가격과 주문 가격을 계산합니다. 손절 트리거는 기준가에서 설정한 비율만큼 내린 가격입니다. 실제 주문 가격은 트리거보다 조금 더 낮게 걸어서 호가가 얇은 프리마켓에서도 빨리 체결되게 했습니다. 익절은 방향만 반대입니다. 호가 단위는 1달러 이상이면 $0.01, 미만이면 $0.0001로 자동 내림하므로 1달러 미만 종목도 그대로 다룹니다.

03해결한 기술 난제

프리마켓 시간대와 거래소 매핑 처리

미국 프리마켓은 서머타임에 따라 한국시간 기준이 한 시간씩 밀립니다. 같은 미국주식이라도 NASDAQ, NYSE, AMEX 중 어디에 상장됐는지는 종목마다 다릅니다. KIS 해외주식은 잔고 조회와 매도 주문 모두 거래소 코드가 정확히 맞아야 체결됩니다. 이 두 가지를 사람이 신경 쓰지 않아도 되게 만드는 데 공을 들였습니다. 프리마켓 시간은 서머타임을 반영해 자동으로 판별하고, 종목별 상장 거래소는 잔고를 조회하면서 알아내 기억해 두었다가 주문할 때 씁니다.

04주요 기능

05제작 과정 (약 2~3주)

06납품 결과물

07기술 스택

한국투자증권 KIS API (REST, 해외주식) Python 3.10+ (64bit) tkinter, ttk GUI REST 1초 폴링 (잔고 조회) PyInstaller (--onefile --windowed) reportlab (한글 PDF 매뉴얼)

08관련 사례

※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률과 수익금은 공개하지 않습니다. 알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다. 과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. 미국주식과 해외주식 투자는 환율 변동과 원금 손실 위험이 있습니다.

밤사이 미국주식이 걱정되신다면

이미 보유한 종목이 있어도, 아직 생각만 하고 계셔도 괜찮습니다.
어떤 선에서 팔고 싶으신지 상담에서 알려 주세요.

무료 상담 시작하기 고객 후기 보기
← 제작 사례 전체 보기