[포트폴리오] GPT를 활용한 주식 자동매매 모바일 애플리케이션

주식매매 배너

프로젝트 개요

  • 프로그램명: GPT를 활용한 사용자 맞춤형 주식 자동 매매 앱 (주피티)
  • 소개:
    • OpenAI API를 활용하여 주식 매매 판단과 거래를 자동으로 제공하는 투자 지원 모바일 애플리케이션
    • 투자자의 성향과 주관적 예측, 투자 기간, 시장 데이터, 자동 투자 내역 등을 반영하여 사용자 맞춤의 매매 결정을 수행
  • 개발 기간: 2024년 7월 ~ 2024년 8월
  • 인력 구성: 팀(4인)
    • 백엔드 1인 (본인)
    • 프론트엔드 1인
    • 모델 개발 2인
  • 수행업무 (백엔드 담당)
    • 기본 서버 개발:
      • Spring Boot를 기반으로 RESTful API 설계 및 구현
      • Spring Security와 jwt 토큰 인증을 통한 로그인 기능 구현
      • 투자 성향, 거래 내역, 뉴스 등 다양한 데이터를 처리하는 서버 구축
      • 한국투자증권 OpenAPI와 연동하여 계좌 연결 및 주식 거래 기능 구현
      • 모델 서버와의 연동을 통해 거래 판단, 주식 정보 조회 및 AI 뉴스 요약 기능 구현
      • JPA를 활용한 데이터베이스 연동
    • 모델 서버 개발:
      • Flask 기반으로 RESTful API 설계 및 구현
      • 주식 시세 정보를 기본 서버에 제공하는 API 구현
      • AI 뉴스 요약 모델을 기본 서버에서 호출할 수 있도록 API 형태로 구현
      • 주식 매매 판단 모델을 기본 서버와 연동 가능한 API 형태로 구현
    • 데이터베이스 설계
      • 기본 서버: MySQL을 사용하여 사용자 정보 및 주식 거래 내역, 주식 시세 정보, AI 뉴스 요약 데이터 등을 저장
      • 모델 서버: SQLite을 사용하여 주식 시세 정보 가공 및 저장
    • 배포
      • Docker 이미지를 생성하여 컨테이너 기반 배포 환경 구축
      • AWS Elastic Beanstalk를 활용하여 서버에 배포
      • 데이터베이스를 AWS의 RDS로 배포
  • 성과: 2024년 SW개발자양성과정 산학연계프로젝트1 우수상 수상

기술 스택 (Backend)

  • 기본 서버
    • Spring Boot
    • MySQL
    • Spring Security (JWT)
    • WebClient (한국투자증권 API 및 모델서버 연동)
  • 모델 서버
    • Flask
    • SQLite
    • OpenAI API 연동
    • BeautifulSoupPlaywright (크롤링 및 캡처)
    • yfinance(주식 시세 정보)
  • 배포
    • Docker, Docker Compose
    • AWS Elastic Beanstalk
  • 외부 API
    • 한국투자증권 OpenAPI
    • OpenAI API

시스템 구조도

  • 유스케이스 유스케이스
  • 시스템 아키텍처 시스템 아키텍처
  • ERD ERD
  • 모델 구조도 모델

주요 기능

  1. 회원가입 및 로그인
    • JWT 기반 사용자 인증 및 보안 강화
  2. 모의 주식 계좌 연결
    • 한국투자증권 OpenAPI 연동하여 실제 모의 주식 계좌 등록 및 잔액 확인
  3. 기업 주가 차트 제공
    • 일별 시가, 종가, 고가, 저가, 거래량을 캔들 차트로 제공
    • 최근 5일 한시간 간격 및 3달 간 하루 간격 제공
  4. 기업 뉴스 요약 AI 서비스
    • 주중에 하루 한 번 기업 관련 뉴스 크롤링 및 AI 요약 제공
  5. 자동 매매
    • 사용자가 자유로운 투자 기간 설정
    • 투자 성향 및 개인의 자유로운 의견을 입력
      • ex.”난 돈을 최대한 잃고 싶지 않아”, “최근에 나온 삼성 핸드폰 예뻐서 주식이 오를 것 같아!”
    • 정량적 데이터 + 정성적 데이터를 통한 종합 판단
    • 한국투자증권 API를 이용하여 하루 세번 실제 매매 수행

결과

  1. 시간, 자원 절약
    • 사용자가 직접 시장을 분석하고 매매 결정을 내리는 시간을 절약
    • 복잡한 투자 결정 과정의 간소화
  2. 객관적이면서 데이터 중심의 이성적 투자 판단
    • AI가 실시간으로 데이터를 분석하고 최적의 투자 결정
  3. 투자 전략 개인화
    • 투자 성향 및 개인 생각을 반영한 투자 판단

주요 화면

  1. 기본 화면 기본 화면
  2. 회원가입 및 로그인 화면 회원가입 및 로그인 화면
  3. 계좌 등록 및 계좌 정보 화면 계좌
  4. 기업 정보 및 자동거래 화면 주가

모델 성능 평가

  • 4가지 타입의 사용자 성향 입력 Image
  • buy&hold와의 수익률 비교 Image

소스코드

Leave a comment