-
📊 파이썬으로 주간/월간 수익률 리포트 자동 생성하기기술개발 2025. 6. 14. 17:07
지난 1편에서는 Python을 이용해
개별 종목의 주가와 이동평균선을 시각화하고,
자동 리포트로 저장하는 방법을 소개했습니다.
→ [1편 보러가기]이번 글에서는 그 연장선으로,
주간 및 월간 기준의 수익률을 자동으로 계산해 리포트로 저장하는 방법을 다룹니다.📈 "이번 달에 이 종목 얼마나 올랐지?"
📉 "최근 몇 주 동안은 수익률이 어땠을까?"
이런 질문에 대해 자동으로 답할 수 있는 리포트 도구를 만들어봅니다.
✅ 이번 글의 목표
- 주가 데이터를 주간(W) / 월간(M) 단위로 리샘플링
- 각 기간의 수익률을 자동 계산
- 표 형식으로 저장 (CSV 또는 HTML)
- 추후 리포트/대시보드에서 활용 가능하도록 정리
📥 1단계: 주가 데이터 가져오기
먼저, 분석할 주식 데이터를 yfinance 라이브러리로 가져옵니다.
import yfinance as yf symbol = 'AAPL' # 분석할 종목 코드 (애플) df = yf.download(symbol, start="2023-01-01", end="2024-01-01")
위 코드를 실행하면 1년치 애플(AAPL) 주가 데이터를 가져올 수 있습니다.
🧮 2단계: 주간 / 월간 수익률 계산
Pandas의 resample() 기능을 활용하면,
일별 데이터를 주간(W-FRI) 또는 월간(M) 단위로 집계할 수 있습니다.# 주간 수익률 계산 (금요일 기준 종가 사용) weekly = df['Close'].resample('W-FRI').last().pct_change() * 100 weekly = weekly.dropna().round(2) # 월간 수익률 계산 monthly = df['Close'].resample('M').last().pct_change() * 100 monthly = monthly.dropna().round(2)
- resample('W-FRI'): 매주 금요일의 종가로 리샘플링
- pct_change(): 전 기간 대비 백분율 변화율
- round(2): 소수점 2자리로 반올림
✅ 예시 출력 (주간 수익률)
2023-01-13 1.72 2023-01-20 -0.98 2023-01-27 3.12 ...
💾 3단계: 리포트 파일로 저장
계산된 수익률은 엑셀이나 웹에서 활용할 수 있도록
CSV 또는 HTML 파일로 저장할 수 있습니다.# CSV 저장 weekly.to_csv('weekly_return.csv', header=['Weekly Return (%)']) monthly.to_csv('monthly_return.csv', header=['Monthly Return (%)']) # HTML 테이블 저장 (옵션) weekly.to_frame().to_html('weekly_return.html')
- .to_csv()는 엑셀에서 바로 열 수 있고,
- .to_html()은 대시보드나 웹서비스로 확장할 때 유용합니다.
파일 이름에 날짜나 종목명을 자동으로 넣는 것도 추천!
예: AAPL_weekly_return_2024-06.csv
✨ 보너스: 전체 흐름 자동화 예시
하나로 묶으면 다음과 같이 전체 리포트 생성 스크립트를 구성할 수 있습니다:
import yfinance as yf from datetime import datetime symbol = 'AAPL' today = datetime.now().strftime('%Y-%m-%d') df = yf.download(symbol, start="2023-01-01", end=today) weekly = df['Close'].resample('W-FRI').last().pct_change() * 100 monthly = df['Close'].resample('M').last().pct_change() * 100 weekly.dropna().round(2).to_csv(f'{symbol}_weekly_return_{today}.csv') monthly.dropna().round(2).to_csv(f'{symbol}_monthly_return_{today}.csv')
이걸 cron이나 task scheduler로 매주 실행하면
자동 리포트 생성 시스템 완성!
📌 마무리
이제 Python을 통해
- 매주 / 매달 자동으로 수익률을 계산하고
- 깔끔한 리포트 파일로 저장까지 할 수 있게 되었습니다.
이 기능은 향후 포트폴리오 성과 비교, 투자 전략 검증 등
다양한 분석에 응용 가능합니다.
🔜 다음 편 예고
- AAPL, TSLA, NVDA 등 여러 종목을 한 번에 비교
- 수익률 테이블 & 그래프 자동 생성
- 포트폴리오 분석으로 확장 가능
🙋♂️ 공유 & 피드백 환영
이 글이 도움이 되셨다면,
공감 / 댓글 / 스크랩으로 응원해주세요 🙌
궁금한 점이나 개선 아이디어도 환영합니다!'기술개발' 카테고리의 다른 글
📩 파이썬으로 자동 이메일 리포트 전송하기 (1) 2025.06.16 📊 여러 종목 수익률 비교 리포트 만들기 (0) 2025.06.14 📈 파이썬으로 주식 데이터 자동 분석 & 리포트 만드는 법(ft. pandas + matplotlib) (3) 2025.06.14 📘 Python x 금융 자동화 시리즈 소개 (0) 2025.06.14