Skip to content

RTAI1TEAM/aiquant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

401 Commits
 
 
 
 
 
 

Repository files navigation

AI Quant Defense Stock Dashboard

국내 방산 섹터를 더 빠르고 명확하게 읽어내기 위한 AI 기반 투자 대시보드입니다.
실시간에 가까운 방산 종목 시세, 섹터 뉴스 수집, Gemini 기반 투자 매력도 분석, 전략 백테스트, 모의투자 포트폴리오, 자동매매 배치까지 하나의 흐름으로 연결했습니다.

이 프로젝트는 "뉴스를 읽고 판단하는 데서 끝나는 투자 도구"가 아니라,
"데이터 수집 -> AI 해석 -> 전략 선택 -> 모의 실행 -> 성과 추적"까지 이어지는 실전형 투자 경험을 만드는 데 집중했습니다.

왜 이 프로젝트인가

방산주는 정책, 지정학, 수주 이슈, 국제 정세에 크게 반응합니다.
문제는 투자자가 그 변화를 한눈에 정리하기 어렵다는 점입니다.

AI Quant Defense Stock Dashboard는 이 문제를 아래 방식으로 해결합니다.

  • 방산 관련 종목과 ETF 흐름을 한 화면에서 요약
  • 최신 방산 뉴스와 종목 뉴스를 자동 수집
  • Gemini가 뉴스 맥락을 바탕으로 투자 매력도 점수와 요약 생성
  • 골든크로스, 20일 돌파 같은 규칙 기반 전략을 백테스트로 비교
  • 사용자별 모의투자 계좌와 포트폴리오를 통해 실제 투자처럼 검증
  • 일일 배치로 뉴스 분석, 가격 업데이트, 자동매매까지 연결

핵심 가치

1. 방산 투자에 특화된 정보 구조

  • 방산 섹터 종목만 별도로 선별해 시세와 거래대금을 집중 표시합니다.
  • 메인 화면에서 대표 ETF 차트와 섹터 AI 분석을 함께 제공해, 개별 종목과 섹터 분위기를 동시에 읽을 수 있습니다.

2. AI가 "뉴스 나열"을 "투자 인사이트"로 전환

  • Naver 뉴스 API로 수집한 최신 기사를 바탕으로 Gemini가 종목별/섹터별 요약을 생성합니다.
  • 단순 요약이 아니라 score 형태의 투자 매력도 점수로 직관적인 판단 기준을 제공합니다.

3. 전략 실험에서 실행까지 이어지는 구조

  • 종목 상세 페이지에서 가격 차트, AI 분석, 전략 성과를 함께 확인할 수 있습니다.
  • 5/20 골든크로스, 20일 신고가 돌파 전략을 백테스트하고, 그 전략으로 바로 모의투자를 실행할 수 있습니다.

4. 학습용 데모를 넘는 운영형 설계

  • 가격 업데이트, 뉴스 수집, AI 분석, 자동매매를 scripts/daily_update.py로 일괄 실행할 수 있습니다.
  • Flask 라우트, 서비스 계층, 스크립트가 분리되어 있어 확장과 유지보수가 쉽습니다.

주요 기능

메인 대시보드

  • 방산 대표 ETF 캔들 차트
  • 방산 섹터 AI 점수 및 뉴스 요약
  • 상승/하락 종목 요약 카드
  • 전일 거래 로그 요약

종목 상세 분석

  • 종목별 OHLC 차트
  • 종목 뉴스 기반 AI 분석
  • 전략 선택 UI와 백테스트 결과 API
  • 종목별 채팅 박스

모의투자 포트폴리오

  • 사용자별 가상 계좌 생성
  • 보유 종목, 수익률, 자산 비중 시각화
  • 매수/매도 내역 추적
  • 보유 전략 변경 및 수동 매도 지원

자동매매 배치

  • 전략 신호 기반 자동 매수/매도
  • 일일 가격, ETF, 뉴스, AI 분석 자동 갱신
  • 실패 단계 추적이 가능한 배치 로그 출력

사용자 기능

  • 이메일 인증 회원가입
  • 로그인/세션 기반 개인화
  • 프로필 및 랭킹 페이지 제공

사용자 경험 시나리오

  1. 사용자는 메인 대시보드에서 오늘의 방산 섹터 분위기와 대표 ETF 흐름을 확인합니다.
  2. 관심 종목 상세 페이지에서 뉴스 기반 AI 분석과 전략 백테스트 성과를 비교합니다.
  3. 선택한 전략으로 모의투자를 실행하고 포트폴리오에 반영합니다.
  4. 이후 일일 배치를 통해 뉴스 분석과 전략 신호가 갱신되고, 자동매매 결과까지 추적할 수 있습니다.

기술 스택

  • 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/

실행 방법

1. 패키지 설치

pip install -r requirements.txt

2. 환경 변수 설정

루트에 .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=

3. 데이터베이스 테이블 생성

python -m mariadb.create_db

4. 데이터베이스 기본 데이터 추가

python -m mariadb.add_datas

5. 일일 배치 실행

python scripts/daily_update.py

6. 애플리케이션 실행

python app.py

ERD 다이어그램

ERD

홍보 포인트

이 프로젝트는 다음 상황에서 특히 강하게 소개할 수 있습니다.

  • "AI를 단순 챗봇이 아니라 투자 의사결정 흐름에 녹여낸 서비스"
  • "국내 방산 섹터라는 명확한 도메인 집중형 프로젝트"
  • "뉴스 요약, 전략 백테스트, 모의투자, 자동매매까지 이어지는 풀스택 구현"
  • "데이터 수집과 운영 배치를 포함한 실제 서비스형 아키텍처"

한 줄 소개로는 이렇게 표현할 수 있습니다.

국내 방산 섹터를 위한 AI 투자 분석 및 모의 자동매매 대시보드

기대 효과

  • 투자자는 복잡한 방산 뉴스 흐름을 빠르게 이해할 수 있습니다.
  • 팀은 AI 분석과 규칙 기반 전략을 한 서비스 안에서 실험할 수 있습니다.
  • 데모 관점에서는 "보여줄 기능"이 많고, 포트폴리오 관점에서는 "문제를 해결하는 서사"가 분명합니다.

앞으로 확장할 수 있는 방향

  • 실시간 알림 연동
  • 전략 종류 추가
  • 종목 토론 감성 분석
  • 사용자 맞춤 추천 종목
  • 성과 리포트 자동 생성

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors