Python으로 일목균형표(Ichimoku Cloud) 구현하기

일목균형표(Ichimoku Cloud)는 지지, 저항, 시장 추세 및 시장 모멘텀을 나타내는 여러 기술 지표의 패키지입니다. 일목균형표는 여러 의미 있는 인사이트를 하나로 묶어 전달하려는 몇 안 되는 지표 중 하나입니다. 이러한 이유로 언뜻 이해하기 어려울 수 있지만 전문 트레이더와 시장 참여자 사이에서 일반적으로 사용됩니다.

1960년대 후반 호사다 고이치는 일목균형표를 소개했습니다. 일목균형표를 채택하고 이해하는 데 몇 년이 걸렸지만 오늘날에는 기술 분석 분야에서 일반적으로 알려져 있고 지표로 사용됩니다.

출처: 트레이딩뷰

pip install pandas ccxt pinetopy ta

import pandas as pd
import ccxt
import pinetopy as pp
import ta

# 예시) 바이낸스 선물 BTCUSDT, 1시간 봉 
bnb = ccxt.binance({'options': { 'defaultType': 'future' }}) 
ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
df['time'] = pp.kst(df['time'])

def Ichimoku(df, conversion=9, base=26, spanb=52):
    data = ta.trend.IchimokuIndicator(high=df['high'], low=df['low'], window1=conversion, window2=base, window3=spanb)
    df['conversion_line'] = data.ichimoku_conversion_line()
    df['base_line'] = data.ichimoku_base_line()
    df['a'] = data.ichimoku_a()
    df['b'] = data.ichimoku_b()
    return df

print(Ichimoku(df, conversion=9, base=26, spanb=52)) # 트레이딩뷰 디폴트 값