|
1 | | -# SynergyX-ML-Server |
| 1 | +# 📈 PatternCatcher - ML Server |
| 2 | + |
| 3 | +[](https://www.python.org/) |
| 4 | +[](https://fastapi.tiangolo.com/) |
| 5 | +[](https://www.tensorflow.org/) |
| 6 | + |
| 7 | +> **AI 주가 예측 및 차트 패턴 기반 실시간 감지·백테스팅 시스템** |
| 8 | +> 🏆 한이음 드림업 장려상 수상작 |
| 9 | +
|
| 10 | +[](https://github.com/SynergyX-AI-Pattern) |
| 11 | +[](https://github.com/SynergyX-AI-Pattern/SynergyX-Server) |
| 12 | +[](https://github.com/SynergyX-AI-Pattern/SynergyX-Client) |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +## 📌 Overview |
| 17 | + |
| 18 | +**PatternCatcher**는 개인 투자자가 자신만의 차트 패턴을 정의하고, |
| 19 | +실시간 감지 및 백테스팅을 통해 투자 전략의 유효성을 검증할 수 있는 AI 투자 보조 시스템입니다. |
| 20 | + |
| 21 | +**ML Server**는 DTW 기반 패턴 매칭, 백테스팅 연산, GRU 주가 예측, AI 종목 검색 및 감정 분석을 담당하는 **FastAPI 기반 AI/ML 서버**입니다. [Main Server](https://github.com/SynergyX-AI-Pattern/SynergyX-Server)로부터 요청을 받아 AI 분석을 수행하고 결과를 반환합니다. |
| 22 | + |
| 23 | +### 주요 역할 |
| 24 | +- 📍 **실시간 패턴 감지** - DTW 알고리즘 기반 시계열 패턴 매칭 (평균 유사도 **0.85**) |
| 25 | +- 📊 **백테스팅 엔진** - 과거 5년 데이터 기반 수익률 분석 |
| 26 | +- 🤖 **주가 예측** - GRU 모델 기반 15일 종가 예측 (MAPE **2.96%**) |
| 27 | +- 🔍 **AI 종목 검색** - Vision AI + GPT-4o 이미지 분석 |
| 28 | +- 💭 **감정 일기 분석** - GPT-4o 기반 감정 분석 및 투자 조언 |
| 29 | + |
| 30 | +--- |
| 31 | + |
| 32 | +## 🛠 Tech Stack |
| 33 | + |
| 34 | +| Category | Technologies | |
| 35 | +|----------|-------------| |
| 36 | +| **Framework** |    | |
| 37 | +| **ML/AI** |    | |
| 38 | +| **Data Processing** |   | |
| 39 | +| **Database** |  | |
| 40 | +| **Infrastructure** |   | |
| 41 | +| **External API** |   | |
| 42 | + |
| 43 | +--- |
| 44 | + |
| 45 | +## 🏗 System Architecture |
| 46 | + |
| 47 | +<img width="579" alt="System Architecture" src="https://github.com/user-attachments/assets/f7ae2bbf-5c16-4480-94c4-e54c5ca0359a" /> |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +## 📁 Project Structure |
| 52 | +``` |
| 53 | +app/ |
| 54 | +├── main.py # FastAPI main |
| 55 | +├── api/v1/ # API 라우터 |
| 56 | +│ └── endpoints/ |
| 57 | +│ ├── backtest.py |
| 58 | +│ ├── pattern_detection.py |
| 59 | +│ └── emotion_diary.py |
| 60 | +├── services/ # 비즈니스 로직 |
| 61 | +│ ├── backtest_service.py |
| 62 | +│ ├── pattern_detection_service.py |
| 63 | +│ ├── prediction_service.py |
| 64 | +│ ├── image_search_service.py |
| 65 | +│ └── external/ |
| 66 | +│ ├── gpt_service.py |
| 67 | +│ └── vision_service.py |
| 68 | +├── models/ # DB 모델 |
| 69 | +├── schemas/ # Pydantic 스키마 |
| 70 | +├── core/ # 설정, 의존성 |
| 71 | +└── utils/ # 유틸리티 (DTW, 정규화) |
| 72 | +``` |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## 🚀 주요 기능 |
| 77 | + |
| 78 | +### 1. DTW 기반 실시간 패턴 감지 |
| 79 | +- Z-score 정규화 + FastDTW 알고리즘으로 효율적인 유사도 계산 |
| 80 | +- 평균 유사도 **0.85** 달성 |
| 81 | + |
| 82 | +### 2. 백테스팅 엔진 |
| 83 | +- 과거 5년 데이터 기반 전략 검증 및 수익률 분석 |
| 84 | +- 슬라이딩 윈도우 + 이진 탐색으로 고속 처리 (평균 **3초**) |
| 85 | + |
| 86 | +### 3. GRU 기반 주가 예측 |
| 87 | +- 향후 15일 종가 예측 (MAPE **2.96%**, ±5% 이내 **82.9%**) |
| 88 | +- 2층 GRU 모델로 높은 정확도 달성 |
| 89 | + |
| 90 | +### 4. AI 종목 검색 |
| 91 | +- Vision AI로 제품·로고·매장 사진에서 종목 추출 |
| 92 | +- GPT-4o 기반 상장 여부 자동 판별 및 종목 매칭 |
| 93 | + |
| 94 | +### 5. AI 감정 투자 일기 |
| 95 | +- GPT-4o 기반 감정 분석 및 투자 조언 제공 |
| 96 | +- 감정 분류, 키워드 추출, 일기 요약 |
| 97 | + |
| 98 | +--- |
| 99 | + |
| 100 | +## 📊 성능 지표 |
| 101 | + |
| 102 | +### 패턴 감지 |
| 103 | +- DTW 평균 유사도: **0.85** |
| 104 | +- 알림 성공률: **99.0%** |
| 105 | + |
| 106 | +### 주가 예측 |
| 107 | +- MAPE: **2.96%** |
| 108 | +- NRMSE: **8.83%** |
| 109 | +- ±5% 이내 예측률: **82.9%** |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +## 👥 Contributors |
| 114 | + |
| 115 | +| | 한지수 | 조수민 | |
| 116 | +|:---:|:------:|:------:| |
| 117 | +| **GitHub** | [@eldeoddt](https://github.com/eldeoddt) | [@Soomxn](https://github.com/Soomxn) | |
| 118 | +| **Role** | Team / Backend Lead | Backend / ML Engineer | |
| 119 | +| **Profile** | <img width="120" src="https://avatars.githubusercontent.com/eldeoddt" /> | <img width="120" src="https://avatars.githubusercontent.com/Soomxn" /> | |
| 120 | +| **담당** | <div align="left">• GRU 주가 예측 모델<br/>• FastAPI 서버 구축<br/>• GPT-4o & Vision AI 연동<br/>• 모델 학습 및 배포</div> | <div align="left">• DTW 패턴 감지 로직<br/>• 백테스팅 엔진 구현<br/>• AI 종목 검색<br/>• 감정 투자 일기 분석</div> | |
| 121 | + |
| 122 | +--- |
| 123 | + |
| 124 | +## 🔗 Related Repositories |
| 125 | + |
| 126 | +- [📘 Main Server](https://github.com/SynergyX-AI-Pattern/SynergyX-Server) - Spring Boot 기반 백엔드 서버 |
| 127 | +- [📱 Client](https://github.com/SynergyX-AI-Pattern/SynergyX-Client) - Flutter 모바일 앱 |
| 128 | + |
| 129 | +--- |
| 130 | + |
| 131 | +## 📧 Contact |
| 132 | + |
| 133 | +**Email**: patterncatcher83@gmail.com |
| 134 | + |
| 135 | +--- |
| 136 | + |
| 137 | +<div align="center"> |
| 138 | + |
| 139 | +**PatternCatcher ML Server** by Team SynergyX |
| 140 | + |
| 141 | +© 2025 Team SynergyX. All rights reserved. |
| 142 | + |
| 143 | +</div> |
0 commit comments