본문 바로가기
Python

[Python] pyupbit를 활용한 가상화폐 자동 매매 프로그램 - 1탄

by inspireman 2021. 9. 2.
728x90

|가상화폐 자동 매매 프로그램|


업비트 자동매매 프로그램 구성 참고용으로 작성하는 글입니다.
여기서 작성 하는 매매 알고리즘은 그대로 하지 따라 하지 않으시길 바랍니다.

 

파이썬 버전 :  Python 3.9.5  32bit

필수 모듈 : pyupbit, deque

모듈 설치 방법

pip install pyupbit

 

업비트 원화로 매매가능한 코인 리스트 가져와서 이동평균선 구하기
import time
import pyupbit
from collections import deque

#주문은 초당 8회, 분당 200회 / 주문 외 요청은 초당 30회, 분당 900회 사용 가능합니다.

tickers = []    # 코인 리스트
# 코인 종가 담을 deque 변수
ma20 = deque(maxlen=20)
ma60 = deque(maxlen=60)
ma120 = deque(maxlen=120)

# 원화로 매매 가능한 코인 리스트 만들기
tickers = pyupbit.get_tickers(fiat="KRW")

# 코인 심볼 하나씩 받아와서 이동평균선 구하기
def get_ticker_ma(ticker):  

    '''get_ohlcv 함수는 고가/시가/저가/종가/거래량을 DataFrame으로 반환합니다'''
    df = pyupbit.get_ohlcv(ticker, interval='day') # 일봉 데이터 프레임 생성

    ma20.extend(df['close'])    # ma20 변수에 종가 넣기
    ma60.extend(df['close'])    # ma60 변수에 종가 넣기
    ma120.extend(df['close'])   # ma120 변수에 종가 넣기

    curr_ma20 = sum(ma20) / len(ma20)   # ma20값 더해서 나누기 = 20일선 이동평균
    curr_ma60 = sum(ma60) / len(ma60)   # ma60값 더해서 나누기 = 60일선 이동평균
    curr_ma120 = sum(ma120) / len(ma120)    # ma20값 더해서 나누기 = 120일선 이동평균   

    print(f'코인 심볼: {ticker}     이동 평균(20): {round(curr_ma20,2)}, 이동 평균(60): {round(curr_ma60,2)}, 이동 평균(120): {round(curr_ma120,2)}') 


# 코인 리스트에서 이동 평균선 함수로 하나씩 꺼내서 보내기
while True:    
    try:        
        for tk in tickers:            
            get_ticker_ma(tk)
            time.sleep(2)
    except:
        print('오류 발생 무시')
        pass

 

파이썬 & Visual Studio 설치 방법

[Python ] - Python 및 Visual Studio code 설치 방법

 

Python 및 Visual Studio code 설치 방법

|파이썬 설치하기| 해당 사이트 들어 가서 Python 다운로드 : www.python.org Welcome to Python.org The official home of the Python Programming Language www.python.org 스크롤을 맨 아래로 내린 후 자기에..

inspireman.tistory.com

 

Visual Studio code에서 Python 파일 디버깅하기

[Python ] - Visual studio code에서 Python 파일 디버깅하기

 

Visual studio code에서 Python 파일 디버깅하기

|Python 파일 디버깅 하기| 내 컴퓨터 "C\Conding" 폴더 생성 VisualStudio Code에서 Open folder를 클릭 한 후 생성한 "Coding"폴더 선택 New File을 클릭하고 파일 명(Codingtest)과 확장자(.py)를 적고 Ente..

inspireman.tistory.com

 

 

728x90
반응형

댓글