다른 명령
- 프로젝트 결정사항 (Decision Log)
> 프로젝트명: 떨메오빠 > (떨어지면 매수, 오르면 매도) > 자동매매 시스템 - 급락/서킷브레이커 감지 자동매수·매도 + 모바일 앱(iOS/Android 공용)
---
- 0. 프로젝트 명칭
- **프로젝트명: 떨메오빠** (임시) - 의미: "떨(어지면) 메(수), 오빠(=오르면 팔아)" 콘셉트 그대로 반영 - 추후 정식 서비스명 확정 시 변경 가능, 현재는 내부 프로젝트 코드명으로 사용
- 1. 증권사 API
- **채택: 한국투자증권 KIS Developers API** - 사유: REST API + WebSocket 기반으로 OS 제약 없음, 클라우드 서버 24시간 상시 운영 가능, 모의투자 환경 제공 - 키움증권 Open API+는 OCX(Windows 전용) 방식이라 서버 자동화/모바일 연동 구조에 부적합하여 제외
- 2. 급락 매수 기준
- **결정: 사용자가 선택** - 트리거타입 3종 지원: `개별종목급락`, `시장지수급락`, `서킷브레이커연동` - 한 전략에 복수 트리거타입 선택 가능 (매수트리거조건 : 전략마스터 = **1:N**)
- 3. 서킷브레이커 데이터 연동 방식
- **결정: KRX 연동 기반** - **단, KRX는 실시간 무료 공식 API 미제공** → 아래 방식으로 1차 진행
- 서버가 한국투자증권 API로 수신한 지수 데이터를 기반으로 **-8% / -15% / -20% 자체 계산 판정** - 이후 KRX 공시 데이터로 **교차검증(보정)** 하는 이중 구조 - 공식 발동 시점과 수 초~수십 초 오차 가능성 있음 (PM 승인 완료)
- 4. 매도(수익실현) 전략
- **결정: 손절률 필수값 반영** - 매도트리거조건 = `목표수익률`(필수) + `손절률`(필수) + `보유기간한도`(선택) - 손절률 없는 전략 저장 불가 (UX 차원에서도 강제)
- 5. 모바일 앱 기술 스택
- **결정: React Native** (iOS/Android 공용) - 역할 분리 원칙:
- **앱**: 모니터링 + 전략 설정/ON-OFF 리모컨 역할 - **서버**: 실매매 판단/실행 100% 독립 수행 (앱 종료와 무관하게 24시간 동작) - 사유: iOS 백그라운드 정책상 앱에서 WebSocket 상시 유지가 불안정하여 서버 단독 실행 구조로 확정
- 6. 매수금액 한도 설정 방식
- **결정: 사용자가 선택** (`고정금액` 또는 `예수금 비율`) - 컬럼 구조(단일 컬럼 vs 분리 컬럼)는 **개발 착수 직전 최종 결정 예정** (보류 항목, recommend.md 1번 참고)
- 7. 데이터 모델 주요 변경사항
- 매수트리거조건: 전략마스터와 1:1 → **1:N**으로 변경 - 서킷브레이커이력 테이블에 `데이터출처`, `수집일시` 컬럼 추가 (지연/오차 추적용) - 공통코드 테이블 신설 (트리거타입, 알림타입 등 코드성 값 표준화)
- 8. 팀 리뷰 완성도 평가
- **종합 완성도 82% → 개발 착수 승인 기준 충족** - 영역별: 데이터모델 85% / 표준거버넌스 80% / 물리설계 75% / 아키텍처 80% / UI·UX 75%