RSI (Relative Strength Index)는 특정 자산의 가격 움직임을 분석하여 과매수(Overbought) 또는 과매도(Oversold) 상태를 판단하기 위한 모멘텀 지표입니다. 이는 자산의 상승 속도와 하락 속도를 비교하여, 가격 추세의 강도와 잠재적 반전 가능성을 측정합니다.
RSI 구현
pip install ta pandas ccxt
import ta
import pandas as pd
import ccxt
# 예시) 바이낸스 선물 BTCUSDT, 1시간 봉
bnb = ccxt.binance({'options': { 'defaultType': 'future' }})
def RSI(length=14):
ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
df['rsi'] = ta.momentum.RSIIndicator(close=df['close'], window=length).rsi().fillna(0)
df['rsi'] = df['rsi'].round(2) # 소수점 2자리 까지
return df
print(RSI()) # 기본 14, length 수정 가능