728x90
반응형
키움증권에서 이동평균선 자동매매를 구현하는 방법은 크게 두 가지로 나눌 수 있습니다.
- 키움증권에서 제공하는 API(HTS OpenAPI)를 활용한 자동매매 시스템 구축
- HTS(영웅문) 내에서 조건검색식을 활용한 반자동 매매 설정
1. 키움증권 OpenAPI를 활용한 자동매매
키움증권은 OpenAPI를 제공하여 사용자가 직접 프로그램을 개발하여 자동매매를 구현할 수 있습니다. 주로 Python을 사용하여 전략을 만들며, 이동평균선 기반으로 자동매매를 설정하려면 다음과 같은 단계를 따릅니다.
(1) 환경 설정
- 키움증권 계좌 개설 후 API 사용 신청
- 키움증권 OpenAPI+ 다운로드 및 로그인
- pykiwoom 라이브러리 또는 Kiwoom OpenAPI 활용하여 자동매매 코드 작성
(2) 이동평균선 전략 설정
- 5일, 20일, 60일, 120일 이동평균선을 설정
- 골든크로스(단기선이 장기선을 돌파할 때 매수) 및 데드크로스(단기선이 장기선을 하향 돌파할 때 매도) 전략 적용
(3) 자동매매 코드 예제 (Python)
다음은 pykiwoom 라이브러리를 활용하여 이동평균선 자동매매를 구현하는 기본 코드입니다.
from pykiwoom.kiwoom import *
import time
import pandas as pd
# 키움 API 로그인
kiwoom = Kiwoom()
kiwoom.CommConnect(block=True)
# 종목 코드 설정 (예: 삼성전자)
ticker = "005930"
# 이동평균선 계산 함수
def get_moving_average(ticker, days):
df = kiwoom.block_request("opt10081",
종목코드=ticker,
기준일자="20240101",
수정주가구분=1,
output="주식일봉차트조회",
next=0)
df = pd.DataFrame(df)
df['현재가'] = df['현재가'].astype(int)
return df['현재가'].rolling(window=days).mean().iloc[-1]
# 매매 로직
while True:
short_ma = get_moving_average(ticker, 5) # 5일 이동평균선
long_ma = get_moving_average(ticker, 20) # 20일 이동평균선
if short_ma > long_ma: # 골든크로스 발생 시 매수
kiwoom.SendOrder("매수", "0101", "계좌번호", 1, ticker, 1, 0, "03", "")
print("매수 주문 실행")
elif short_ma < long_ma: # 데드크로스 발생 시 매도
kiwoom.SendOrder("매도", "0101", "계좌번호", 2, ticker, 1, 0, "03", "")
print("매도 주문 실행")
time.sleep(60) # 1분마다 확인
(4) 주의할 점
- API를 활용한 매매는 모의투자로 충분히 테스트한 후 실전 매매에 적용해야 합니다.
- 키움증권 API는 주기적으로 로그인을 유지해야 하는 제약이 있습니다.
- 실전 투자에서는 슬리피지(가격 변동 차이)와 수수료 고려가 필요합니다.
2. 영웅문(HTS) 조건검색식을 활용한 반자동 매매
키움증권 HTS(영웅문)에서는 조건검색식을 활용하여 이동평균선 기반의 자동매매를 설정할 수 있습니다.
(1) 조건검색식 만들기
- HTS 실행 → [조건검색] 메뉴로 이동
- 조건 추가
- 5일 이동평균선 > 20일 이동평균선 (골든크로스)
- 5일 이동평균선 < 20일 이동평균선 (데드크로스)
- 조건 검색 결과를 실시간으로 모니터링
- 자동매매 설정 (매수/매도 주문 연동 가능)
(2) HTS에서 자동매매 설정
- [주문] → [자동주문] → [조건검색식 연동]
- 특정 조건에 맞을 때 자동 매매 실행
✅ 결론
이동평균선을 활용한 자동매매는 HTS의 조건검색식을 이용하면 간단하게 설정할 수 있고, API를 활용하면 보다 세밀한 자동매매가 가능합니다.
- 초보자는 HTS의 조건검색식을 활용한 반자동 매매 추천
- 프로그래밍이 가능하다면 Python + 키움 OpenAPI를 활용한 자동매매 추천
추가로 **백테스트(과거 데이터 검증)**를 통해 전략의 성과를 먼저 확인하는 것이 중요합니다.
반응형
'주식' 카테고리의 다른 글
영웅문S에서 테마별 종목 찾는 법! 초보자를 위한 사용법 안내 (5) | 2025.02.06 |
---|---|
🔹 영웅문S MTS 테마 기능과 설정 방법 (7) | 2025.02.05 |
# 📈 주식 초보자를 위한 필수 용어 총정리 (9) | 2025.02.04 |
2025년 주식 시장 변화, AI와 저항하는 산업이 뜬다! (4) | 2025.02.04 |
📈 주식 차트 보는 법! 캔들차트 분석법 (2) | 2025.02.01 |