-
📈 파이썬으로 주식 데이터 자동 분석 & 리포트 만드는 법(ft. pandas + matplotlib)기술개발 2025. 6. 14. 12:32
주식 투자할 때 한 번쯤 이런 생각 해보셨을 거예요.
“이 종목 이번 주 얼마나 올랐지?”
“최근 3개월 수익률은?”
“차트를 쉽게 정리해서 보고 싶은데...”매번 증권 앱이나 엑셀을 열기 귀찮아서,
Python으로 자동화된 주식 리포트를 만들 수 없을까? 싶었습니다.실제로 만들어봤고, 이번 글에선 그 과정을 코드와 예시 이미지로 소개해 드릴게요.
✅ 사용 도구 및 라이브러리
필요한 Python 라이브러리는 아래와 같습니다.
pip install yfinance pandas matplotlib
yfinance
: 야후 파이낸스에서 주가 데이터를 가져옴pandas
: 데이터 처리 및 수익률 계산matplotlib
: 주가 차트 시각화
📥 1단계: 주식 데이터 불러오기
import yfinance as yf symbol = 'AAPL' df = yf.download(symbol, start="2024-01-01", end="2024-06-01") print(df.head())
예시 출력:
Price Close High Low Open Volume Ticker AAPL AAPL AAPL AAPL AAPL Date 2024-01-02 184.290421 187.070068 182.553143 185.789438 82488700 ...
📊 2단계: 수익률 및 이동평균선 계산
df['Return'] = df['Close'].pct_change() * 100 df['MA_20'] = df['Close'].rolling(window=20).mean()
Return
: 하루 수익률 (%)MA_20
: 20일 이동평균선
📈 3단계: 주가 그래프 시각화
import matplotlib.pyplot as plt plt.rcParams['font.family'] ='Malgun Gothic' plt.rcParams['axes.unicode_minus'] =False plt.figure(figsize=(12, 6)) plt.plot(df.index, df['Close'], label='종가') plt.plot(df.index, df['MA_20'], label='20일 이동평균', linestyle='--') plt.title(f'{symbol} 주가 및 이동평균선') plt.xlabel('날짜') plt.ylabel('가격') plt.legend() plt.grid(True) plt.tight_layout() plt.show()
✅ 이 그래프 하나만으로도 지금이 추세 상단인지 하단인지를 바로 확인할 수 있어요.
🧾 4단계: 자동 리포트화 준비
from datetime import datetime today = datetime.now().strftime('%Y-%m-%d') image_filename = f'{symbol}_report_{today}.png' plt.savefig(image_filename) print(f"{symbol} 리포트 생성일: {today}")
이제 이 스크립트를
크론(cron)
이나작업 스케줄러
에 등록하면
매일 아침 자동으로 리포트 생성도 가능합니다.
✨ 예시 결과
주식 리포트 예시
애플(AAPL) 주식의 2024년 상반기 종가 + 20일 이동평균선
💡 느낀 점 & 다음 글 예고
Python만으로도 꽤 실용적인 주식 리포트 자동화 도구를 만들 수 있었습니다.
앞으로는 미국 주식 외에도 한국 주식, 환율, ETF, 뉴스 크롤링까지 확장해보고 싶어요.
🔜 다음 글 예고
[2편] 주간/월간 수익률 리포트 자동 생성하기
→ 여러 날짜 구간을 기준으로 수익률을 비교하는 자동 리포트를 만들어봅니다.
🙋♂️ 피드백 & 공유
이 글이 도움이 되셨다면 댓글/공감/스크랩 부탁드립니다!
질문도 환영하고, 함께 발전시킬 아이디어도 좋아요 🙌'기술개발' 카테고리의 다른 글
📩 파이썬으로 자동 이메일 리포트 전송하기 (1) 2025.06.16 📊 여러 종목 수익률 비교 리포트 만들기 (0) 2025.06.14 📊 파이썬으로 주간/월간 수익률 리포트 자동 생성하기 (4) 2025.06.14 📘 Python x 금융 자동화 시리즈 소개 (0) 2025.06.14