KIS Code Assistant MCP로 투자 전략 구현 : 거래량 돌파

이정진·2025년 10월 1일

KIS MCP

목록 보기
3/3
post-thumbnail

거래량은 시장의 수급 변화를 가장 직접적으로 보여주는 핵심 신호입니다. 하지만 거래량만으로는 추세가 진짜 힘을 받는지, 혹은 일시적인 움직임인지 구분하기 어렵습니다.

그래서 이번 글에서는 거래량 급증과 가격 돌파를 함께 체크하는 복합 전략을 다룹니다. KIS Code Assistant MCP를 활용해 이 전략을 자동매매 시스템으로 구현하는 과정을 단계별로 살펴보겠습니다.


자연어로 자동매매 투자 시스템 구축: 거래량 돌파

거래량 돌파(Volume Breakout)는 가격이 중요 구간을 상향 돌파할 때 평균 대비 뚜렷한 거래량 증가가 동반되는지에 주목하는 접근 방법입니다. 유동성과 변동성이 큰 환경에서 유효할 수 있으나, 종목·시장 특성에 따라 성과 차이가 발생할 수 있습니다.

우리가 사용할 기본 신호는 “거래량이 최근 평균의 3배 이상으로 급증하고, 동시에 20일 신고가를 돌파하는 시점”입니다.

KIS Code Assistant MCP 연동

  1. Cursor에서 자동매매 시스템 파일을 저장하기 위한 폴더를 오픈하고,

  2. KIS Code Assistant MCP 연결을 확인합니다.

    MCP 연결 설정 가이드 : https://github.com/koreainvestment/open-trading-api/blob/main/MCP/MCP AI 도구 연결 방법.md

  3. 프롬프트를 단계적으로 작성해 코드를 구현합니다.

    프롬프트를 더 상세하게 전달하기 위해 프롬프트 도우미가 KIS Code Assistant MCP에 함께 설치됩니다. kis_detailed_code, kis_easy_code 두가지 버전이 준비되어 있습니다.

    • 사용법 : 대화창에 “ / “ 입력 후 노출되는 메뉴에서 한국투자 코딩도우미 2개중 선택 → 커맨드 팔레트(상단 입력창)에 프롬프트를 입력하세요.

프롬프트 작성 가이드

  1. 단계적으로 접근하세요

    프롬프트가 누락되지 않도록 단계별로 구축을 요청하세요

    1단계: 기본 프레임워크 (API 연결, 클래스 구조)

    2단계: 거래량 분석 엔진 (평균 계산, 급증 감지)

    3단계: 돌파 감지 시스템 (신고가, 저항선 돌파)

    4단계: 자동 매매 실행 (주문 처리, 포지션 관리)

    5단계: 백테스팅 및 최적화 (성과 분석, 파라미터 조정)

    중요: 각 단계가 정상 작동하는지 확인한 후 다음 단계로 진행하세요.

  2. 구체적인 표현을 사용하세요

    모호한 요청보다는 명확하고 측정 가능한 조건을 제시하세요

    구체적으로 명시해야 할 요소들

    • 거래량 급증: 20일 평균 대비 3배 (조정 가능)
    • 가격 돌파: 20일 신고가 (또는 60일, 120일)
    • 진입 조건: 거래량 AND 가격 돌파 동시 충족
    • 청산 조건: +10% 익절, -5% 손절, 3일 경과
    • 필터: 거래대금 상위 20종목, 코스피, 코스닥 특정 종목, 시가총액 1,000억원 이상
    • 제외 종목: 관리종목, ETF, 스팩 명시
  3. 적정 수준의 복잡도로 요청하세요

    한 번의 요청에서는 3-5개 정도의 핵심 조건으로 제한하는 것이 적절합니다. 거래량 돌파 전략은 명확한 수치 기준이 중요하므로, 애매한 표현보다는 구체적인 숫자로 요청하세요:

    적절한 요청 예시

    • 거래량 300% 이상 AND 20일 신고가 돌파
    • 매도 조건: +10% 익절 OR -5% 손절 OR 3일 경과
    • 종목 필터링: 시가총액 1000억 이상, 거래대금 상위 20종목, 제외 종목

    과도한 요청 예시

    • 거래량 + 신고가 + 외인 매수 + 기관 매수 + 뉴스 + RSI + MACD (한 번에 7개 조건)

    💡 팁: "폭증", "급등" 같은 모호한 표현보다 "300% 이상", "5% 돌파" 같은 명확한 수치를 사용하세요.

프롬프트 예제 기반 개발 과정 소개

1단계: 기본 구조

거래량 돌파 전략 자동매매 시스템을 만들고 싶어.
먼저 기본 틀부터 만들어줘.
KIS API 연결, 설정 파일, 스캐너 클래스 구조를 포함해서.

