[파이썬] 업비트 지표 구하기 - 가중이동평균(WMA)

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

반응형

가중이동편균(WMA) 역시 지수이동평균(EMA)과 같이 최근 데이터에 더 높은 가중치를 부여하는 이동평균이지만, 차이점은 가중치가 등차수열로 반영된다는 점이다.

 

아래의 코드는 일봉데이터 100개(100일)를 받아와서 30일 가중이동평균을 구하는 코드로, 지수이동평균을 구할 때와 비슷하게 가중이동평균을 계산하는 부분인 'wma_30 = df.ewm(alpha=1/30, min_periods=30).mean().iloc[-1]'에서 'alpha=1/30' 부분의 숫자 1/30을 1/60으로 바꾸고, 'min_periods=30' 부분의 숫자 30을 60으로 바꾸면 60일 가중이동평균을 구할 수 있으며,

 

120일 지수이동평균을 구하고 싶다면 'df = pyupbit.get_ohlcv(ticker, interval="day", count=100)'에서 'count=100' 부분의 숫자 100을 최소 120 이상으로 바꿔준 다음, 'alpha=1/30'와 'min_periods=30' 부분의 숫자를 각각 1/120, 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']
wma_30 = df.ewm(alpha=1/30, min_periods=30).mean().iloc[-1]
print(wma_30)

 

 

 

 

 

 

 

 

반응형