ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 📈 파이썬으로 주식 데이터 자동 분석 & 리포트 만드는 법(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편] 주간/월간 수익률 리포트 자동 생성하기
    → 여러 날짜 구간을 기준으로 수익률을 비교하는 자동 리포트를 만들어봅니다.


    🙋‍♂️ 피드백 & 공유

    이 글이 도움이 되셨다면 댓글/공감/스크랩 부탁드립니다!
    질문도 환영하고, 함께 발전시킬 아이디어도 좋아요 🙌

Designed by Tistory.