파이썬 주식 자동매매: 직장인이 1초 만에 과매도 종목 찾는 법 (1편)

📌 이 글의 목표

  • 대상: 파이썬 주식 자동매매에 관심 있는 직장인 & 개발자
  • 기술 스택: Python 3.13, Alpha Vantage API, Pandas
  • 결과물: 클릭 한 번으로 RSI 과매도 종목을 찾아내는 봇 제작

안녕하세요, 파이썬 주식 자동매매 봇을 개발하고 있는 Trading-Brain 블로거입니다.
오늘은 제가 직접 만든 ‘Trading-Brain’ 프로젝트의 개발 과정을 공유하려 합니다.

😫 파이썬 주식 자동매매, 왜 필요한가?

직장인이 주식 투자를 하다 보면 매일 밤 퇴근 후 차트를 하나하나 확인하는 게 얼마나 귀찮은지 아시죠?
RSI 확인하고, MACD 골든크로스 체크하고, 볼린저 밴드 위치 보고… 관심 종목 20개만 돌려봐도 30분이 훌쩍 지나갑니다.

“이걸 자동화할 수 없을까?”

라는 개발자 특유의 귀차니즘에서 시작된 프로젝트가 바로 Trading-Brain입니다. 파이썬으로 코드를 짜서, 버튼 하나로 모든 종목의 기술적 분석을 완료하고, 심지어 블로그 포스팅까지 자동화하는 시스템을 만들었습니다.

🛠️ 기술 스택 (Tech Stack)

이 프로젝트에 사용한 핵심 도구들입니다. 가성비와 효율성을 최우선으로 선택했습니다.

  • Alpha Vantage API: 무료 티어도 있는 훌륭한 주식 데이터 API입니다. 실시간 가격부터 RSI, MACD 같은 기술적 지표까지 한 번에 제공해 줍니다.
  • Pandas: 데이터 분석의 엑셀(Excel)이죠. 주가 데이터를 DataFrame으로 가공하고 필터링하는 데 씁니다.
  • Plotly: 파이썬으로 인터랙티브하고 예쁜 차트를 그릴 수 있는 시각화 라이브러리입니다.

💻 핵심 코드 공개 (Source Code)

백문이 불여일견, 실제 코드를 보시죠. 아래는 데이터 수집과 전처리를 담당하는 핵심 로직입니다.

de>from alpha_vantage.timeseries import TimeSeries
import pandas as pd

# 1. API 연결 설정 (보안을 위해 환경변수 사용 권장)
API_KEY = 'YOUR_API_KEY' 
ts = TimeSeries(key=API_KEY, output_format='pandas')

# 2. 데이터 수집 함수
def get_stock_data(ticker):
    # outputsize='full'로 전체 데이터를 가져옵니다 (누락 방지)
    data, meta_data = ts.get_daily(symbol=ticker, outputsize='full')
    
    # [중요] 날짜 인덱스 정렬 (과거 -> 현재 순)
    data.index = pd.to_datetime(data.index)
    data = data.sort_index()
    
    # 속도를 위해 최근 1년치 데이터만 슬라이싱
    data = data.iloc[-365:]
    
    return data

가장 중요한 포인트는 de>outputsize=’full'</code>과 de>sort_index()</code>입니다. API가 가끔 데이터를 뒤죽박죽 보내거나 최신 데이터를 누락할 때가 있는데, 이 두 줄로 데이터의 정합성을 확보했습니다.

다음은 RSI(상대강도지수)를 계산하는 함수입니다. 라이브러리를 써도 되지만, 원리를 이해하기 위해 직접 구현했습니다.

<pre class="wp-block-code">de>def calculate_rsi(data, window=14):
    delta = data.diff()  # 전일 대비 가격 변화량
    
    # 상승분과 하락분 분리
    gain = (delta.where(delta > 0, 0)).rolling(window=window).mean()
    loss = (-delta.where(delta &lt; 0, 0)).rolling(window=window).mean()
    
    rs = gain / loss
    rsi = 100 - (100 / (1 + rs))  # RSI 공식 적용
    
    return rsi</code></pre>

🚀 결과물: 파이썬 주식 자동매매 봇 실행 예시

이 스크립트를 실행하면 단 1초 만에 아래와 같은 분석 차트가 생성됩니다. 예를 들어, 오늘 제 봇이 찾아낸 AVAV의 RSI 과매도 차트입니다.

파이썬 주식 자동매매 봇 실행 결과 (AVAV 차트)
그림 1. 파이썬 봇이 자동으로 생성한 AVAV 과매도 분석 차트

동시에 JSON 형태의 분석 리포트도 쏟아져 나옵니다.

de>{
  "ticker": "AMD",
  "current_price": 217.53,
  "indicators": {
    "rsi": 43.59,
    "macd_hist": -1.35,
    "volume_ratio": 0.7
  },
  "signal": "HOLD",
  "comment": "시장 상황 관망 중."
}

이제 저는 퇴근하고 컴퓨터 앞에 앉아 코드를 실행하기만 하면 됩니다. 나머지는 파이썬이 알아서 “사장님, 오늘 살만한 종목은 이거예요”라고 보고해주니까요.


🔜 다음 편 예고

오늘은 데이터 수집과 계산 로직을 다뤘습니다.
다음 편에서는 “분석된 결과를 텔레그램(Telegram) 봇으로 실시간 알림 받는 법”을 다뤄보겠습니다. 스마트폰으로 매수 신호를 받아보고 싶다면 다음 글을 기대해 주세요!

⚠️ Note
본 포스팅의 코드는 학습 목적으로 작성되었습니다. 실제 투자 시스템 구축 시에는 예외 처리와 보안에 더욱 유의해야 합니다.

댓글 남기기