기본 구조 구축을 먼저 요청합니다. 자연어로 요청하기 위해 kis_ease_code를 사용합니다. kis_ease_code는 KIS Code Assistant MCP에게 Open api를 효과적으로 검색/활용하도록 안내하는 개발 가이드 역할로 첫 프롬프트에 사용을 권장합니다.

대화창에 슬래시(/)를 입력하면 리스트가 노출되고 선택하면 커맨트 팔레트가 활성화됩니다.

작성해놓은 프롬프트를 복사하고 엔터를 입력하면 대화창에 추가됩니다. 이제 send 버튼을 클릭하세요.

Code Assistant MCP를 통해 필요한 Open api를 자동으로 검색하고 분석해 투자자가 요청한 내용에 맞는 코드를 작성합니다.

작업이 끝나면 사용한 한국투자증권 Open api와 파일 구조, 시스템 구성(클래스), 실행 방법 등을 간략하게 정리해 주어, 내용을 빠르게 파악할 수 있습니다.

빠르게, 남은 단계별 프롬프트를 작성하여 시스템을 고도화합니다.

2단계: 거래량 분석

거래량 급증을 감지하는 함수를 추가해줘.
20일 평균 거래량 대비 3배 이상
20일 신고가 돌파 조건
시가총액 1,000억 이상 필터링

3단계: 매매 로직

매매 신호를 생성하는 로직을 추가해줘. 
거래량 300% 이상 AND 신고가 돌파 시 매수 
보유 3일 후 또는 +10%/-5% 도달 시 
매도 거래대금 상위 20종목 대상으로 스캔해줘.

4단계: 주문 실행

실제 매수/매도 주문을 실행하는 기능을 추가해줘.
시장가 주문으로 구현하고,
모의투자로 테스트할 수 있게 설정해줘.
종목당 투자금액은 총자산의 5%로 제한해줘.

5단계: 백테스팅

과거 데이터로 전략을 검증하는 백테스팅 기능을 만들어줘.
최근 2년 데이터로 테스트하고
총수익률, 승률, MDD를 계산해줘.
거래량 배수별로 성과 비교해줘.

시스템 구축

개발이 완료되었습니다. 확인을 위해 터미널 환경에서 자동매매 시스템을 실행해 보겠습니다.

(모의투자로 진행하였고, 예시 화면을 위해 종목 검색 조건을 수정한 상태입니다.)

시스템 구축 시 유의 사항

⚙️ 환경 설정

  • 모의투자 vs 실전투자: 처음에는 반드시 모의투자로 시작
  • API 키 관리: kis_devlp.yaml 파일 별도 경로 관리
  • 안전성 유지: kis_auth.py 파일 구조 수정 예외 처리
  • 계좌번호: 8자리 종합계좌번호 확인

🛡️ 오류 처리

  • 상세한 로깅 시스템: 호출과 오류를 기록하여 문제 발생 시점 추적
  • 단계별 오류 메시지: 일반적인 "오류 발생" 대신 구체적인 원인 정보 제공
  • 자동 복구 메커니즘: 일시적 오류는 자동 재시도, 심각한 오류는 안전 정지
  • 오류 분류 체계: API 제한, 네트워크, 인증, 데이터 등 오류를 구분

📈 점진적 기능 확장

  • 1차: 기본 거래량 돌파 (평균 3배 + 신고가)
  • 2차: 수급 필터 추가 (외인/기관 순매수 동반)
  • 3차: 돌파 강도 세분화 (5%, 10% 구간별 전략)
  • 4차: 섹터 로테이션 (업종별 거래량 이상 감지)

마무리하며

거래량 돌파 전략은 수급이 결집되는 순간을 포착하려는 방법입니다. 거래량이 가격보다 먼저 꿈틀거릴 때도 있지만, 실전에서는 가격 돌파를 함께 확인하는 편이 더 현실적입니다. 즉, 남들보다 ‘확실하게’ 들어가는 것이 이 전략의 핵심 가치입니다.

KIS Code Assistant MCP로 조건에 맞는 종목을 실시간 스캔하고, 거래량 급증과 가격 돌파동시에 확인하는 자동매매 플로우를 구현했습니다. 이제 여러분도 시장의 신호를 자동으로 포착해 보세요.

실전 운용 전 반드시 기억하세요:

🔸 충분한 백테스팅: 과거 데이터로 거래량 배수별 최적값을 검증하세요

🔸 시장 상황 고려: 상승장과 하락장에서 거래량 신호의 의미가 다를 수 있습니다

🔸 점진적 확장: 대형주부터 시작해 중소형주로 점차 확대하세요

🔸 보조 지표 활용: 거래량만으로 부족하다면 뉴스/공시를 함께 확인하세요

🔸 면책 조항: 본 예제는 참고용으로 제공되는 것이며, 이를 활용해 발생하는 모든 투자 결과 및 손실에 대해서는 작성자가 어떠한 책임도 지지 않습니다. 최종적인 투자 판단과 책임은 전적으로 개인에게 있습니다.

profile
라이브데이터 Developer

0개의 댓글