고객이 오래 다듬어 온 자신만의 KOSPI200 선물 전략을 하나도 바꾸지 않고 자동으로 돌리고 싶다는 요청이었습니다.
LS증권 신 OpenAPI로 만들었습니다.
전략은 고객의 자산이어서 NDA에 따라 공개하지 않고, 그 전략을 실거래에서 정확하고 안정적으로 돌리려고 한 작업만 적었습니다.
플랫폼
LS증권 신 OpenAPI REST와 WS, 주간과 야간(KRX)
역할
고객 전략 정밀 이식 실거래 안정화
유형
국내 지수선물 (KOSPI200)
제작 기간
약 3~4주
전략 비공개 안내 이 프로젝트의 매매 전략은 고객의 지적재산입니다. 알고랩은 NDA(비밀유지계약)에 따라 지표, 조건, 수치, 청산 규칙 같은 전략의 구체 내용을 공개하지 않습니다. 이 페이지에는 그 전략을 자동화한 기술만 나옵니다.
납품한 프로그램(드라이런 모드). 계좌 두 개가 각자 진입하고 세션과 WebSocket 상태가 상태바에 뜹니다. 전략과 진입 규칙이 드러나는 진입기와 로그 영역은 NDA에 따라 모자이크 처리했습니다 (계좌와 가격은 예시)
01배경과 고객 요구사항
고객은 KOSPI200 선물의 진입과 청산 전략을 직접 완성해 오래 운용해 온 분이었습니다.
이미 검증을 마친 로직이어서 요청도 분명했습니다. 전략에는 손대지 말고 그대로 자동으로 돌게 해 달라는 것이었습니다.
구체적으로는 네 가지였습니다. 기존 전략 로직을 한 줄도 바꾸지 않고 옮길 것. 틱봉 기준으로 진입하고 청산할 것.
미니와 본물 KOSPI200을 2계좌로 동시에 운용할 것. 주간 본장과 KRX 야간거래를 모두 자동으로 처리할 것.
그래서 저희가 맡은 일은 고객이 이미 가진 전략을 실거래에서 원본과 똑같이 재현하고, 주간과 야간 내내 안정적으로 돌아가게 하는 것이었습니다.
KOSPI200 선물은 틱이 촘촘하고, 주간과 야간 세션이 바뀔 때 가격 갭이 생깁니다. 원본과 소수점까지 일치하는 계산, 그리고 세션 갭 보정에 가장 많은 시간을 썼습니다.
02구현 방식
고객의 원본 로직을 그대로 옮기는 것을 가장 앞에 두고, 진입 엔진과 청산 엔진을 나눠서 설계했습니다.
전략 내용을 빼고 시스템 구조만 말씀드리면 이렇습니다.
고객 원본 전략의 진입과 청산 계산을 실거래 환경에 그대로 재현했습니다.
틱봉은 여러 주기를 지원합니다. 세션과 설정에 맞는 파라미터가 자동으로 적용됩니다.
청산 조건 여러 개가 같은 순간에 겹치면 정해 둔 우선순위를 한 곳에서만 판정합니다. 판단이 엇갈릴 여지를 없애려는 것입니다.
계좌마다 API 키와 엔진이 따로 있습니다. 미니와 본물을 서로 다른 설정으로 동시에 운용합니다.
주간 본장과 KRX 야간거래 일정을 자동으로 판정하고, 세션이 바뀔 때 생기는 갭을 보정합니다.
시스템 구성. 고객 전략(비공개)을 정밀 재현하고 안정화해 실거래로 연결합니다
전략은 있는 그대로 옮기고, 실거래 안정성은 그와 별도로 챙겼습니다.
엔진은 진입과 청산 신호만 냅니다. 지금 포지션이 무엇인지는 언제나 실제 체결 결과를 기준으로 삼습니다.
주문이 거부됐는데 프로그램만 보유 중이라고 착각하는 일이 없도록 항상 체결 결과와 맞춥니다.
03해결한 기술 난제
고객 전략을 실거래에서 소수점까지 정확히 재현
고객이 보던 계산 결과를 실시간 시세 위에서 그대로 내려면 소수점 오차도 허용되지 않습니다.
그래서 모든 계산을 두 가지 방식으로 따로 만들었습니다. 하나는 시세가 들어올 때마다 이어서 계산하는 방식이고, 다른 하나는 전체를 한꺼번에 계산하는 검증용입니다. 둘의 결과를 1e-9 수준까지 맞춰 봤습니다.
여러 청산 조건이 같은 틱에 동시에 충족되면 정해 둔 우선순위를 한 곳에서만 적용합니다.
전략 계산을 실시간 방식과 검증용 방식으로 각각 만들어 1e-9 오차까지 대조했습니다. 원본을 제대로 재현했다고 말할 수 있는 근거입니다.
주간과 야간이 바뀔 때의 갭을 세션 단위로 누적해 보정합니다. 그래서 계산값이 고객이 보던 HTS 차트와 일치합니다.
진입과 청산은 서로 다른 봉 주기를 씁니다. 봉을 만드는 부분을 둘로 두어 동시에 돌리고, 초기 데이터 준비도 각각 합니다.
봉이 마감될 때 나오는 청산 판단은 바로 실행하지 않고 틱 단위 판단이 끝난 뒤에 적용합니다. 우선순위가 언제나 정해진 순서로 지켜집니다.
모의투자 환경은 시장가 주문을 받지 않습니다. 모의에서는 현재가에서 몇 틱 띄운 지정가로 자동 전환하고, 체결되지 않으면 다시 주문합니다.
04주요 기능
고객 원본 전략의 진입, 청산 로직을 실거래에 그대로 재현
청산 조건이 겹칠 때 우선순위를 한 곳에서 판정하는 청산 엔진
진입과 청산의 틱봉 주기, 파라미터를 화면에서 조정하고 저장
미니와 본물 KOSPI200을 계좌별 설정으로 동시 운용
주간 본장과 KRX 야간거래 세션 자동 처리, 세션 전환 갭 보정
진입, 청산, 오류를 텔레그램으로 바로 알립니다. 매매내역과 일별 손익도 텔레그램에서 조회합니다.
화면에서 포지션, 계약수, 진입가, 평가손익, 엔진 상태를 실시간으로 확인합니다.
05제작 과정 (약 3~4주)
먼저 고객 원본 로직을 해석했습니다. 계산을 두 가지 방식으로 만들고, 둘을 1e-9까지 대조하는 테스트 틀을 세웠습니다.
그다음 진입 엔진과 우선순위 청산 엔진을 만들었습니다. 진입용과 청산용 봉 생성, 세션 갭 보정이 여기에 들어갑니다.
세 번째 단계는 LS OpenAPI 연동입니다. REST 주문, WebSocket 시세와 체결통보, 2계좌 동시 운용, 모의투자용 지정가 전환, 토큰 자동 재발급을 붙였습니다.
마지막으로 1,000건 넘는 테스트를 돌렸습니다. 화면, 텔레그램, 라이선스를 마무리하고 인수인계했습니다.
06납품 결과물
실행 프로그램 (2계좌 패널이 있는 화면 포함)
고객 전략 이식 엔진과 우선순위 기반 청산 엔진
LS OpenAPI 연동 모듈 (REST와 WebSocket, 주간과 야간 세션)
텔레그램 알림 봇, 매매내역과 일별 손익 조회
시리얼 키 라이선스와 발급 도구
사용설명서, LS OpenAPI 신청과 설정 가이드
납품 후 30일 무료 AS (협의 범위 내)
07기술 스택
LS증권 신 OpenAPI (REST, 선물)LS OpenAPI WebSocket (실시간 시세, 체결통보)고객 전략 이식 엔진 (계산 이중 구현, diff 검증)우선순위 청산 엔진Pythontkinter GUI (다크, 라이트 테마)Telegram Bot APIPyInstaller (onedir 배포)
※ 본 사례의 매매 전략은 고객의 독자 지적재산으로, NDA에 따라 구체 내용을 공개하지 않습니다. 수익률과 수익금 또한 공개하지 않습니다.
알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.
과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. 국내 지수선물과 파생상품 투자는 원금 손실 위험이 있습니다.
쓰고 계신 전략을 그대로 자동화합니다
HTS에서 직접 만든 전략이 있어도, 아직 구상 중이어도 괜찮습니다.
전략 내용은 NDA를 맺고 듣습니다. 상담에서 편하게 말씀해 주세요.