📅 프로젝트 기간: 2024.03 - 2024.06
👨💻 팀원:
- 송항영 (팀장, 프론트엔드/UI·UX 개발)
- 문성원 (팀원, Transformer 기반 모델 구축/UI·UX 디자인)
- 안정우 (팀원, 백엔드/DB 및 모델 결합)
- 이승헌 (팀원, TimesNet 기반 모델 구축)
📊 기술 발전으로 주식 시장이 더욱 활성화되었지만, 개인 투자자들은 시간 부족으로 인한 어려움을 겪고 있음.
- 💡 딥러닝과 매매 전략을 결합하여 자동매매 시스템을 개발
- ⏳ 1시간 단위 데이터 분석을 통해 보다 세밀한 투자 전략 수립
✅ 1시간 단위 데이터 수집 및 분석
✅ 기존 매매 전략 + AI 모델 결합
✅ 다양한 종목에 적용 가능한 일반화 모델 개발
✅ 바쁜 현대인들을 위한 자동매매 시스템 구현
| 기존 방식 | 본 프로젝트 |
|---|---|
| 📆 하루 단위 데이터 분석 | ⏳ 1시간 단위 데이터 분석 |
| 🤖 단일 모델 (LSTM 등) 사용 | 🔀 결합 모델 (AI + 트레이딩 전략) |
| 📉 단기 예측 모델 부족 | 📈 딥러닝 기반 최적화 |
| 🔄 고정된 투자 전략 | 🎯 사용자 맞춤 전략 제공 |
- 📌 적용된 모델:
LSTM,Transformer,TimesNet,DLinear - 📌 적용된 매매 전략:
변동성 돌파 전략,이동 평균선 돌파 전략
📊 투자 전략 개요:
1️⃣ 변동성 돌파 전략 → 특정 변동성이 발생할 때 매수 신호 감지
2️⃣ AI 모델 (LSTM, Transformer) 예측 → 예측 종가를 기반으로 매매 여부 결정
3️⃣ 모델 결합 (Hybrid System) → 전략 기반 + AI 모델 예측 결합하여 최적 투자
- 📌 매수 조건: 변동성 돌파 전략 + AI 모델 예측 종가 상승 예측 시 매수 📌 매도 조건: AI 모델 예측 종가 하락 예측 시 매도
- 🛠 성장형 모델 (
Transformer) → 고수익, 고위험 전략 - 🛡 안정형 모델 (
TimesNet) → 저위험, 안정적인 투자
✅ 실제 적용 사례:
- 상승장 →
한화오션종목 적용 - 하락장 →
삼성공조종목 적용 - 실제 기간:
2024.06.07 ~ 2024.06.14
📌 UI 설명:
- 사용자가 성장형 또는 안정형 투자 모델을 선택하여 자동매매 진행
| 종목 | 투자 전략 | 기존 Buy & Hold | 프로젝트 모델 적용 후 | 수익 상승폭 | 트레이딩 횟수 |
|---|---|---|---|---|---|
| 한화오션 | 성장형 (Transformer) | 7.54% | 8.58% | +1.04% | 10회 |
| 한화오션 | 안정형 (TimesNet) | 7.54% | 8.38% | +0.84% | 8회 |
| 삼성공조 | 성장형 (Transformer) | -10.238% | 0.32% | +10.565% | 1회 |
| 삼성공조 | 안정형 (TimesNet) | -10.238% | 2.05% | +12.288% | 4회 |
✔ 전반적으로 기존 Buy & Hold 방식보다 수익률 향상
✔ 하락장에서 더욱 효과적으로 손실 방어 가능
- 📌 개발 언어:
Python - 📌 분석 도구:
Pandas,Numpy,Scikit-learn,TensorFlow - 📌 머신러닝 모델:
LSTM,Transformer,TimesNet,DLinear - 📌 데이터 시각화:
Matplotlib,Seaborn - 📌 백엔드:
Flask,FastAPI
📂 AutoStockTrader
│── 📜 README.md # 프로젝트 개요 문서
│
├── 📂 Autotrade # 자동매매 관련 코드
│ ├── 📂 autotrade_slackmassage # 슬랙 알림 관련 모듈
│ ├── KoreaStockAutoTrade.py # 한국 주식 자동매매 스크립트
│ ├── UsaStockAutoTrade.py # 미국 주식 자동매매 스크립트
│ └── config.yaml # 매매 설정 파일
│ └── AutoTrade(hour)_database.py # 자동매매 데이터베이스 연동
│
├── 📂 UI # 사용자 인터페이스
│ └── UI.py # 기본 UI 구성 파일
│
├── 📂 data # 주가 데이터 및 크롤링된 데이터
│ ├── 📂 final_profit # 최종 수익률 분석 데이터
│ ├── samsung_h.csv # 삼성전자 주가 데이터 (1시간봉)
│ ├── samsung_m.csv.csv # 삼성전자 주가 데이터 (1분봉)
│ └── ...
│
├── 📂 files # 프로젝트 발표 자료 및 시연 영상
│ ├── 바쁜 현대인들을 위한 주식자동매매 프로그램 개발.pdf # 프로젝트 발표 자료
│ └── 시연영상.mp4 # 자동매매 시스템 시연 영상
│
├── 📂 model # 머신러닝 & 딥러닝 모델 코드
│ ├── Dlinear.ipynb # D-linear 기반 주가 예측 모델
│ ├── TimesNet_Final_0429.ipynb # TimesNet 모델 최적화
│ ├── Stock_Predict.ipynb # Transformer 기반 모델
│ └── 최적화.ipynb # LSTM 모델 최적화 코드
│
├── 📂 profit # 수익률 분석 및 투자 전략 성과 비교
│ └── profit_Volatility_Breakout_Strategy.ipynb # 변동성 돌파 코드
│
├── 📂 streamlit # Streamlit 기반 웹 애플리케이션 코드
│ ├── 📂 secret # 환경 변수 및 설정 파일
│ ├── app.py # 메인 Streamlit 앱
│ ├── database.py # DB
│ ├── flask_server.py # Flask 서버 연동
│ ├── trading.py # 실시간 매매
│ ├── stock_prices.db # 주가 정보
│ └── chg_close_loss.pth # 딥러닝 model 가중치
└──
✔ 바쁜 현대인을 위한 자동매매 시스템 제공
✔ 기존 논문의 한계를 보완한 안정적이고 고수익 모델 개발
✔ 사용자 성향에 맞춰 맞춤형 알고리즘 적용 가능
"이 프로젝트는 바쁜 현대인들이 보다 효율적인 투자를 할 수 있도록 돕는 것을 목표로 합니다."