조건검색 결과를 시총과 뉴스로 두 번 좁혀 매수합니다. 익절과 손절 값은 그리드 최적화로 정했습니다청산 규칙 설정. 익절, 손절 %와 시총 하한이 입력값입니다
익절과 손절 값은 감으로 정하지 않았습니다. 3년치 과거 데이터로 그리드 서치(격자 탐색)를 돌렸습니다.
익절 +5~10%, 손절 -3~7% 범위를 잘게 나눠 모든 조합을 백테스트한 다음,
한 지점만 유난히 좋게 나오는 값은 피하고 주변 값까지 고르게 괜찮은 구간에서 골랐습니다.
조건검색 API가 종목을 넘기면 시가총액 순위부터 봅니다. 통과한 종목만 네이버 뉴스 API로 조회해 최근 1시간 기사가 있는지 확인하고,
둘 다 통과한 종목만 매수 대기열로 보냅니다. 15:20이 되면 보유 종목을 전부 청산하므로 다음 날로 넘어가는 종목이 없습니다.
03해결한 기술 난제
두 API의 호출 한도
조건검색식은 실시간으로 호출되고, 통과한 종목마다 뉴스 API를 또 불러야 합니다.
두 API 모두 호출 한도가 있어서, 종목이 몰리는 순간에 그대로 보내면 늦어지거나 차단됩니다.
그래서 호출을 대기열에 넣어 속도를 조절하고 결과를 잠깐 저장해 두는 방식으로 한도 안에서 걸러지게 했습니다.
같은 종목의 뉴스 결과는 짧게 저장해 두고 다시 씁니다. 중복 호출이 줄어서 종목이 몰려도 밀리지 않습니다.
종목명과 종목코드로 네이버 뉴스를 조회하면 이름만 같은 다른 회사 기사나 무관한 기사가 섞여 나옵니다. 이런 기사를 빼고 최근 1시간 안의 실제 관련 기사만 인정합니다.
그리드 서치는 3년 전체 구간을 전부 백테스트했습니다. 한 점만 튀는 값은 과최적화일 가능성이 높아 채택하지 않았습니다.
15:20 전량 청산은 예외 없이 실행됩니다. 뉴스로 급등한 종목을 다음 날까지 들고 가는 위험을 지기 싫다는 고객 뜻에 따른 것입니다.
04주요 기능
키움 HTS 조건검색식을 수정 없이 실시간 호출
시총 상위 100 필터와 네이버 뉴스 최근 1시간 필터
익절, 손절 값을 3년 데이터로 탐색하는 그리드 최적화 백테스트
15:20 자동 전량 청산
필터 통과, 매수, 청산, 에러를 알리는 텔레그램 알림
05제작 과정 (약 2주)
1주차에는 키움 조건검색식 API와 네이버 뉴스 API를 붙이고, 시총 필터에서 뉴스 필터로 이어지는 흐름을 만들었습니다.
2주차에는 3년 데이터 백테스트와 익절, 손절 그리드 최적화를 돌리고 GUI와 텔레그램 알림을 마무리했습니다. 배포한 뒤 실계좌 소액으로 필터와 체결을 확인하고 넘겨 드렸습니다.
※ 본 사례는 과거 고객 요구사항을 익명 처리하여 재구성한 것이며, 수익률과 수익금은 공개하지 않습니다.
알고랩은 매매 자동화 프로그램 제작 서비스이며, 종목 추천, 투자 자문, 수익 보장 서비스가 아닙니다.
과거 백테스트 결과가 미래 실거래 수익을 보장하지 않습니다. 주식 투자는 원금 손실 위험이 있습니다.
쓰고 계신 조건검색식이 있으시면
그 조건식에 무엇을 더 걸러 내고 싶은지 알려 주세요.
아직 조건식이 없어도 상담은 가능합니다.