주봉 MACD 골든크로스란? 6·13·5 설정으로 ETF 추세 읽는 법

이미지
 ETF를 살 때 가장 고민되는 건 “언제 사야 하나” 입니다. 좋은 ETF를 골랐어도 하락이 이어지는 중간에 사면 한참을 버텨야 합니다. 그래서 저는 매수 후보를 고를 때 주봉 MACD 골든크로스 를 확인합니다. 이 글에서는 MACD가 무엇인지, 왜 일봉이 아니라 주봉을 보는지, 그리고 왜 기본값(12·26·9) 대신 6·13·5를 쓰는지 정리해 보겠습니다. 1. MACD는 “두 평균선의 거리”입니다 MACD는 이름이 어렵지만 원리는 간단합니다. 짧은 평균선에서 긴 평균선을 빼서 , 두 선이 얼마나 벌어져 있는지 보는 지표입니다. MACD선 = 짧은 지수이동평균(EMA) − 긴 지수이동평균 시그널선 = MACD선을 다시 평균 낸 선 히스토그램 = MACD선 − 시그널선 (막대로 표시) 최근 가격이 오르면 짧은 평균선이 긴 평균선보다 먼저 올라가서 MACD가 커집니다. 반대로 내리면 MACD가 작아집니다. 즉 MACD는 추세의 힘이 세지는지, 약해지는지 를 보여주는 지표입니다. 2. 골든크로스는 “힘이 다시 붙기 시작했다”는 신호 MACD선이 시그널선을 아래에서 위로 뚫고 올라가는 순간 을 골든크로스라고 합니다. 히스토그램으로 보면 막대가 0 아래(음수)에서 0 위(양수)로 바뀌는 지점입니다. 쉬운 비유를 들면 이렇습니다. 자동차가 느려지다가 다시 가속 페달을 밟기 시작한 순간입니다. 아직 속도가 빠르지는 않지만, 방향이 바뀌었다는 뜻이죠. 반대로 위에서 아래로 뚫고 내려가면 데드크로스 라고 하고, 힘이 빠지기 시작했다는 신호로 봅니다. 3. 왜 일봉이 아니라 주봉인가 일봉(하루 단위) MACD는 신호가 자주 나옵니다. 하루 이틀 오르면 골든크로스, 다시 이틀 내리면 데드크로스가 나오는 식이라, 신호를 따라가다 보면 사고팔기만 반복하기 쉽습니다. 주봉(일주일 단위)은 일주일치 움직임을 한 막대로 묶기 때문에 자잘한 흔들림이 걸러집니다 . 신호는 드물지만, 한 번 나오면 방향이 비교적 오래 이어지는 편입니다. ETF처럼 여러...

[파이썬 주식 자동매매 2편]

자동 로그인과 계좌 조회 - 파이썬 주식 자동매매 2편


 단 10줄 코드로 키움증권 API 자동 로그인 및 계좌 조회하기

💡 이전 글 먼저 보기: 아직 키움증권 OpenAPI 가입과 32비트 파이썬 환경 세팅을 마치지 않으셨다면 👉 **[여기에 1편 자동매매]**를 먼저 확인해 주시기 바랍니다. 필수 세팅이 되어 있지 않으면 코드가 실행되지 않습니다!

지난 1편에서 개발을 위한 모든 밑작업을 완벽하게 마쳤습니다. 이제 드디어 파이썬 코드를 작성하여 키움증권 서버와 통신을 시작할 차례입니다.

원래 증권사 API를 파이썬과 연동하려면 PyQt5의 복잡한 이벤트 루프(Event Loop)와 COM 객체를 직접 제어해야 하지만, 우리는 수많은 선배 개발자들이 미리 만들어둔 pykiwoom이라는 마법 같은 라이브러리를 사용할 것입니다.

 이 라이브러리 덕분에 초보자도 단 10줄 내외의 코드로 로그인과 계좌 조회를 끝낼 수 있습니다.

1. 코딩 전 필수 작업: '자동 로그인' 설정하기

