단순이동평균(SMA) 은 가중치가 없는 이동 평균입니다. 즉, 데이터 집합의 각 날짜는 동일한 중요성을 가지며 동일한 가중치를 갖습니다. 새로운 날짜가 시작될 때마다 가장 오래된 데이터 포인트는 삭제되고 가장 새로운 데이터 포인트가 처음에 추가됩니다.
TradingView: https://kr.tradingview.com/support/solutions/43000502589/
SMA 구현
pip install pandas ccxt
import pandas as pd
import ccxt
# 예시) 바이낸스 선물 BTCUSDT, 1시간 봉
bnb = ccxt.binance({'options': { 'defaultType': 'future' }})
def SMA(sma_lines=[9]): # 기본 SMA 9일 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 sma_lines:
df[f"SMA_{len}"] = df['close'].rolling(window=len).mean()
return df
sma_lines = [25,50,100] # 예시) SMA 25, 50, 100일 line
print(SMA(sma_lines=sma_lines))