AlgoLab Blog · 완전 입문 가이드 · 2026 최신

파이썬 자동매매 입문 완전 가이드 — 환경 설치부터 첫 봇까지

완전 입문 2026-06-11 · 약 20분 읽기 · 알고랩 AlgoLab
한 줄 정리 이 글은 코딩 경험이 전혀 없는 분도 파이썬 자동매매를 0에서 시작할 수 있게 만든 입문 hub입니다. Python 설치 → 가상환경 → 기본 문법 → 필수 라이브러리 → API로 시세 받기 → 첫 봇 실행 → 학습 로드맵까지 순서대로 다룹니다. 자동매매에 필요한 파이썬은 전체 문법의 일부뿐이라, 매일 1~2시간씩 1~2개월이면 첫 봇을 만들 수 있습니다.

"자동매매를 직접 만들고 싶은데 파이썬을 한 번도 안 써봤다" — 이 글은 정확히 그분들을 위한 글입니다. 자동매매에 필요한 파이썬은 거대한 언어의 일부일 뿐입니다. 웹 개발이나 AI에 쓰는 복잡한 기능은 거의 필요 없고, 변수·함수·조건문·반복문·딕셔너리·라이브러리 사용 — 이 정도만 알면 봇을 만들 수 있습니다.

이 글은 알고랩이 "코딩 모르는데 직접 배워보고 싶다"는 분들에게 가장 자주 안내하는 학습 순서를 그대로 정리했습니다. 1~4단계(환경·문법·데이터·API)를 이 글에서 다루고, 5단계 이후(전략·실거래)는 거래소별 30분 가이드로 자연스럽게 이어집니다.

이 글의 8부 구성

  1. Part 1 — 왜 파이썬인가 (자동매매에 필요한 만큼만)
  2. Part 2 — Python 설치 + 가상환경 (32bit vs 64bit)
  3. Part 3 — 자동매매에 꼭 필요한 문법 6가지
  4. Part 4 — pandas로 시세 데이터 다루기
  5. Part 5 — 필수 라이브러리 지도
  6. Part 6 — API로 첫 시세 받아오기
  7. Part 7 — 첫 봇 실행 (10줄 골격)
  8. Part 8 — 학습 로드맵 + 다음 단계

Part 1 — 왜 파이썬인가

자동매매 = 파이썬이 사실상 표준. 그 이유와 "필요한 만큼만" 배우는 법.

자동매매에 파이썬이 표준인 이유

자동매매에 필요한 파이썬은 "전체의 20%"

파이썬은 웹·AI·게임 등 거의 모든 분야에 쓰이는 거대한 언어지만, 자동매매에 필요한 것은 다음뿐입니다:

필요한 것안 배워도 되는 것
변수, 자료형클래스 상속·메타클래스
함수데코레이터 (초기엔)
조건문 (if), 반복문 (for/while)제너레이터·이터레이터 심화
리스트·딕셔너리웹 프레임워크 (Django 등)
라이브러리 import·사용비동기 심화 (asyncio 초기엔)
pandas DataFrame 기본머신러닝 (초기엔)

💡 학습 함정 피하기: "파이썬 완전 정복" 같은 두꺼운 책을 1페이지부터 다 보려 하지 마세요. 자동매매에 필요한 위 6가지만 빠르게 익히고, 나머지는 봇을 만들면서 필요할 때 그때그때 찾아 배우는 것이 가장 빠릅니다.

Part 2 — Python 설치 + 가상환경

32bit vs 64bit 선택이 첫 갈림길. 잘못 고르면 처음부터 막힙니다.

32bit vs 64bit — 무엇을 설치할까

사용할 플랫폼설치할 Python
코인 (바이낸스·업비트·빗썸)64bit
한국투자증권 KIS API64bit
키움 OpenAPI+32bit (필수)
LS·대신 (구 OCX)32bit

대부분은 64bit면 됩니다. 키움 OpenAPI+만 32bit COM 컴포넌트라 32bit 파이썬이 필요합니다. 키움 관련 함정은 → 키움 OpenAPI+ 설치·오류 해결 가이드 참고.

설치 (Windows 기준)

  1. python.org에서 Python 3.10~3.12 다운로드
  2. 설치 시 "Add Python to PATH" 체크 필수 (안 하면 명령어 인식 안 됨)
  3. 설치 확인:
python --version
# Python 3.12.x 가 나오면 성공

python -c "import platform; print(platform.architecture())"
# ('64bit', ...) 또는 ('32bit', ...) 확인

가상환경 — 프로젝트마다 독립 공간

가상환경은 프로젝트별로 라이브러리를 격리합니다. 봇마다 다른 라이브러리 버전을 쓸 수 있어 충돌을 막습니다.

# 프로젝트 폴더에서
python -m venv venv

# 활성화
venv\Scripts\activate        # Windows
source venv/bin/activate     # Mac/Linux

# 활성화되면 프롬프트 앞에 (venv) 표시됨

✅ 에디터는 VS Code 추천: 무료 + 파이썬 확장 + 터미널 내장. code.visualstudio.com에서 설치 후 Python 확장만 깔면 입문에 충분합니다.

