OpenAI GPT-4o를 활용한 비트코인(BTC) 자동매매 봇입니다. 업비트(Upbit) API를 통해 시장 데이터를 수집하고, 기술적 지표와 뉴스, 공포/탐욕 지수, 그리고 차트 이미지까지 종합적으로 분석하여 매매 결정을 내립니다.
(위 이미지는 봇이 생성한 거래 로그를 시각화한 대시보드 예시입니다.)
이 프로젝트는 단순한 지표 기반 매매가 아닌, AI 기반의 종합 판단 시스템을 갖추고 있습니다.
- 멀티모달 분석: 수치 데이터뿐만 아니라
Selenium으로 캡처한 실시간 차트 이미지를 AI에게 제공하여 패턴을 분석합니다. - 종합적 의사결정: 기술적 지표, 호가창(Orderbook), 시장 심리(뉴스)를 모두 고려하여
Buy,Sell,Hold를 결정합니다. - 투자 비중 조절: 확신도에 따라 포트폴리오 비중을 동적으로 조절합니다.
- 보조지표 활용: RSI, 볼린저 밴드(Bollinger Bands), WMA, ADX 등 다양한 지표를 자동 계산하여 추세와 변동성을 파악합니다.
- 뉴스 크롤링:
SerpApi를 통해 최신 비트코인 관련 뉴스 헤드라인을 수집하고 시장에 미칠 영향을 분석합니다. - 공포 & 탐욕 지수: Fear and Greed Index를 실시간으로 반영합니다.
- 매매 회고: 과거의 매매 기록과 결과를 AI가 분석하여, "무엇이 잘되었고 무엇이 잘못되었는지" 스스로 반성하고 다음 매매 전략을 수정합니다.
- DB 로깅: 모든 거래 내역과 AI의 판단 근거(Reason)는
SQLite데이터베이스에 저장됩니다.
- Stop Loss / Take Profit: 시장 변동성에 따라 손절가와 익절가를 동적으로 설정하여 자산을 보호합니다.
- Language: Python 3.x
- Exchange API:
pyupbit(Upbit) - AI Engine:
OpenAI API(GPT-4o) - Data Analysis:
pandas,ta(Technical Analysis Library) - Web Scraping:
Selenium(Chart Capture),SerpApi(News) - Database:
SQLite3 - Scheduler:
schedule
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git)
cd your-repo-namepip install -r requirements.txt (만약 requirements.txt가 없다면 아래 패키지들을 설치하세요)
pip install python-dotenv pyupbit pandas openai ta selenium webdriver-manager schedule requests pillow pydantic youtube-transcript-api
프로젝트 루트 경로에 .env 파일을 생성하고 아래 키를 입력하세요.
코드 스니펫
UPBIT_ACCESS_KEY=your_upbit_access_key UPBIT_SECRET_KEY=your_upbit_secret_key OPENAI_API_KEY=your_openai_api_key SERPAPI_API_KEY=your_serpapi_api_key ENVIRONMENT=local # or ec2
python main.py
. ├── main.py # 메인 실행 파일 (트레이딩 로직 포함) ├── bitcoin_trades.db # 거래 기록 저장소 (SQLite) ├── .env # 환경 변수 설정 ├── requirements.txt # 의존성 패키지 목록 └── README.md # 프로젝트 문서