코드를 실행하기 전에 반드시 거쳐야 하는 매우 중요한 관문이 있습니다. 기본 상태에서는 파이썬 코드를 실행할 때마다 아이디와 비밀번호를 직접 쳐야 하는 번거로움이 발생합니다. 완전한 '자동매매'를 위해 이를 자동 로그인으로 바꿔주어야 합니다.

  1. PC 바탕화면 우측 하단(시계 옆)의 시스템 트레이에서 키움증권 OpenAPI 아이콘(W 모양)을 우클릭합니다.

  2. '계좌비밀번호 저장' 메뉴를 클릭합니다.

  3. 본인의 아이디가 나타나면 비밀번호와 모의투자용 계좌 비밀번호(보통 0000)를 입력하고 [등록] 버튼을 누릅니다.

  4. 마지막으로 'AUTO 옵션'에 체크를 해줍니다. 이제 코드가 실행될 때마다 비밀번호 입력 없이 스르륵 로그인이 진행됩니다!

2. 파이썬으로 키움증권 API 로그인하기

이제 파이썬 에디터(VS Code, PyCharm 또는 기본 IDLE)를 열고 아래 코드를 그대로 복사해서 붙여넣어 보세요.

Python
from pykiwoom.kiwoom import *
import time

# 1. 키움증권 객체 생성 (이 코드가 실행되면 우측 하단에 로그인 창이 자동으로 뜹니다)
kiwoom = Kiwoom()

# 2. 로그인 상태 확인 (0이 반환되면 성공, 그 외의 숫자는 실패)
if kiwoom.GetConnectState() == 0:
    print("키움증권 API 로그인 성공!")
else:
    print("로그인 실패. 네트워크 상태를 확인하세요.")

[코드 설명]

  • Kiwoom() 이라는 단어 하나로 키움증권 서버와의 복잡한 연결 고리가 한 번에 생성됩니다.

  • 만약 실행 후 화면 우측 하단에 키움증권 로그인 창이 잠시 나타났다가 사라지면서 파이썬 콘솔 창에 "키움증권 API 로그인 성공!"이라는 문구가 떴다면 완벽하게 성공한 것입니다.

3. 내 계좌 정보 불러오기

로그인에 성공했다면, 이제 내 증권 계좌번호를 서버로부터 불러와 보겠습니다. 자동매매로 주식을 사고팔려면 어느 계좌에서 돈을 뺄지 코드가 알고 있어야 하기 때문입니다.

로그인 코드 바로 밑에 아래 코드를 추가해 줍니다.

Python
# 3. 내 전체 계좌번호 목록 가져오기
accounts = kiwoom.GetLoginInfo("ACCNO")

# 4. 반환된 문자열 데이터를 다루기 쉽게 리스트(List) 형태로 쪼개기
# 키움증권은 계좌번호를 '세미콜론(;)'으로 구분해서 보내줍니다.
account_list = accounts.split(';')[:-1] 

print("내 계좌번호 목록:", account_list)

# 5. 주식 매매에 사용할 주력 계좌 1개 선택 (보통 리스트의 첫 번째 계좌)
my_account = account_list[0]
print("자동매매에 사용할 주 계좌:", my_account)

[실행 결과] 코드를 실행하면 ['8123456711', '8123456722'] 와 같이 본인이 보유한 키움증권 계좌번호들이 짠! 하고 나타납니다. 

우리는 앞으로 이 my_account 변수에 저장된 계좌번호를 활용하여 실제 주문을 넣게 됩니다.

마무리 및 다음 단계

정말 놀랍지 않나요? 복잡한 금융 시스템에 접속하고 내 개인 정보를 암호화하여 통신하는 엄청난 작업이, 파이썬과 pykiwoom 라이브러리를 만나 단 몇 줄의 직관적인 코드로 끝났습니다.

하지만 이건 시작에 불과합니다. 진짜 재미있는 것은 지금부터입니다.

 다음 [파이썬 주식 자동매매 3편]에서는 내가 관심 있는 종목(예: 삼성전자, 테슬라 등)의 특정 데이터를 서버에 요청하고, 현재가와 호가 잔량을 실시간으로 받아오는 'TR 데이터 통신'의 기초에 대해 파헤쳐 보겠습니다!


[파이썬 주식 자동매매 1편]


※ 이 글은 투자 공부를 위한 정보 공유이며, 특정 종목의 매수·매도를 권유하지 않습니다. 투자 판단과 그 결과에 대한 책임은 투자자 본인에게 있습니다.

댓글

이 블로그의 인기 게시물

[파이썬 주식 자동매매 1편]

파이썬 주식 자동매매 4편

파이썬 주식 자동매매 3편