내가 아는 정보

python binance RSI 본문

Python

python binance RSI

붕붕북치기 2022. 6. 23. 16:29
반응형

 ccxt 를 활용한 RSI 구하는 방법입니다. 아래 코드를 활용하시면 현재 비트코인의 RSI 를 구하실 수 있습니다. 

 

import time
import ccxt
import pandas as pd

# binance 객체 생성
binanceX = ccxt.binance(config={
    'apiKey': Binance_AccessKey, 
    'secret': Binance_ScretKey,   
})




def rsi_calc(ohlc: pd.DataFrame, period: int = 14):
    ohlc = ohlc[4].astype(float)
    delta = ohlc.diff()
    gains, declines = delta.copy(), delta.copy()
    gains[gains < 0] = 0
    declines[declines > 0] = 0

    _gain = gains.ewm(com=(period - 1), min_periods=period).mean()
    _loss = declines.abs().ewm(com=(period - 1), min_periods=period).mean()

    RS = _gain / _loss
    return pd.Series(100 - (100 / (1 + RS)), name="RSI")


def rsi_binance(itv='1h', symbol='BTC/USDT'):
    ohlcv = binanceX.fetch_ohlcv(symbol="BTC/USDT", timeframe=itv, limit=200)
    df = pd.DataFrame(ohlcv)
    rsi = rsi_calc(df, 14).iloc[-1]			#현재(가장최근) RSI
    return rsi
    
    
    
# test
while True:
    print(rsi_binance(itv='15m'))		#RSI 15분
    print(rsi_binance(itv='1h'))
    print(rsi_binance(itv='4h'))
    time.sleep(1)

 

반응형

'Python' 카테고리의 다른 글

파이썬 증감연산자 ++ --  (1) 2022.07.16
pyupbit 전량매수 전량매도  (2) 2021.07.16