[파이썬] 업비트 지표 구하기 - 단순이동평균(SMA)

2023. 1. 13. 10:00자동매매/업비트

반응형

이동평균선은, 주식시장이나 파생상품시장에서 기술적 분석을 할 때 쓰이는 기본 도구 중 하나이며, 풀네임보다는 줄여서 이평선이라고 많이 부른다.

 

거래액, 매매대금, 주가 등 다양한 분야에서 접목할 수 있는데, 과거의 평균적 수치에서 현상을 파악(주로 추세)하여 현재의 매매와 미래의 예측에 접목할 수 돕는 것이 목적으로 단순이평(SMA)이 자주 쓰이지만 지수평균(EMA), 가중평균(WMA) 등을 사용하는 경우도 있다.

 

아래의 코드는 일봉데이터 100개(100일)를 받아와서 30일 단순이동평균을 구하는 코드이다. 'sma_30 = df.rolling(30).mean().iloc[-1]'에서 'rolling(30)' 부분의 숫자 30을 60으로 바꾸면 60일 단순이동평균을 구할 수 있다.

 

만약에 120일 이동평균을 구하고 싶다면 일봉데이터가 120개가 있어야 120일 평균을 구할 수 있으므로 가격데이터를 받아오는 부분인 'df = pyupbit.get_ohlcv(ticker, interval="day", count=100)'에서 'count=100' 부분의 숫자 100을 최소 120 이상으로 바꿔준 다음, 'rolling(30)' 부분의 숫자 30을 120으로 바꿔주면 120일 단순이동평균을 구할 수 있다.

 

 

import pyupbit


def get_ohlcv10(ticker):
    df = pyupbit.get_ohlcv(ticker, interval="day", count=100)
    return df


# Upbit 로그인 시작
access = "액세스 코드 입력"
secret = "시크릿코드 입력"
upbit = pyupbit.Upbit(access, secret)


df = get_ohlcv10('KRW-BTC')
df = df['close']
sma_30 = df.rolling(30).mean().iloc[-1]
print(sma_30)

 

 

반응형