Part 3 — 자동매매에 꼭 필요한 문법 6가지

이 6가지만 알면 봇 코드를 읽고 수정할 수 있습니다.

1. 변수와 자료형

price = 60000           # 정수 (int)
ratio = 0.5             # 실수 (float)
symbol = "BTCUSDT"      # 문자열 (str)
is_holding = True       # 불린 (bool)

2. 리스트와 딕셔너리

# 리스트 — 순서 있는 묶음
symbols = ["BTCUSDT", "ETHUSDT", "XRPUSDT"]
print(symbols[0])       # BTCUSDT

# 딕셔너리 — 키:값 쌍 (API 응답이 대부분 이 형태)
order = {"symbol": "BTCUSDT", "price": 60000, "qty": 0.01}
print(order["price"])   # 60000

3. 조건문 (if)

rsi = 28
if rsi < 30:
    print("과매도 — 매수 신호")
elif rsi > 70:
    print("과매수 — 매도 신호")
else:
    print("관망")

4. 반복문 (for / while)

# for — 정해진 횟수
for symbol in symbols:
    print(f"{symbol} 시세 확인 중")

# while — 조건이 참인 동안 (봇의 메인 루프)
import time
while True:
    check_signal()
    time.sleep(60)   # 60초마다 반복

5. 함수

def calculate_profit(entry, current, qty):
    """수익 계산 함수"""
    return (current - entry) * qty

profit = calculate_profit(60000, 61000, 0.01)
print(f"수익: {profit} USDT")   # 수익: 10.0 USDT

6. 라이브러리 import·사용

import pandas as pd        # 데이터 처리
import requests            # API 호출
from binance.client import Client   # 바이낸스

# 설치는 터미널에서
# pip install pandas requests python-binance

💡 f-string: f"수익: {profit} USDT"처럼 문자열 안에 변수를 넣는 문법. 로그·알림 메시지 만들 때 가장 많이 씁니다. 꼭 익혀두세요.

Part 4 — pandas로 시세 데이터 다루기

자동매매의 80%는 pandas로 시세를 다루는 일. 핵심 5가지만.

DataFrame — 표 형태 데이터

거래소에서 받은 캔들(OHLCV) 데이터는 보통 DataFrame(엑셀 표 같은 구조)으로 다룹니다.

import pandas as pd

# 예시 캔들 데이터
df = pd.DataFrame({
    "close": [60000, 60500, 61000, 60800, 61200],
    "volume": [100, 120, 90, 110, 130]
})
print(df.tail(3))   # 마지막 3개 행

이동평균 — 한 줄로

# 3봉 이동평균
df["ma3"] = df["close"].rolling(3).mean()
print(df)
#    close  volume       ma3
# 0  60000     100       NaN
# 1  60500     120       NaN
# 2  61000      90  60500.0
# 3  60800     110  60766.7
# 4  61200     130  61000.0

핵심 pandas 동작 5가지

동작코드용도
이동평균df["close"].rolling(20).mean()이동평균 전략
변화율df["close"].pct_change()수익률 계산
최근 값df.iloc[-1]현재 봉
지수이동평균df["close"].ewm(span=9).mean()EMA 전략
표준편차df["close"].rolling(20).std()볼린저 밴드

이 5가지로 거의 모든 기술적 지표를 만들 수 있습니다. 30개 전략의 지표 계산도 모두 이 패턴입니다: → 자동매매 전략 30가지 완전 정리

Part 5 — 필수 라이브러리 지도

무엇을 언제 설치하는지 한눈에.

라이브러리용도설치
pandas데이터·지표 처리 (필수)pip install pandas
requestsAPI 직접 호출pip install requests
python-dotenvAPI 키 안전 관리pip install python-dotenv
python-binance바이낸스pip install python-binance
pyupbit업비트pip install pyupbit
python-bithumb빗썸pip install python-bithumb
ccxt100+ 거래소 통합pip install ccxt
pykrx한국 주식 데이터pip install pykrx
backtrader / vectorbt백테스트pip install backtrader

⚠️ API 키는 절대 코드에 직접 쓰지 마세요. .env 파일에 저장하고 python-dotenv로 불러옵니다. 코드에 키를 적으면 깃허브에 올릴 때 유출되어 자산이 위험합니다. 보안은 → 바이낸스 API 발급 완벽 가이드 참고.

Part 6 — API로 첫 시세 받아오기

첫 성취 경험. 코드 5줄로 비트코인 현재가 출력하기.

업비트 — 가장 간단

# pip install pyupbit
import pyupbit

price = pyupbit.get_current_price("KRW-BTC")
print(f"비트코인 현재가: {price:,}원")
# 비트코인 현재가: 85,230,000원

바이낸스 — 키 없이 시세만

# pip install python-binance
from binance.client import Client

client = Client()   # 시세 조회는 키 없이도 가능
ticker = client.get_symbol_ticker(symbol="BTCUSDT")
print(f"BTC: {ticker['price']} USDT")

한국 주식 — pykrx

