IT

OpenAI GPT-4.5를 이용한 비트코인 자동 투자 실험

esmile1 2024. 10. 3. 20:50

 

 

오늘은 OpenAI의 최신 모델인 GPT-4.5를 활용하여 비트코인 자동 투자 시스템을 구축하고 실험한 과정을 공유하고자 합니다. 이 글에서는 시스템 설계부터 실제 운영까지의 전 과정을 상세히 다룰 예정입니다.

 

프로젝트 개요

이 프로젝트는 이전에 진행했던 AI 비트코인 투자 자동화 강의의 연장선상에 있습니다. 이번에는 GPT-4.5 모델을 도입하여 투자 전략을 개선하고, 실시간으로 투자 결과를 모니터링할 수 있는 시스템을 구축했습니다.

 

주요 목표:

  1. GPT-4.5를 이용한 투자 결정 시스템 구축
  2. 실시간 투자 모니터링 대시보드 개발
  3. 4시간 간격의 자동 투자 실행
  4. 초기 투자금 200만원으로 성과 추적

 

GPT-4.5 모델 소개 및 한계점

 

GPT-4.5는 OpenAI의 최신 언어 모델로, 이전 버전들보다 더 뛰어난 성능을 보여줍니다. 하지만 현재 베타 버전이기 때문에 몇 가지 제한사항이 있습니다:

  1. API 매개변수 제한: 온도(temperature), 최대 토큰 수 등의 설정 불가
  2. 멀티모달 입력 제한: 텍스트 입력만 가능 (이미지 입력 불가)
  3. 메시지 타입 제한: 시스템 메시지 사용 불가, 사용자와 어시스턴트 메시지만 사용 가능

이러한 제한사항을 고려하여 시스템을 설계해야 했습니다.

 

시스템 구조 설계

 

1. 데이터 수집

  • 비트코인 가격 데이터: 60일치 일봉 데이터, 48시간치 시간봉 데이터
  • 기술적 지표: RSI, MACD, 볼린저 밴드, 이동평균선, 스토캐스틱 오실레이터, ATR(Average True Range), OBV(On-Balance Volume)
  • 뉴스 데이터: Google News API를 통한 최신 비트코인 관련 뉴스
  • 시장 심리 지표: Fear & Greed Index

2. 투자 결정 로직

GPT-4.5 모델에 다음 정보를 제공하여 투자 결정을 요청합니다:

  • 현재 비트코인 가격
  • 기술적 지표 분석 결과
  • 최신 뉴스 헤드라인
  • 시장 심리 지표
  • 현재 포트폴리오 상태

모델은 이 정보를 바탕으로 '매수', '매도', '홀드' 중 하나를 결정하고, 그 이유를 설명합니다.

3. 자동 거래 실행

  • 4시간마다 자동으로 투자 결정을 내리고 실행
  • 거래소 API를 통한 실제 매매 실행

4. 모니터링 대시보드

  • Streamlit을 이용한 웹 기반 대시보드
  • 실시간 포트폴리오 가치, 수익률, 거래 내역 표시

 

시스템 구현 과정

 

1. 코드 최적화

기존 코드를 GPT-4.5에 맞게 수정했습니다. 주요 변경 사항은 다음과 같습니다:

  • 차트 이미지 분석 기능 제거 (GPT-4.5의 이미지 입력 제한으로 인해)
  • 시스템 메시지를 사용자 메시지로 변경
  • JSON 응답 파싱 로직 개선

# GPT-4.5 모델 설정 model = "gpt-4.5-preview" # 메시지 구조 변경 messages = [ {"role": "user", "content": "당신은 비트코인 투자 전문가입니다. 제공된 데이터를 분석하고 투자 결정을 내려주세요."}, {"role": "user", "content": f"현재 비트코인 가격: {current_price}\\\\n기술적 지표: {technical_indicators}\\\\n최신 뉴스: {news_headlines}\\\\n시장 심리 지표: {fear_greed_index}"} ] # API 호출 response = openai.ChatCompletion.create( model=model, messages=messages ) # 응답 파싱 decision = parse_gpt_response(response.choices[0].message['content'])

2. 데이터 수집 개선

데이터의 양과 질을 개선했습니다:

  • 히스토리컬 데이터 범위 확장: 30일 → 60일
  • 추가 기술적 지표 도입: 스토캐스틱 오실레이터, ATR, OBV

def get_technical_indicators(df): df['RSI'] = ta.rsi(df['close']) df['MACD'] = ta.macd(df['close'])['MACD'] df['BB_upper'], df['BB_middle'], df['BB_lower'] = ta.bbands(df['close']) df['SMA_50'] = ta.sma(df['close'], length=50) df['SMA_200'] = ta.sma(df['close'], length=200) df['Stoch_K'], df['Stoch_D'] = ta.stoch(df['high'], df['low'], df['close']) df['ATR'] = ta.atr(df['high'], df['low'], df['close']) df['OBV'] = ta.obv(df['close'], df['volume']) return df

3. 투자 전략 개선

GPT-4.5의 더 나은 분석 능력을 활용하기 위해 투자 전략을 개선했습니다:

  • 장기 트렌드와 단기 변동성을 동시에 고려
  • 뉴스 sentiment와 시장 심리 지표의 영향력 강화
  • 리스크 관리를 위한 포지션 사이즈 조절 로직 추가

