본문 바로가기
주식 자동 매매 프로젝트

[주식 자동 매매] 프로그램 개발 4: 프로젝트 폴더/파일 관리

by 카이로스의시간 2024. 11. 13.

주식 자동 매매 프로그램을 개발하고 있습니다. 이 프로그램을 개발하기로 마음먹고 찾아보니 증권사에서도 '조건 매매' 등의 이름으로 유사한 기능을 제공하고 있더군요.

 

그럼에도 불구하도 개발은 계속 진행합니다. 가장 큰 이유는,

증권사에서 제공하는 인터페이스대로만 조건을 설정해야 하는 게 싫기 때문입니다. 예를 들어 보겠습니다.

 

저는 가치투자에서 활용하는 지표(ROE, 안전마진, PBR 등)를 기준으로 종목을 선별하되, 매매전략은 단타투자에서 활용하는 지표들을 사용하고 싶습니다. 그러나 이런 식의 로직을 제공하는 조건 매매는 없습니다. 내가 직접 개발하는 것의 장점은 내가 원하는 조건을 자유롭게 구현할 수 있다는 겁니다.

 

그러니 자동 매매 프로그램 개발을 계속 이어나가 보겠습니다. 이번 포스트에서는 자동 매매 기능 구현에 필요한 3rd party(증권사, 디스코드) 활용에 필요한 사전 조치를 설명합니다.

 

개발 환경

일단 제 개발 환경은 아래와 같습니다:

  • 사용 기기: 맥북에어 M2
  • OS: macOS Sequoia 15.1
  • IDE: VS Code
  • 개발 언어: Python 3.x

 

 

한국투자증권 API 사용 신청

자동 매매의 핵심적인 기능은 한국투자증권 Open API를 사용해 구현합니다. 

 

'왜 한국투자증권'을 선택했는지는 조코딩님의 관련 영상에 잘 나와 있어요.

 

맥북에서, 별도의 프로그램 설치하지 않고도 활용이 가능하고, RESTful API 방식이기 때문입니다.

 

다른 무엇보다 해외(미국) 주식 관련 API도 제공한다는 점이 가장 매력적이에요.

 

 

 

01 계좌 개설

한국투자증권 API를 활용하기 위해서는 증권 계좌가 필요하기 때문에 개설해 줍니다.

 

이미 증권 계좌가 있는 분들은 새로 개설할 필요는 없습니다. 저도 예전에 개설해둔 계좌가 있어서 새로 계좌를 개설하지 않았어요.

 

만약 저처럼 모의투자를 통해 코드를 시뮬레이션하고 싶다면 모의투자 계좌도 개설해 주세요. 아래 페이지에서 할 수 있습니다.

 

▲ [신청/재도전] 탭에서 모의투자 계좌를 개설할 수 있습니다. 코딩할 때 계좌번호가 필요하니 잘 메모해 두세요.

 

 

02 한국투자증권 API 사용 신청

계좌 개설이 끝나면 API 사용 신청을 합니다.

 

▼ [KIS Developers 서비스 신청하기] 페이지에서 진행합니다. 한국투자증권 접속 ID가 필요합니다.

 

 

▼ 기본적으로 API 사용 신청을 하고나면 [APP KeyAPP Secret]이라는 아주아주 중요한 정보가 생성됩니다. 

 

이 정보는 실전투자계좌용으로 한 벌, 모의투자계좌용으로 한 벌씩 발급되니 모의투자까지 하실 분들은 잊지 말고 챙기세요.

 

APP Key와 APP Secret 정보는 여러분만 아는 곳에 잘 저장해 두세요.

 

 

디스코드 웹훅

자동 매매 프로그램을 실행하면 장이 마감될 때까지 프로그램이 실행되면서 종목을 발굴하고 매매를 수행합니다. 이 과정에서 발생하는 중요한 이벤트들은 저한테 메시지로 발송됩니다.

 

예를 들어, 매 시각 30분마다 잔고를 조회해 그 내역을 메시지로 보낸다든가, 목표가에 도달한 종목을 매수할 때 메시지를 보내는 것처럼요.

 

이 때 메시지 전송 채널로 사용하는 앱이 '디스코드'입니다. 제가 텔레그램으로 메시지를 보내는 프로그램도 코딩을 해봤지만, 이 디스코드야 말로 정말 구현이 쉽더군요. 조코딩님이 왜 디스코드로 예시 코드를 작성하셨는지 알 것 같았어요. 

 

디스코드로 메시지를 발송하려면 디스코드 회원가입해야 합니다.

 

▼ 로그인해서 접속한 디스코드 화면에서 맨왼쪽 사이드바 아래에 있는 [+] 버튼을 눌러줍니다.

 


▼ 서버를 만들어 보라는 팝업 메뉴에서 [직접 만들기]를 선택합니다.

 

 

 

▼ [나와 친구들을 위한 서버]를 선택합니다.

 

 

▼ [kis_api]라는 이름으로 채널을 만들었습니다. 채널에 들어가 [채팅 채널 > #일반]에 마우스를 올리면 [톱니바퀴] 버튼이 보입니다. 그걸 눌러주세요.

 

 

▼ 채널 설정 화면에서 [연동Integration]을 누르면 [웹후크 만들기]가 보일 겁니다. 눌러주세요.

 

 

▼ 웹후크 만들기 화면에서 [웹후크 URL 복사]를 누르면 URL이 클립보드에 복사됩니다. 이 정보도 알림 메시지 발송 기능을 구현하기 위해 반드시 필요한 정보이니 APP Key, APP Secret과 함께 소중히 잘 메모해 두세요.

 

/

 

세팅 단계만 해도 설명할 게 한가득이네요. 이제는 자동 매매 로직을 설계하고, 코드로 구현하는 '본론' 단계입니다.