지표(6)
-
[파이썬] 업비트 지표 구하기 - RSI(상대강도지수)
RSI란, Relative Strength Index의 약자로, 한국어로 역하면 상대간도지수하고 한다. RSI는 가격의 상승압력과 하락압력 간의 상대적인 강도를 나타내며, 일정 기간 동안 주가가 전일 가격에 비해 상승한 변화량과 하락한 변화량의 평균값을 구하여, 상승한 변화량이 크면 과매수, 하락한 변화량이 크면 과매도로 판단하는 방식이다. 계산방법은 주어진 기간의 모든 날의 주가에 대해서 아래와 같다. U = 가격이 전일 가격보다 상승한 날의 상승분 (Up) D = 가격이 전일 가격보다 하락한 날의 상승분 (Down) AU = U값의 평균 (Average Ups) AD = D값의 평균 (Average Downs) RS = AU / AD (Relative Strength) RSI = RS / (1 + R..
2023.03.06 -
[파이썬] 업비트 지표 구하기 - MACD(이동평균수렴·확산지수)
MACD란, Moving Average Convergence & Divergence의 약자로, 한국어로 번역하면 이동평균수렴·확산지수라고 한다. 기본적으로 장단기 이동평균선간의 차이를 이용하여 매매신호를 포착하려는 기법으로, 장기 이동평균선과 단기 이동평균선이 멀어지게 되면(Divergence) 언젠가는 다시 가까워져서(Convergence) 어느 시점에 서로 교차하게 되는 성질을 이용한 것이다. MACD는 기본적으로 단기 이동평균선에는 12일 지수이동평균을 사용하고, 장기 이동평균선에는 26일 지수이동평균선을 이용하므로, 앞에서 스터디한 이동평균선을 구하는 코드를 이용해서 쉽게 만들어낼 수 있는 지표 중 하나이며, MACD의 기본 공식은 아래와 같다. (이동평균 관련 코드는 블로그 하단 링크 참고) 1..
2023.02.23 -
[파이썬] 업비트 지표 구하기 - 가중이동평균(WMA)
가중이동편균(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, interv..
2023.01.15 -
[파이썬] 업비트 지표 구하기 - 지수이동평균(EMA)
지수이동편균(EMA)은 각 거래일의 종가에 동일한 가중치를 사용하는 단순 이동평균과는 달리, 최근 데이터에 더 높은 가중치(지수 가중치)를 부여하는 이동평균으로, 단순이동평균 보다 최근의 가격변동(추세)을 좀 더 많이 반영하는 지표이다. 아래의 코드는 일봉데이터 100개(100일)를 받아와서 30일 지수이동평균을 구하는 코드로, 단순이동평균을 구할 때와 비슷하게 지수이동평균을 계산하는 부분인 'ema_30 = df.ewm(span=30, adjust=False).mean().iloc[-1]'에서 'span=30' 부분의 숫자 30을 60으로 바꾸면 60일 지수이동평균을 구할 수 있으며, 120일 지수이동평균을 구하고 싶다면 'df = pyupbit.get_ohlcv(ticker, interval="day..
2023.01.14 -
[파이썬] 업비트 지표 구하기 - 단순이동평균(SMA)
이동평균선은, 주식시장이나 파생상품시장에서 기술적 분석을 할 때 쓰이는 기본 도구 중 하나이며, 풀네임보다는 줄여서 이평선이라고 많이 부른다. 거래액, 매매대금, 주가 등 다양한 분야에서 접목할 수 있는데, 과거의 평균적 수치에서 현상을 파악(주로 추세)하여 현재의 매매와 미래의 예측에 접목할 수 돕는 것이 목적으로 단순이평(SMA)이 자주 쓰이지만 지수평균(EMA), 가중평균(WMA) 등을 사용하는 경우도 있다. 아래의 코드는 일봉데이터 100개(100일)를 받아와서 30일 단순이동평균을 구하는 코드이다. 'sma_30 = df.rolling(30).mean().iloc[-1]'에서 'rolling(30)' 부분의 숫자 30을 60으로 바꾸면 60일 단순이동평균을 구할 수 있다. 만약에 120일 이동평..
2023.01.13 -
[파이썬] 업비트 코인 가격 데이터 받아오기
파이업비트를 이용해서 업비트의 코인 가격 데이터를 받아오기 위해서 프로그램 시작 부분에 아래의 코드를 작성하여 가격데이터를 받아올 수 있도록 정의를 해준다. def get_ohlcv10(ticker): df = pyupbit.get_ohlcv(ticker, interval="day", count=10) return df interval 항목은 쉽게 말해서 차트의 종류(범위, 기간 = 각 데이터의 간격)를 정하는 것으로 "day" 부분을 아래의 옵션들로 교체하면 1분봉 부터 월봉까지 다양한 차트(범위, 기간 = 각 데이터의 간격)를 선택할 수 있다. day : 일봉 minute1 : 1분봉 minute3 : 3분봉 minute5 : 5분봉 minute10 : 10분봉 minute15 : 15분봉 minut..
2023.01.06