먼저 필요한 라이브러리를 설치해줍니다.
pip install TA-Lib
pip install python-binance
먼저, 차트 패턴 인식에 필요한 라이브러리를 설치하고, 역사적 차트 패턴 샘플을 저장해야 합니다. 그 후, 현재의 BTCUSDT 차트 데이터를 불러올 수 있는 API를 사용해야 합니다. 아래 코드는 Binance API를 사용하여 BTCUSDT 차트 데이터를 가져오고, 차트 패턴 인식을 위한 TA-Lib 라이브러리를 사용합니다.
import os
import datetime
import numpy as np
import pandas as pd
import talib
from binance.client import Client
# Binance API 정보 입력
api_key = 'your_api_key'
api_secret = 'your_api_secret'
# Binance API 클라이언트 설정
client = Client(api_key, api_secret)
# BTCUSDT 차트 데이터 불러오기 (최근 30일, 4시간 차트)
end_time = datetime.datetime.utcnow()
start_time = end_time - datetime.timedelta(days=30)
candlesticks = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_4HOUR, start_time.strftime("%Y-%m-%d %H:%M:%S"), end_time.strftime("%Y-%m-%d %H:%M:%S"))
# 데이터 프레임 생성
data = pd.DataFrame(candlesticks, columns=['open_time', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'quote_asset_volume', 'number_of_trades', 'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume', 'ignore'])
# 필요한 컬럼만 남기고 데이터 형변환
data = data[['open', 'high', 'low', 'close', 'volume']].astype(float)
# 차트 패턴 인식
pattern_names = talib.get_function_groups()['Pattern Recognition']
pattern_results = {}
for pattern in pattern_names:
pattern_function = getattr(talib, pattern)
result = pattern_function(data['open'].values, data['high'].values, data['low'].values, data['close'].values)
if result[-1] != 0:
pattern_results[pattern] = result[-1]
if len(pattern_results) > 0:
for pattern, result in pattern_results.items():
if result > 0:
direction = "상승"
else:
direction = "하락"
print(f"{pattern}: {direction}")
else:
print("인식된 차트 패턴이 없습니다.")
이 코드는 TA-Lib 라이브러리를 사용하여 인식된 차트 패턴과 해당 패턴의 방향 (상승 또는 하락)을 출력합니다. 차트 패턴 인식은 정확하지 않을 수 있으므로, 이를 투자 전략의 유일한 기반으로 사용하는 것은 위험할 수 있습니다.
반응형