EMA (Exponential Moving Average)는 지수 가중 이동 평균으로, 시간에 따라 더 많은 가중치를 최근의 데이터에 부여하는 이동 평균입니다. 이는 단순 이동 평균(SMA, Simple Moving Average)보다 최신 값에 더 많은 중요도를 두고 싶을 때 사용됩니다.
EMA는 과거의 데이터에 대해 지수적으로 감소하는 가중치를 적용하여 평균을 계산합니다. 즉, 가장 최근의 데이터에 더 큰 가중치를 주고, 과거의 데이터는 점차 그 중요도가 줄어들게 됩니다.
EMA 구현
pip install pandas ccxt
import pandas as pd
import ccxt
# 예시) 바이낸스 선물 BTCUSDT, 1시간 봉
bnb = ccxt.binance({'options': { 'defaultType': 'future' }})
def EMA(ema_lines=[200]): # 기본 EMA 200일 line 리턴
ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
for len in ema_lines:
df[f"EMA_{len}"] = df['close'].ewm(span=len, adjust=False).mean().round(1)
return df
ema_lines = [25,50,100] # 예시) EMA 25, 50, 100일 line
print(EMA(ema_lines=ema_lines))