This repository has been archived on 2025-06-07. You can view files and clone it, but cannot push or open issues or pull requests.
SightRay_Legacy/developement_advice/data_collection_engine_summary.txt
2025-05-06 21:23:04 +09:00

106 lines
4.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📦 SightRay 데이터 수집 엔진 기능 요약 및 MVP 충족도 평가
---
## ✅ 엔진 개요
**SightRay 데이터 수집 엔진**은 외부 주가 API(Polygon 등)를 통해 종목별 OHLCV 데이터를 수집하고,
분석 엔진이 바로 사용할 수 있도록 정제된 CDS(Complete Data Set)를 생성하는 핵심 모듈입니다.
- **입력:** 종목 코드, 날짜 범위
- **출력:** 정제된 CDS 파일 (CSV 형식)
- **사용자 입력 기반 동작 (CLI)**
- **기술 지표 생성은 포함하지 않음 → 분석 엔진에서 처리**
---
## 🧩 디렉토리 구조 및 구성 파일
```plaintext
sightray/
└── data_collection_engine/
├── engine.py # 수집 실행을 담당하는 통합 엔진 클래스
└── modules/
├── fetchers/
│ └── polygon.py # Polygon API를 통한 주가 수집 기능
└── preprocessors.py # 결측/중복 제거, timestamp 정제 등 전처리
```
| 파일명 | 역할 | 계층 |
|--------|------|------|
| `engine.py` | 사용자 입력 → 수집 → 전처리 → 저장 흐름 실행 | Engine Layer |
| `fetchers/polygon.py` | Polygon API로 OHLCV 데이터 수집 | Module Layer |
| `preprocessors.py` | 데이터 클렌징 및 CDS 구조 정제 | Module Layer |
---
## 🔁 데이터 흐름
```plaintext
[사용자 입력: 종목, 날짜 범위]
fetchers/polygon.py → Polygon API 호출
preprocessors.py → DataFrame 정제 및 컬럼 리네이밍
engine.py → 전체 흐름 제어 및 CSV 저장 (data/SYMBOL_ohlcv.csv)
```
---
## ✅ 구현된 기능 목록
| 기능 항목 | 구현 여부 | 설명 |
|-----------|-----------|--------|
| 사용자 입력 처리 | ✅ | 종목코드, 날짜 범위 입력 가능 (CLI 기반) |
| 외부 API 연동 | ✅ | Polygon API 연동 및 에러 핸들링 포함 |
| 결측치/중복 제거 | ✅ | DataFrame 전처리 수행 |
| 컬럼 정제 및 타입 변환 | ✅ | 컬럼 이름 변경, datetime 변환 포함 |
| 정렬 및 저장 | ✅ | timestamp 기준 정렬 후 CSV 저장 |
| 디렉토리 구조화 | ✅ | fetcher / preprocessor 모듈 분리 구조 적용 |
| 환경변수 관리 | ✅ | `.env` 파일로 API 키 분리 |
| CDS 정의 준수 | ✅ | 분석 엔진이 바로 사용할 수 있는 포맷 제공 |
---
## 📄 생성되는 CDS 예시
| timestamp | open | high | low | close | volume | vw | n |
|-----------|------|------|-----|-------|--------|----|---|
| 2024-01-02 | 187.15 | 188.44 | 183.88 | 185.64 | 81964874 | 185.9465 | 1008871 |
- timestamp는 정렬 및 datetime 형식 변환 완료
- 분석용 OHLCV 컬럼 포함
- 거래량(volume), 체결 수(n), 거래량 가중 평균가(vw) 포함
### 🔍 `vw` 컬럼 (거래량 가중 평균가, VWAP)
- 해당 기간 동안 체결된 가격과 거래량을 기반으로 산출된 **실질적인 평균 매수/매도 가격**
- 계산식 예시:
\[
VWAP = \\frac{\\sum (\\text{가격} \\times \\text{거래량})}{\\sum \\text{거래량}}
\]
- **기술 지표로도 활용됨** (지지선/저항선 판단 근거로 자주 사용)
- `Polygon.io`의 응답에 포함된 기본 컬럼으로, SightRay는 그대로 CDS에 반영
---
## 🎯 MVP 충족도 평가
| 항목 | 달성률 | 설명 |
|-------|---------|------------------------|
| CDS 수집 및 저장 | ✅ 100% | 분석에 활용 가능한 형식으로 저장 완료 |
| CLI 실행 및 구조화 | ✅ | 사용자 친화적 구조로 엔진 실행 가능 |
| 지표 생성 미포함 | ⛔ | 지표는 분석 엔진에서 처리 예정 |
| API 오류 대응 | ✅ | 응답 코드 체크 및 예외 처리 구현 |
| 확장 가능성 (다중 종목, 자동화) | 🔜 | 향후 배치 처리 및 스케줄링 가능성 고려됨 |
---
## ✅ 결론
SightRay의 데이터 수집 엔진은 MVP 기준에서 요구되는 **CDS 생성 기능을 완전히 충족**하고 있으며,
다음 단계인 분석 엔진, 리스크 엔진으로 원활하게 데이터를 공급할 수 있는 상태입니다.
> 🚀 이후 확장 과제로는 다중 종목 수집, 자동화 실행 스케줄링, DB 저장 연계 기능이 고려될 수 있습니다.