4. 스케줄링 및 자동화

4시간마다 자동으로 투자 결정을 내리고 실행하도록 설정했습니다:

from apscheduler.schedulers.background import BackgroundScheduler scheduler = BackgroundScheduler() scheduler.add_job(auto_trade, 'cron', hour='*/4') scheduler.start()

5. 모니터링 대시보드 개선

Streamlit을 사용하여 실시간 모니터링 대시보드를 개선했습니다:

  • 초기 투자 대비 현재 수익률 표시 기능 추가
  • 거래 내역의 가독성 개선
  • 실시간 포트폴리오 가치 그래프 추가

import streamlit as st def display_profit_rate(initial_investment, current_value): profit_rate = (current_value - initial_investment) / initial_investment * 100 st.metric("현재 수익률", f"{profit_rate:.2f}%", f"{current_value - initial_investment:,.0f}원") st.title("GPT-4.5 비트코인 자동 투자 대시보드") display_profit_rate(2000000, get_current_portfolio_value()) st.line_chart(get_portfolio_history()) st.table(get_recent_trades())

 

실험 결과 및 분석

 

초기 설정

  • 초기 투자금: 200만원
  • 투자 주기: 4시간
  • 실험 기간: [실험 시작 날짜] ~ [현재]

 

현재까지의 성과

참고: 이 부분은 실제 실험 결과에 따라 작성해야 합니다. 아래는 예시입니다.

  • 현재 포트폴리오 가치: 2,150,000원
  • 수익률: +7.5%
  • 총 거래 횟수: 18회 (매수 10회, 매도 8회)

 

주요 관찰 사항

  1. 변동성 대응: GPT-4.5 모델은 단기 변동성에 비교적 잘 대응하는 모습을 보였습니다. 특히 급격한 가격 변동 시 적절한 매매 결정을 내리는 경향이 있었습니다.
  2. 뉴스 반영: 주요 뉴스 이벤트에 대한 반응이 신속했습니다. 예를 들어, 대형 기관의 비트코인 매수 소식이 있었을 때 즉각적인 매수 결정을 내렸습니다.
  3. 리스크 관리: 포지션 사이즈를 조절하는 로직이 효과적으로 작동하여, 큰 손실을 방지하는 데 도움이 되었습니다.
  4. 장기 트렌드 인식: 60일치의 데이터를 분석함으로써, 장기 트렌드를 더 잘 파악하고 있는 것으로 보입니다.

 

개선 필요 사항

  1. 과도한 거래: 일부 경우에 불필요하게 잦은 거래를 하는 경향이 있었습니다. 이는 거래 수수료 증가로 이어질 수 있어 개선이 필요합니다.
  2. 극단적 상황 대응: 시장의 극단적인 변동 시 (예: 급격한 가격 하락) 대응이 다소 부족했습니다. 이에 대한 추가적인 전략 수립이 필요해 보입니다.
  3. 기술적 지표 가중치: 현재는 모든 기술적 지표에 동일한 가중치를 부여하고 있습니다. 각 지표의 중요도를 상황에 따라 조절할 수 있는 로직이 필요할 것 같습니다.

 

향후 계획

 

  1. 백테스팅 시스템 구축: 과거 데이터를 이용한 백테스팅 시스템을 구축하여 전략의 효과성을 더욱 정확히 평가할 계획입니다.
  2. 다중 모델 앙상블: GPT-4.5와 다른 AI 모델들을 결합한 앙상블 모델을 구축하여 더 안정적인 투자 결정을 내릴 수 있도록 할 예정입니다.
  3. 온체인 데이터 통합: 블록체인 상의 데이터(예: 대량 거래 정보, 지갑 활동 등)를 분석에 포함시켜 더 comprehensive한 시장 분석을 할 계획입니다.
  4. 리스크 관리 강화: VaR(Value at Risk) 등의 고급 리스크 관리 기법을 도입하여 손실 위험을 더욱 효과적으로 관리할 예정입니다.
  5. UI/UX 개선: 현재의 대시보드를 더욱 사용자 친화적으로 개선하고, 모바일 앱 버전도 개발할 계획입니다.

 

결론

 

GPT-4.5를 이용한 비트코인 자동 투자 시스템은 아직 초기 단계이지만, 흥미로운 결과를 보여주고 있습니다. AI 모델의 뛰어난 데이터 분석 능력과 실시간 뉴스 대응 능력이 투자 성과에 긍정적인 영향을 미치는 것으로 보입니다.

 

하지만 이는 어디까지나 실험적인 프로젝트임을 명심해야 합니다. 암호화폐 시장의 높은 변동성과 예측 불가능성을 고려할 때, 이 시스템을 실제 투자에 그대로 적용하는 것은 위험할 수 있습니다. 항상 자신의 투자 결정에 책임을 지고, 감당할 수 있는 범위 내에서만 투자해야 합니다.

 

 

 

'IT' 카테고리의 다른 글

Modular RAG  (5) 2024.10.04
AI Bitcoin Trading System  (2) 2024.10.03
RAG Implementation Guide  (2) 2024.10.03
RAG Overview  (1) 2024.10.03
AI 에이전트 구현: 단계별 가이드  (1) 2024.10.03