지난 포스팅에서 업비트 API 호출하는 방법에 대해서 자세히 알아 보았습니다.
비트코인 가상화폐 거래소 업비트 API(파이썬) 사용 방법
또한 pyupbit라는 라이브러리를 활용하여 쉽게 업비트 API를 호출하는 방법에 대해서도 간단하게 정리를 했었죠.
pyupbit 라이브러리를 통한 비트코인 가상화폐 거래소 API(파이썬) 사용 방법
이제는 이 기능들을 활용하여 유용한 값들을 하나씩 계산해 보도록 하겠습니다.
먼저 가장 중요한 차트 지표 중 하나인 이동평균선을 구해볼 생각입니다.
목차
이동평균선 개념
코인 가격이 종가 기준으로 평균적으로 얼마나 움직였는지 이어놓은 선을 의미합니다. 예를 들어 기준일로부터 과거 5일 동안 종가 평균을 구하여 그 가격들을 선으로 이으면 5일 이동평균선이 됩니다. 이 지표는 시장의 추세를 파악하는데 매우 유용합니다.
이동평균선 기능 구현
이 개념을 파이썬으로 구현해 보겠습니다.
def get_ma(df, n):
return df['close'].rolling(window=n).mean()
생각보다 간단합니다. 한줄로 끝나요.
pyupbit에서 시세 정보를 DataFrame 이라는 객체로 제공해서 그렇습니다. DataFrame의 자세한 개념은 여기서 말하고자 하는 내용의 범위를 벗어나므로 생략하기로 합니다.
먼저 df(DataFrame 객체)에서 close(종가) 컬럼 값을 가져옵니다. rolling 메서드는 요소 인덱스를 하나씩 이동하면서 이전 값부터 현재 값까지 n개씩 그루핑 하는 기능을 합니다. 마지막으로 mean 메서드로 그루핑한 값들의 각각 평균을 구합니다.
딱 한 줄이지만 많은 의미를 내포하고 있죠?
기능 활용
비트코인의 5일 이동평균선을 구해 보겠습니다.
df = pyupbit.get_ohlcv()
ma5 = get_ma(df, 5)
print(ma5)
먼저 pyupbit 라이브러리를 활용하여 비트코인 시세를 간단히 가져옵니다. 파라미터에 아무 값도 넣지 않으면 기본적으로 비트코인 시세 200일치를 가져오게 됩니다. 앞서도 말했지만 DataFrame 객체로 가져 옵니다.
get_ma 함수에 df와 숫자 5를 파라미터로 넘겨 줍니다. 이는 200일 간 비트코인의 5일 이동평균선을 구하겠다는 의미가 됩니다.
다음과 같이 출력되면 정상입니다.
처음 4개의 값이 안나오고 NaN으로 찍히는 이유는 그루핑한 데이터 개수가 5일치가 안되기 때문입니다.
파이썬 별로 안어렵죠? 프로그램 매매도 생각보다 어렵지 않을 수 있습니다.
코딩에 관심 없으셨던 분들도 한 가닥 희망을 보셨으면 합니다.
감사합니다.
'코딩 강의 > 유용한 스킬 없을까요' 카테고리의 다른 글
비트코인 매수 타임 예측, 파이썬 tensorflow(딥러닝) 활용 (1) | 2022.03.23 |
---|---|
프로그램 매매 핵심 지표, 거래량 이동평균선 구하기 (암호 화폐) (5) | 2021.12.02 |
파이썬 데이터프레임 차트 n일봉 또는 n시간봉 캔들 데이터 계산 방법 (주식, 암호 화폐) (0) | 2021.11.22 |
비트코인 암호 화폐 거래소 업비트 API(파이썬)를 활용한 변동성 돌파 전략 구현 방법 (돌파 계수 = 노이즈 비율) (1) | 2021.06.17 |
pyupbit 라이브러리를 통한 비트코인 암호 화폐 거래소 API(파이썬) 사용 방법 (1) | 2021.06.10 |
비트코인 암호 화폐 거래소 업비트 API(파이썬) 사용 방법 (6) | 2021.05.16 |
파이썬 크롤링으로 URL 이미지 저장하기 (0) | 2020.10.29 |
파이썬 텍스트 크롤링 따라하기 (2) | 2020.09.01 |
댓글