반도체 지수(SOXX)가 오르면 3배 롱 ETF인 SOXL을, 내리면 3배 숏 ETF인 SOXS를 사는 전략을
한국투자증권 KIS 해외주식 API로 자동화한 사례입니다. 주간거래, 프리마켓, 정규장 세 세션마다
봇이 방향을 판단해서 사고팝니다. 고객은 밤새 화면을 지켜볼 필요가 없어졌습니다.
플랫폼
한국투자증권 KIS API 해외주식 REST와 WebSocket, 모의와 실전
특징
주간, 프리, 정규 3세션 분할 SOXX 방향추종
유형
미국 레버리지 ETF SOXL(롱), SOXS(숏)
제작 기간
약 20~25일
화면 없이 텔레그램으로 조작하는 봇이라, 프로젝트에 들어 있는 시뮬레이터로 돌린 실제 로그를 옮겼습니다. 주간장은 건너뛰고, 프리장에서 LONG 판정이 나와 나눠 산 뒤 매도를 여러 가격에 예약하는 순서입니다.
01배경과 요구사항
고객은 필라델피아 반도체 지수(SOXX)의 그날 방향에 확신이 설 때
3배 레버리지 ETF인 SOXL과 SOXS로 데이트레이딩을 하고 있었습니다.
미국장은 한국 시간으로 밤부터 새벽까지 열리고, 한투 주간거래와 프리마켓, 정규장을 합치면
거의 하루 종일 움직입니다. 세 시간대를 사람이 다 지킬 수는 없었습니다.
요청은 이랬습니다. 세션이 시작될 때마다 SOXX가 전일 대비 ±1% 넘게 움직였는지 보고
롱이면 SOXL, 숏이면 SOXS를 고릅니다. 매수는 세 세션에 나눠서 하고, 목표 수익에 닿으면 자동으로 팝니다.
PC를 꺼 둬도 클라우드에서 24시간 돌아가야 했습니다.
3배 레버리지 ETF는 지수가 1% 움직이면 대략 3% 움직이는 고위험 상품입니다.
그래서 진입보다 상태 관리가 더 중요했습니다. 세션이 바뀌며 방향이 뒤집히거나, 프로그램이 재시작되거나,
한국 시간 자정을 넘기더라도 같은 날 포지션에 두 번 들어가면 안 됩니다.
02구현 방식
세 세션은 서로 독립해서 돌아갑니다. 각 세션은 지금 판단 중인지, 사는 중인지, 들고 있는지를 따로 기억합니다.
세션이 시작되면 SOXX의 전일 종가 대비 변동률을 한 번 계산합니다. +1% 이상이면 SOXL, −1% 이하면 SOXS를 사고, 그 사이면 그 세션은 쉽니다.
매수 방식은 세션마다 다릅니다. 주간장은 호가를 따라 첫 매수를 넣고 내려갈 때 더 삽니다. 프리장은 이월된 금액으로 추가 매수하고, 정규장은 시간을 나눠 조금씩 사는 방식(TWAP)을 씁니다.
매수가 끝나면 익절가부터 1틱씩 올린 지정가 매도 여러 개를 거래소에 미리 걸어 둡니다. 목표가에 닿으면 프로그램이 확인하기 전에 거래소에서 바로 체결됩니다.
SOXX가 진입 방향과 반대로 크게 움직이면 손절합니다. 정규장 보유분은 장 마감 지정가(LOC)로 종가에 정리하거나 다음 날로 넘기도록 고를 수 있습니다.
한투 해외주식은 일반 시장가 주문을 받지 않습니다. 그래서 주문은 전부 지정가로 내되,
호가를 보고 바로 체결될 가격을 계산해 넣었습니다.
익절률, 재진입 횟수 같은 설정은 텔레그램 명령으로 바꾸고, 바꾸는 즉시 저장됩니다.
03어려웠던 부분
세션이 넘어가도, 재시작해도 상태가 어긋나지 않게
세 세션을 돌리다 보면 사고파는 시점보다 상태를 지키는 쪽이 더 까다롭습니다.
각 세션의 진행 상태를 파일에 저장해 두고, 재시작하면 새 진입은 건너뛰고 들고 있는 물량의 익절과 손절,
청산만 이어 갑니다. 같은 거래일에 두 번 진입하는 일은 이렇게 막았습니다.
3배 ETF는 방향이 맞아도 순간적으로 되돌리는 폭이 큽니다. 미리 걸어 둔 지정가 매도가 목표가에서 바로 체결되고,
SOXX가 반대로 가면 손절하도록 해서 대비했습니다.
전략 흐름. SOXX 방향 판단, 3세션 분할매수, 익절가에서 1틱씩 올린 지정가 매도익절가부터 1틱씩 올려 미리 걸어 두는 5분할 매도 예약 로그
거래일은 세션마다 다른 날짜로 계산합니다. 주간장은 한국 날짜, 프리장과 정규장은 미국 동부 날짜입니다. 한국의 월요일 새벽은 미국에서는 아직 일요일이라, 이렇게 하지 않으면 휴장일에 세션이 열린 것으로 착각합니다.
조기 마감일에는 장 마감 청산 시각을 자동으로 앞당깁니다.
실시간 시세(WebSocket)가 끊기면 REST 조회로 넘어갔다가 복구되면 돌아옵니다.
KIS 접근 토큰은 24시간마다 만료됩니다. 만료 전에 미리 다시 발급받아 중간에 멈추지 않습니다.
04주요 기능
세션이 시작될 때마다 SOXX 방향을 보고 SOXL이나 SOXS를 고릅니다.
세션별 투자 비율과 분할 단계를 설정한 대로 나눠 삽니다.
목표 수익 구간을 여러 지정가로 나눠 미리 걸어 둡니다.
목표 익절률, 재진입 횟수, SOXX 역행 손절 폭은 세션마다 따로 정합니다.
시드, 투자 비율, 익절과 손절, 종목 쌍을 텔레그램 명령으로 바꿉니다.
클라우드 서버에서 돌아가므로 PC를 꺼도 됩니다. 재시작하면 마지막 상태에서 이어 갑니다.
05제작 과정 (약 20~25일)
초반에는 KIS 해외주식 인증과 주문, 조회를 붙이고 세 세션의 시간대를 잡았습니다. 서머타임과 휴장일, 조기 마감일 판정이 여기에 들어갑니다.
중반에는 전략을 넣었습니다. SOXX 방향 판단, 세션별 분할 매수, 1틱씩 올린 지정가 매도, 손절과 재진입, 종가 청산입니다.
후반에는 상태 저장과 재시작 복구, 시세 전환, 텔레그램 명령을 마무리하고 클라우드에 올렸습니다. 모의 계좌와 소액 실계좌에서 실제 체결을 확인한 뒤 넘겼습니다.
06납품 결과물
실행 봇 (3세션 자동매매 프로그램)
세션 상태 저장과 클라우드 배포 설정
텔레그램 알림과 원격 제어 봇 연동
사용설명서, API와 서버 설정 가이드
납품 후 30일 무료 AS (협의 범위 내)
07기술 스택
한국투자증권 KIS API (REST, 해외주식)KIS WebSocket (실시간 시세, 체결통보)Python 3.10 (asyncio)세션 상태 저장클라우드 서버 (GCE 또는 VPS)Telegram Bot API
※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률과 수익금은 공개하지 않습니다.
알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.
과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. 미국 레버리지 ETF(3배)는 기초 지수의
하루 변동을 배수로 추종해 변동성이 매우 크며, 파생상품과 레버리지 상품 투자는 원금 손실 위험이 있습니다.
미국장 시간대 매매를 자동으로 돌리고 싶으시면
지수 방향을 보고 ETF를 사고파는 규칙이 있으시면 상담에서 알려 주세요.
규칙이 덜 정리된 상태여도 같이 정리해 드립니다.