Skip to content

Commit 0b1415f

Browse files
authored
Update README.md
1 parent 4b89b38 commit 0b1415f

File tree

1 file changed

+143
-1
lines changed

1 file changed

+143
-1
lines changed

README.md

Lines changed: 143 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,143 @@
1-
# SynergyX-ML-Server
1+
# 📈 PatternCatcher - ML Server
2+
3+
[![Python](https://img.shields.io/badge/Python-3.12-3776AB?logo=python&logoColor=white)](https://www.python.org/)
4+
[![FastAPI](https://img.shields.io/badge/FastAPI-009688?logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/)
5+
[![TensorFlow](https://img.shields.io/badge/TensorFlow-FF6F00?logo=tensorflow&logoColor=white)](https://www.tensorflow.org/)
6+
7+
> **AI 주가 예측 및 차트 패턴 기반 실시간 감지·백테스팅 시스템**
8+
> 🏆 한이음 드림업 장려상 수상작
9+
10+
[![Organization](https://img.shields.io/badge/🏠_Organization-9D84B7?style=for-the-badge&logo=github&logoColor=white)](https://github.com/SynergyX-AI-Pattern)
11+
[![Main Server](https://img.shields.io/badge/📘_Main_Server-3396D3?style=for-the-badge&logo=github&logoColor=white)](https://github.com/SynergyX-AI-Pattern/SynergyX-Server)
12+
[![Client](https://img.shields.io/badge/📱_Client-B87C4C?style=for-the-badge&logo=github&logoColor=white)](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** | ![Python](https://img.shields.io/badge/Python-3.12-3776AB?logo=python&logoColor=white) ![FastAPI](https://img.shields.io/badge/FastAPI-009688?logo=fastapi&logoColor=white) ![Uvicorn](https://img.shields.io/badge/Uvicorn-499848?logo=gunicorn&logoColor=white) |
37+
| **ML/AI** | ![TensorFlow](https://img.shields.io/badge/TensorFlow-FF6F00?logo=tensorflow&logoColor=white) ![Keras](https://img.shields.io/badge/Keras-D00000?logo=keras&logoColor=white) ![scikit-learn](https://img.shields.io/badge/scikit--learn-F7931E?logo=scikitlearn&logoColor=white) |
38+
| **Data Processing** | ![Pandas](https://img.shields.io/badge/Pandas-150458?logo=pandas&logoColor=white) ![NumPy](https://img.shields.io/badge/NumPy-013243?logo=numpy&logoColor=white) |
39+
| **Database** | ![MySQL](https://img.shields.io/badge/MySQL-8.0-4479A1?logo=mysql&logoColor=white) |
40+
| **Infrastructure** | ![AWS EC2](https://img.shields.io/badge/AWS_EC2-FF9900?logo=amazonec2&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=white) |
41+
| **External API** | ![OpenAI](https://img.shields.io/badge/OpenAI_GPT--4o-412991?logo=openai&logoColor=white) ![Google Vision AI](https://img.shields.io/badge/Google_Vision_AI-4285F4?logo=google&logoColor=white) |
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

Comments
 (0)