본문 바로가기
Python

GPT 기반 바이낸스 비트코인 자동매매 프로그램

by 코드렌즈 2025. 10. 5.
반응형

오늘은 인공지능 모델 GPT-o3-mini를 활용해 바이낸스(Binance) 거래소에서 비트코인을 자동으로 매매할 수 있는 프로그램을 소개합니다. 이 프로그램은 AI의 거래 결정 능력 + Binance API를 결합한 형태로, 자동으로 시장 데이터를 분석하고 “매수(Long)”, “매도(Short)”, “유지(Hold)” 중 하나의 결정을 내려 실제 거래까지 수행합니다.

프로그램 다운 받기

소스코드는 GitHub에서 무료로 내려받을 수 있으며, 사용자가 자신의 매매 전략(strategy.txt) 파일을 추가해 맞춤형 자동매매 시스템으로 발전시킬 수 있습니다.

 

GitHub - encytree/GPT_binance_o3_mini: GPT-o3-mini 모델로 4시간마다 거래 결정을 받아오고 이를 바탕으로 롱

GPT-o3-mini 모델로 4시간마다 거래 결정을 받아오고 이를 바탕으로 롱,숏 포지션을 잡는 자동매매 프로그램입니다. - encytree/GPT_binance_o3_mini

github.com

 

바이낸스 ID가 없는 경우 아래 링크를 통해서 가입가능합니다.(링크 통해 가입 시 수수료 혜택)

 

Bitcoin Exchange | Cryptocurrency Exchange | Binance

Binance cryptocurrency exchange - We operate the worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume

accounts.binance.info

 

💡 프로그램 개요

이 프로그램은 다음의 주요 기능을 제공합니다.

  • 시장 데이터 수집 및 지표 계산
    Binance API로 1시간, 4시간, 1일 단위 데이터를 수집하고,
    ta 라이브러리로 Bollinger Bands, RSI, MACD 등 다양한 기술적 지표를 계산합니다.
  • AI 거래 의사결정 생성
    OpenAI의 챗 API를 사용해 최근 거래 내역과 시장 데이터를 분석하고,
    거래 결정을 “LONG / SHORT / HOLD” 형태로 생성합니다.
  • 자동 주문 실행 및 기록 저장
    기존 포지션을 청산하고, 새로운 포지션을 진입한 뒤
    결과를 SQLite 데이터베이스에 기록합니다.
  • 스케줄링 및 자동 실행
    schedule 라이브러리를 사용하여 지정된 시간마다 자동으로 거래가 수행됩니다.
  • 디스코드 실시간 로그 알림 (선택 기능)
    설정된 Discord Webhook을 통해 거래 로그를 실시간으로 받을 수 있습니다.

🧩 GitHub 소스코드 구성

소스코드는 GitHub에서 다운로드할 수 있으며, 각 파일의 역할은 아래와 같습니다.

  • README.md — 프로젝트 설명서
  • requirements.txt — 필요한 Python 라이브러리 목록
  • strategy.txt — 거래 전략 파일 (예: 워뇨띠 전략 포함, 커스텀 가능)
  • trading.py — 메인 실행 파일
  • .env (사용자 생성) — Binance/OpenAI API 키 저장용 비밀 파일

👉 .env 파일은 보안상 깃허브에 포함되어 있지 않으며, 직접 생성해야 합니다.

⚙️ 필수 요구사항 및 설치 방법

Python 버전: 3.7 이상

 

필수라이브러리:

pandas
requests
schedule
ta
python-dotenv
pydantic
openai
python-binance

설치방법:

pip install pandas requests schedule ta python-dotenv pydantic openai python-binance

또는

pip install -r requirements.txt

🔑 환경 변수 설정 (.env 파일)

프로젝트 루트에 .env 파일을 만들고 아래 내용을 입력하세요:

BINANCE_API_KEY=your_binance_api_key
BINANCE_SECRET_KEY=your_binance_secret_key
OPENAI_API_KEY=your_openai_api_key
DISCORD_WEBHOOK_URL=your_discord_webhook_url  # 선택사항

🧠 주요 구성 요소 설명

1. 데이터 수집 및 기술 지표 계산

  • add_indicators() 함수가 RSI, MACD, Bollinger Band, 이동평균, ATR 등을 자동 계산
  • pandas와 ta 라이브러리를 사용해 시계열 데이터를 처리

2. AI 거래 판단

  • AIService 클래스가 OpenAI API를 통해 거래 결정을 생성
  • “거래 사유”까지 함께 반환되므로 백테스트나 로깅에 유용

3. Binance 거래 모듈

  • BinanceService 클래스에서 계좌 잔고, 포지션, 시장 데이터 조회
  • 실제 주문 실행 기능 포함

4. 데이터베이스 및 로깅

  • DatabaseService가 SQLite 데이터베이스 관리
  • 거래 로그를 파일과 콘솔, Discord로 동시에 전송

🕒 실행 방법

1️⃣ 즉시 실행 (테스트 모드)

python trading.py --test

2️⃣ 스케줄 자동 실행

python trading.py

→ 코드 내 설정된 시간(SCHEDULE_TIMES)에 따라 자동으로 거래 수행

🪟 Windows 기준 명령어입니다.
macOS 사용자는 python3 trading.py로 실행하세요.

🚀 확장 포인트 및 주의사항

  1. API 호출 제한 관리 : Binance/OpenAI API의 호출 횟수 제한에 대비한 재시도 로직 필요
  2. 거래 전략 업데이트 : strategy.txt는 AI의 판단에 직접 영향을 주므로 주기적으로 개선해야 합니다.
  3. 보안 강화 : API 키는 .env 파일로만 관리하고, 깃허브에 절대 업로드하지 마세요.
  4. 동시성 처리 : 멀티스레드 또는 병렬 거래 환경에서는 추가적인 동기화 로직이 필요합니다.

🧩 결론

이 프로그램은 AI와 자동매매 기술의 융합을 보여주는 좋은 예시입니다.
단순히 시그널을 따르는 수준을 넘어, GPT 모델이 직접 거래 판단을 내리는 구조이기 때문에
개발자나 트레이더 모두 자신만의 전략을 추가하며 확장할 수 있습니다.

반응형