# pip install pykrx
from pykrx import stock

df = stock.get_market_ohlcv("20260101", "20260611", "005930")
print(df.tail())   # 삼성전자 일봉

✅ 여기까지 됐다면 절반은 온 겁니다: 시세를 받아오는 것이 자동매매의 시작입니다. 이제 이 시세에 지표를 계산하고(Part 4), 조건을 걸면(Part 3) 매매 신호가 됩니다.

Part 7 — 첫 봇 실행 (10줄 골격)

시세 받기 + 신호 판단 + 반복. 봇의 본질은 이게 전부입니다.

import pyupbit
import time

def get_signal():
    """5일 이동평균 위면 매수 신호"""
    df = pyupbit.get_ohlcv("KRW-BTC", interval="day", count=10)
    ma5 = df["close"].rolling(5).mean().iloc[-1]
    current = pyupbit.get_current_price("KRW-BTC")
    return "BUY" if current > ma5 else "WAIT"

# 봇 메인 루프
while True:
    signal = get_signal()
    print(f"{time.strftime('%H:%M:%S')} 신호: {signal}")
    time.sleep(60)   # 1분마다 확인

이 10줄이 "자동매매 봇"의 뼈대 전부입니다. (1) 시세를 받아 (2) 지표를 계산하고 (3) 조건으로 신호를 만들고 (4) 반복합니다. 여기에 실제 매수·매도 주문과 안전장치를 더하면 완성된 봇이 됩니다.

💡 다음은 실거래: 위 코드는 신호만 출력합니다. 실제 매수·매도 주문, 손절·익절, 페이퍼 트레이딩까지 포함한 완성형 봇은 거래소별 30분 가이드에 풀코드로 있습니다. 본인이 쓸 거래소 가이드로 바로 이어가세요.

Part 8 — 학습 로드맵 + 다음 단계

0에서 운영 가능한 봇까지, 현실적인 1~2개월 로드맵.

1주차
환경 + 문법Python 설치, 가상환경, 이 글의 문법 6가지. 시세 받아오기 성공시키기.
2주차
pandas + 지표이동평균·RSI 계산. 신호 출력하는 봇(주문 없이) 만들기.
3~4주차
거래소 30분 가이드 따라하기본인 거래소 풀코드 봇 복붙·실행. 페이퍼 트레이딩 모드로 작동 확인.
5~6주차
백테스트 + 리스크 관리전략을 과거 데이터로 검증, 손절·포지션 사이징 추가.
7~8주차
실거래 + 운영최소 금액 실거래, VPS 무중단 운영, 텔레그램 알림.

거래소별 다음 가이드 (Part 5 이후)

그 다음 깊이 있는 학습

자주 묻는 질문

Q. 코딩을 전혀 몰라도 가능한가요?

가능합니다. 자동매매에 필요한 파이썬은 전체의 일부(변수·함수·조건·반복·딕셔너리·라이브러리)뿐. 매일 1~2시간 1~2개월이면 첫 봇 수준.

Q. 무엇부터 시작하나요?

Python 설치 → 가상환경 → 문법 6가지 → pandas → API 시세 받기 → 신호 만들기 → 페이퍼 → 실거래 순서.

Q. 32bit vs 64bit?

대부분 64bit. 키움 OpenAPI+만 32bit 필수.

Q. 어떤 라이브러리가 필요한가요?

기본 pandas·requests·python-dotenv. 거래소별 python-binance/pyupbit/python-bithumb/ccxt. 백테스트 backtrader/vectorbt. 한국주식 pykrx.

Q. 학습 기간은?

복붙 작동 1주, 이해·수정 1~2개월, 본인 전략 설계 3~6개월. 코딩보다 전략·리스크 학습에 시간 더 듦.

Q. 직접 vs 외주?

학습 목적·시간 여유 → 직접. 본업 바쁘고 전략 명확 → 외주. 알고랩은 명세서 기반으로 코딩 없이도 제작 가능.

마무리

파이썬 자동매매는 "거대한 언어를 다 배우는 것"이 아니라 "필요한 20%를 빠르게 익히고 봇을 만들며 배우는 것"입니다. 이 글의 문법 6가지 + pandas 5가지 + 첫 봇 10줄이면 시작에 충분합니다. 나머지는 봇을 만들면서 필요할 때 배우면 됩니다.

다만 한 가지 — "코딩"과 "수익 나는 전략"은 별개입니다. 봇을 만드는 것은 1~2개월이면 되지만, 시장에서 통하는 전략을 찾는 것은 그보다 훨씬 오래 걸립니다. 그래서 백테스트·리스크 관리·심리까지 함께 배우는 것이 진짜 자동매매 입문입니다.

배울 시간이 없다면

파이썬 학습 2~6개월이 부담스럽고 전략은 이미 명확하다면, 알고랩이 명세서 기반으로 본인 전략을 봇으로 만들어드립니다. 코딩 지식 없이 시작 가능, 코드 전체 전달 + 30일 무료 AS.
24시간 빠른 답변 가능합니다.

무료 상담 시작하기