파이썬 주식·ETF 자동매매 구조
주식·ETF 자동매매는 증권사 Open API를 통해 계좌와 시장을 연결하고, 전략이 계산한 목표상태와 실제 계좌상태의 차이를 주문으로 보정합니다. 게만아 코드의 핵심 특징 중 하나는 전략 로직과 증권사 API를 분리해 같은 전략을 여러 증권사·시장·계좌에서 재사용하기 쉽게 만든 것입니다.
기본 흐름
전략 / 목표비중
↓
백테스트
↓
증권사 API 인증
↓
잔고·보유종목·현재가 조회
↓
목표비중 vs 현재비중
↓
리밸런싱 수량 계산
↓
매도 → 매수 주문자동 실행 장소는 PC와 서버 중에서 고를 수 있습니다
게만아 주식 자동매매 코드는 보통 실행될 때 필요한 조건을 확인하고 주문·리밸런싱 작업을 마친 뒤 종료하며, 스케줄러가 다음 실행 시점에 다시 Python 파일을 실행하는 구조를 사용합니다.
Windows·Mac에서는 GMA Runner로 파일 실행·예약·로그 확인을 한 화면에서 관리할 수 있습니다. 24시간 켜둘 안정적인 환경이나 고정 IP가 중요하면 AWS·VPS 같은 서버에서 crontab을 사용하는 방식도 그대로 선택할 수 있습니다.
증권사가 바뀌어도 전략 로직은 그대로
공통 인터페이스로 작성된 주식 봇에서는 아래 설정을 바꿔 Common과 API Helper를 동적으로 불러옵니다.
Broker = "KIS" # KIS / DBI / LS / KIW / TOSS / KB / NH / MR
Market = "KR" # KR / US
accountMode = "REAL" # REAL / REAL2 / VIRTUAL 등
Common = importlib.import_module(f"{Broker}_Common")
Helper = importlib.import_module(f"{Broker}_API_Helper_{Market}")
Common.SetChangeMode(accountMode)이후 전략에서는 Helper.GetBalance(), Helper.GetMyStockList(), Helper.GetCurrentPrice(), Helper.MakeBuyMarketOrder()처럼 공통된 호출 형식을 사용합니다. 즉 증권사별 인증·응답·주문 차이를 공통모듈이 흡수하고, 전략은 투자 규칙에 집중합니다.
모든 전략·모든 증권사·모든 계좌 조합이 동일 기능을 지원한다는 의미는 아닙니다. 시장·계좌·주문 유형은 각 증권사의 공식 API 지원 범위와 해당 공통모듈 구현 범위를 확인해야 합니다.
현재 다루는 증권사
현재 한국투자증권, LS증권, 키움증권, 토스증권, KB증권, NH투자증권, 메리츠증권, DB증권을 다룹니다. 지원사가 추가되어도 메뉴 이름은 숫자에 묶이지 않도록 멀티 증권사 API로 운영합니다.
전략 코드와 증권사 코드를 분리합니다
전략이 증권사의 원본 응답형식을 직접 알게 만들기보다, 각 증권사 Adapter/Common·Helper가 잔고·현재가·보유종목·주문을 공통 형태로 변환하도록 설계하면 동일 전략을 여러 환경으로 옮기기 쉬워집니다.
새 증권사를 추가할 때도 전략 파일 전체를 다시 작성하는 대신, 기존 공통 함수 규격을 만족하는 모듈을 추가하는 방향으로 확장할 수 있습니다.
공통모듈은 필요한 기능을 공통화한 실전용 레이어입니다
게만아의 증권사 공통모듈은 각 증권사 API 전체를 똑같이 복제하는 것이 목적이 아닙니다. 실제 전략에서 반복해서 사용하는 인증, 잔고, 보유종목, 시세, 주문 등의 기능을 공통 형태로 만들어 전략 코드가 증권사별 차이를 덜 신경 쓰도록 하는 구조입니다.
Starter는 이 구조의 입문용 최소 범위이며, 정식 콘텐츠인 통합 패키지와 그 안에 포함된 슈퍼 이동평균 V2를 실제로 운용하는 데 필요한 핵심 API 기능이 이미 구현되어 있습니다. 일반적인 사용이라면 증권사 공식 문서를 보고 함수를 새로 만들 필요는 없습니다. 개인적으로 새로운 API 기능이 필요할 때만 공식 문서를 기준으로 추가 확장하면 됩니다.
또한 AI 확장은 공통모듈에만 한정되지 않습니다. 전략·백테스트·자동매매 봇·보조시스템까지 기존 코드를 바탕으로 수정·확장할 수 있습니다.
증권사 API가 불안정할 때의 대응도 공통모듈에 들어 있습니다
증권사 API는 올바른 요청에도 일시적으로 오류를 내거나 응답하지 않을 수 있습니다. 게만아 공통모듈은 호출 간 대기, 응답 대기 제한, 호출 제한 시 대기 후 재시도, 토큰 재발급 같은 대응을 모든 증권사가 함께 쓰는 공용 API 호출 계층에 넣어, 증권사마다 다른 응답 코드도 공통 기준으로 처리하므로 전략 코드가 신경 쓰지 않아도 됩니다. 자세히 보기 →
직접 한 번 경험해보고 싶다면
무료 Starter에서 현재 지원 중인 증권사 가운데 한 곳을 선택해 자산배분 → 백테스트 → 계좌 조회 → 리밸런싱 → 주문 구조를 직접 확인할 수 있습니다.
무료 Starter 보기문서 업데이트: 2026-10-13