-----------------------------------------------------------------------------
https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기
레퍼럴 코드 : 21391362
-----------------------------------------------------------------------------
RSI (Relative Strength Index)는 주식의 가격 움직임을 분석하는 기술적 지표입니다. RSI는 종가의 상승과 하락에 대한 상대적인 강도를 측정하여 과매수 및 과매도 상태를 식별하는 데 사용됩니다.

RSI를 계산하는 방법은 다음과 같습니다. 일정 기간 동안의 상승 폭과 하락 폭을 계산합니다. 이때, 기간은 일반적으로 14일로 설정합니다. 상승 폭의 평균값을 계산합니다. 이를 RS (Relative Strength)라고 합니다. 하락 폭의 평균값을 계산합니다. RS를 상승 폭의 평균값으로 나눈 후, 1에 더한 다음, 100으로 나누어 RSI를 계산합니다.
위의 계산 과정을 식으로 나타내면 다음과 같습니다.
U: 일정 기간 동안의 상승 폭의 평균값
D: 일정 기간 동안의 하락 폭의 평균값
RS = U/D
RSI = 100 - (100 / (1 + RS))
예를 들어, 14일 동안의 종가가 다음과 같다면, 일정 기간 동안의 상승 폭(U)과 하락 폭(D)은 다음과 같이 계산됩니다.
※ 종가 (100, 105, 110, 107, 109, 105, 103, 106, 102, 98, 95, 100, 98, 101)
U = (100+5+0+0+2+0+0+3+0+0+0+5+0+3)/14 = 18/14 = 1.29
D = (0+0+3+0+0+2+2+0+4+2+3+0+2+0)/14 = 18/14 = 1.29
따라서, RS = U/D = 1.29/1.29 = 1 이 되고, RSI = 100 - (100/(1+RS)) = 50 입니다.
RSI 를 파이썬으로 코딩해봅시다. EMA와 기본값14일 기준으로 개발해보겠습니다.
get_klines 메소드를 호출하여 15분봉 데이터를 14개 가져옵니다.

rolling를 호출하면 SMA를 구할 수 있고 ewm을 호출하면 EMA를 구할 수 있습니다.

결과입니다.

하지만 결과 값이 트레이딩뷰의 RSI값과 차이가 나는 것을 확인할 수 있는데, 위의 식은 Wells Wilder 가 개발한 RSI입니다. 좀 더 정확한 정보는 아래사이트에 나와있습니다.
https://school.stockcharts.com/doku.php?id=technical_indicators:relative_strength_index_rsi

여기서 중요한건 250개 데이터가 필요하다고 합니다. 바이낸스에서 250개 캔들 정보를 가져와서 넣어주면 트레이딩뷰와 거의 일치하는 RSI값을 구할 수 있습니다.

전체소스코드
https://github.com/kivy678/BitcoinTrade/blob/main/rsi.py
-----------------------------------------------------------------------------
https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기
레퍼럴 코드 : 21391362
-----------------------------------------------------------------------------
'비트코인 자동매매' 카테고리의 다른 글
[비트코인 자동매매] 업비트 오픈API 사용하기 (0) | 2023.05.15 |
---|---|
[비트코인 자동매매] RSI 차트에서 극값 구하는 프로그래밍 (1) | 2023.05.06 |
[비트코인 자동매매] 호가창 정보를 이용하여 자동매매 개발하기(3) (4) | 2023.04.13 |
[비트코인 자동매매] 호가창 정보를 이용하여 자동매매 개발하기(2) (0) | 2023.04.02 |
[비트코인 자동매매] 호가창 정보를 이용하여 자동매매 개발하기(1) (3) | 2023.03.30 |