이제 GPT가 판단할 수 있는 데이터를 만들어야 합니다.
이번 글에서는 업비트 API를 활용해 비트코인 시세(OHLCV) 데이터를 가져오는 방법을 배워봅니다.
이 데이터는 이후 GPT가 “BUY / SELL / HOLD” 결정을 내릴 때 가장 핵심적인 입력값으로 활용됩니다.

🔹 1. pyupbit이란?
pyupbit은 업비트 거래소의 API를 쉽게 사용할 수 있도록 만든 파이썬 라이브러리입니다.
복잡한 요청 코드를 직접 짜지 않아도, 몇 줄로 시세를 불러오거나 주문을 넣을 수 있습니다.
이미 1편에서 requirements.txt를 통해 설치한 상태지만,
혹시 설치가 안 되어 있다면 아래 명령어로 설치해주세요.
pip install pyupbit
🔹 2. 기본 구조 이해하기
업비트 API에서 시세 데이터를 요청할 때는 OHLCV 형태로 받게 됩니다.
- O (Open) : 시가
- H (High) : 고가
- L (Low) : 저가
- C (Close) : 종가
- V (Volume) : 거래량
이 데이터를 기반으로 이동평균, RSI 등 다양한 기술적 지표를 계산할 수 있습니다.
🔹 3. 비트코인 시세 불러오기
- 새 파일 생성
VSCode에서 get_price.py 파일을 만듭니다. - 코드 작성
import pyupbit
# 비트코인 5일치 시세 데이터 가져오기
df = pyupbit.get_ohlcv("KRW-BTC", count=5)
print(df)
- 실행
python get_price.py
- 결과 예시
open high low close volume
2025-10-01 90100000 91200000 89500000 90500000 245.1936
2025-10-02 90500000 91800000 90000000 91500000 210.5412
...
👉 이처럼 DataFrame 형태로 일봉 시세가 깔끔하게 정리되어 출력됩니다.
🔹 4. 최근 30일 일봉 데이터 가져오기
GPT에게 전달하기에는 더 많은 데이터가 필요합니다.
30일 간의 데이터를 불러오도록 수정해봅시다.
import pyupbit
# 최근 30일 일봉 데이터 가져오기
df = pyupbit.get_ohlcv("KRW-BTC", interval="day", count=30)
print("데이터 개수:", len(df))
print(df.tail())
- interval="day" : 일봉 기준
- count=30 : 최근 30개의 데이터만 불러옴
- df.tail() : 마지막 5일만 출력 (확인용)
🔹 5. 데이터 컬럼 확인
불러온 데이터에는 아래와 같은 컬럼이 자동 포함됩니다.
- open : 시가
- high : 고가
- low : 저가
- close : 종가
- volume : 거래량
- value : 거래 금액(quote volume)
이 중 GPT에게 보낼 때는 주로 close(종가)를 기준으로 분석합니다.
🔹 6. 데이터 JSON 형태로 변환하기
GPT는 Pandas DataFrame을 직접 이해하지 못하기 때문에,
데이터를 JSON 형식으로 변환해줘야 합니다.
import pyupbit
import json
# 비트코인 최근 30일 시세 데이터
df = pyupbit.get_ohlcv("KRW-BTC", count=30, interval="day")
# JSON 변환
data_json = df.to_json()
print(data_json)
출력 예시:
{"open":{"2025-09-01":90200000.0,...},"high":{...},"close":{...},...}
👉 이 데이터를 그대로 GPT API에 입력하면,
AI가 차트를 분석하고 투자 판단을 내릴 수 있습니다.
🔹 7. 필요에 따라 파일로 저장하기
데이터를 파일로 저장해두면, 이후 GPT 입력 테스트나 백테스트 시 유용합니다.
df.to_csv("btc_price_30days.csv", encoding="utf-8-sig")
print("CSV 파일 저장 완료!")
🔹 8. 데이터 활용 포인트
- GPT 입력 데이터는 너무 많으면 토큰 비용이 증가합니다.
(보통 30일~50일 정도면 충분) - 분석 전 데이터 전처리(이동평균, 수익률 등)를 추가해주면 GPT 판단 정확도가 높아집니다.
- 실전 자동매매에서는 이 데이터 수집 과정을 주기적으로 자동화합니다.
🔹 9. 다음 단계 예고
이제 시세 데이터를 성공적으로 가져왔습니다.
다음 단계에서는 이 데이터를 GPT에게 전달해
“BUY / SELL / HOLD” 판단을 받는 과정을 만들어보겠습니다.
👉 다음 글 예고
- 4편 — GPT에게 차트 데이터를 보내고 판단 받기
- 5편 — GPT 판단 결과로 자동매매 실행하기
업비트 비트코인 GPT 자동매매 1편 : 개발환경 세팅 및 프로젝트 구성
안녕하세요 👋 이번 글은 GPT 자동매매 시리즈의 첫 번째 단계,“프로젝트 환경 구성과 기본 세팅”을 다룹니다.파이썬 설치, VSCode 설치, 가상환경(venv) 구성 등은 이미 다른 포스팅에서 다뤘기
codelenz.tistory.com
업비트 비트코인 GPT 자동매매 2편 : API 키 연동 및 환경 변수 관리
안녕하세요 👋 이번 글에서는 업비트와 OpenAI API 키를 코드에 연결하는 방법을 살펴보겠습니다.앞선 포스팅에서 API 키 발급은 이미 완료하셨을 텐데요 👇[업비트 API 키 발급 가이드↗][OpenAI API
codelenz.tistory.com
'Python' 카테고리의 다른 글
| 업비트 비트코인 GPT 자동매매 5편 : 자동매매 실행하기 (0) | 2025.10.08 |
|---|---|
| 업비트 비트코인 GPT 자동매매 4편 : GPT로 의사결정하기 (0) | 2025.10.08 |
| 업비트 비트코인 GPT 자동매매 2편 : API 키 연동 및 환경 변수 관리 (0) | 2025.10.06 |
| 업비트 비트코인 GPT 자동매매 1편 : 개발환경 세팅 및 프로젝트 구성 (0) | 2025.10.06 |
| 업비트 비트코인 GPT 자동매매 0편 : 프롤로그 (1) | 2025.10.06 |