국내 방산 섹터를 더 빠르고 명확하게 읽어내기 위한 AI 기반 투자 대시보드입니다.
실시간에 가까운 방산 종목 시세, 섹터 뉴스 수집, Gemini 기반 투자 매력도 분석, 전략 백테스트, 모의투자 포트폴리오, 자동매매 배치까지 하나의 흐름으로 연결했습니다.
이 프로젝트는 "뉴스를 읽고 판단하는 데서 끝나는 투자 도구"가 아니라,
"데이터 수집 -> AI 해석 -> 전략 선택 -> 모의 실행 -> 성과 추적"까지 이어지는 실전형 투자 경험을 만드는 데 집중했습니다.
방산주는 정책, 지정학, 수주 이슈, 국제 정세에 크게 반응합니다.
문제는 투자자가 그 변화를 한눈에 정리하기 어렵다는 점입니다.
AI Quant Defense Stock Dashboard는 이 문제를 아래 방식으로 해결합니다.
- 방산 관련 종목과 ETF 흐름을 한 화면에서 요약
- 최신 방산 뉴스와 종목 뉴스를 자동 수집
- Gemini가 뉴스 맥락을 바탕으로 투자 매력도 점수와 요약 생성
- 골든크로스, 20일 돌파 같은 규칙 기반 전략을 백테스트로 비교
- 사용자별 모의투자 계좌와 포트폴리오를 통해 실제 투자처럼 검증
- 일일 배치로 뉴스 분석, 가격 업데이트, 자동매매까지 연결
- 방산 섹터 종목만 별도로 선별해 시세와 거래대금을 집중 표시합니다.
- 메인 화면에서 대표 ETF 차트와 섹터 AI 분석을 함께 제공해, 개별 종목과 섹터 분위기를 동시에 읽을 수 있습니다.
- Naver 뉴스 API로 수집한 최신 기사를 바탕으로 Gemini가 종목별/섹터별 요약을 생성합니다.
- 단순 요약이 아니라
score형태의 투자 매력도 점수로 직관적인 판단 기준을 제공합니다.
- 종목 상세 페이지에서 가격 차트, AI 분석, 전략 성과를 함께 확인할 수 있습니다.
5/20 골든크로스,20일 신고가 돌파전략을 백테스트하고, 그 전략으로 바로 모의투자를 실행할 수 있습니다.
- 가격 업데이트, 뉴스 수집, AI 분석, 자동매매를
scripts/daily_update.py로 일괄 실행할 수 있습니다. - Flask 라우트, 서비스 계층, 스크립트가 분리되어 있어 확장과 유지보수가 쉽습니다.
- 방산 대표 ETF 캔들 차트
- 방산 섹터 AI 점수 및 뉴스 요약
- 상승/하락 종목 요약 카드
- 전일 거래 로그 요약
- 종목별 OHLC 차트
- 종목 뉴스 기반 AI 분석
- 전략 선택 UI와 백테스트 결과 API
- 종목별 채팅 박스
- 사용자별 가상 계좌 생성
- 보유 종목, 수익률, 자산 비중 시각화
- 매수/매도 내역 추적
- 보유 전략 변경 및 수동 매도 지원
- 전략 신호 기반 자동 매수/매도
- 일일 가격, ETF, 뉴스, AI 분석 자동 갱신
- 실패 단계 추적이 가능한 배치 로그 출력
- 이메일 인증 회원가입
- 로그인/세션 기반 개인화
- 프로필 및 랭킹 페이지 제공
- 사용자는 메인 대시보드에서 오늘의 방산 섹터 분위기와 대표 ETF 흐름을 확인합니다.
- 관심 종목 상세 페이지에서 뉴스 기반 AI 분석과 전략 백테스트 성과를 비교합니다.
- 선택한 전략으로 모의투자를 실행하고 포트폴리오에 반영합니다.
- 이후 일일 배치를 통해 뉴스 분석과 전략 신호가 갱신되고, 자동매매 결과까지 추적할 수 있습니다.
- Backend: Flask
- Database: MariaDB / MySQL
- Data Processing: Pandas
- AI Analysis: Google Gemini (
gemini-2.5-flash) - External Data: Naver News API, 주가/ETF 수집 스크립트
- Frontend: Jinja2, JavaScript, Chart.js, Bootstrap 기반 UI
aiquant/
├─ app.py
├─ config.py
├─ database.py
├─ algorithm.py
├─ routes/
│ ├─ home.py
│ ├─ stock_detail.py
│ ├─ portfolio.py
│ ├─ news.py
│ └─ app_login.py
├─ services/
│ ├─ stock_service.py
│ ├─ ai_analysis.py
│ ├─ news_service.py
│ └─ autotrade.py
├─ scripts/
│ ├─ daily_update.py
│ ├─ update_stock_price.py
│ └─ update_etf_price.py
├─ templates/
└─ static/
pip install -r requirements.txt루트에 .env 파일을 만들고 아래 값을 설정합니다.
DB_HOST=
DB_PORT=3306
DB_USER=
DB_PASSWORD=
DB_NAME=
SECRET_KEY=
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
MAIL_EMAIL=
MAIL_PASSWORD=
GEMINI_API_KEY=
# GEMINI API 여러개 사용 시 다음 변수도 사용 수 만큼 채워주세요
# GEMINI_API_KEY_1=
# GEMINI_API_KEY_2=
# GEMINI_API_KEY_3=
# GEMINI_API_KEY_4=
# GEMINI_API_KEY_5=
python -m mariadb.create_dbpython -m mariadb.add_dataspython scripts/daily_update.pypython app.py이 프로젝트는 다음 상황에서 특히 강하게 소개할 수 있습니다.
- "AI를 단순 챗봇이 아니라 투자 의사결정 흐름에 녹여낸 서비스"
- "국내 방산 섹터라는 명확한 도메인 집중형 프로젝트"
- "뉴스 요약, 전략 백테스트, 모의투자, 자동매매까지 이어지는 풀스택 구현"
- "데이터 수집과 운영 배치를 포함한 실제 서비스형 아키텍처"
한 줄 소개로는 이렇게 표현할 수 있습니다.
국내 방산 섹터를 위한 AI 투자 분석 및 모의 자동매매 대시보드
- 투자자는 복잡한 방산 뉴스 흐름을 빠르게 이해할 수 있습니다.
- 팀은 AI 분석과 규칙 기반 전략을 한 서비스 안에서 실험할 수 있습니다.
- 데모 관점에서는 "보여줄 기능"이 많고, 포트폴리오 관점에서는 "문제를 해결하는 서사"가 분명합니다.
- 실시간 알림 연동
- 전략 종류 추가
- 종목 토론 감성 분석
- 사용자 맞춤 추천 종목
- 성과 리포트 자동 생성
