성과관리 · 학생 작품 · 나스닥100 이상치(Anomaly) 탐지

학생 작품

2026년 여름 AI부트캠프 실무 PBL (중급 과정)2026

나스닥100 이상치(Anomaly) 탐지

SCREENSHOTS

나스닥100 이상치(Anomaly) 탐지 스크린샷 1

작품 소개

주식 시장에서는 가격이 급격하게 움직인 이후 관련 뉴스가 공개되는 경우가 많으며, 국내 뉴스나 공시 정보는 실제 시장 움직임보다 늦게 전달되는 경우가 있습니다. 이로 인해 투자자는 중요한 가격 변화를 실시간으로 인지하지 못하고 대응 타이밍을 놓치는 문제가 발생합니다. 또한 단기 트레이딩이나 스윙에서는 기업의 미래가치에 투자하는 것 보다는 현재의 추세가 중요하기에 이슈에 민감한 경우가 크고 수많은 종목의 이슈를 전부 체크하기에는 힘듭니다.

본 프로젝트는 이러한 문제를 해결하기 위해 캔들 데이터와 거래량 데이터를 기반으로 이상치(Anomaly)를 탐지하고, 시장에서 발생한 비정상적인 움직임을 빠르게 파악할 수 있도록 돕는 것을 목표로 개발되었습니다.

한국투자증권(KIS) OpenAPI로 나스닥100 종목의 30분봉 데이터를 수집하고, Isolation Forest로 이상 패턴을 탐지해 웹에서 확인하는 프로젝트.

  • 데이터 수집: collector.py (KIS OpenAPI)

  • 모델 학습: train_isolation_forest.py (scikit-learn IsolationForest)

  • 백엔드: api.py (FastAPI)

  • 프론트엔드: app.py (Streamlit, 관심종목 위시리스트 + Plotly 캔들차트)

KIS OpenAPI를 통해 나스닥100 종목의 30분봉 데이터를 약 28일치 수집하는 파이프라인을 구축했습니다. 로그수익률, 변동폭, 거래량 z-score 등 7가지 특징을 설계해 전 종목 통합 Isolation Forest 모델 학습을 완료했습니다. FastAPI 백엔드와 Streamlit 프론트엔드를 연동해 관심종목 등록부터 이상치 예측·시각화까지 제공하는 서비스를 구현했습니다. 이를 Docker로 컨테이너화해 Render에 배포함으로써 데이터 수집부터 서비스 배포까지 전체 파이프라인을 완성했습니다.