# strategy_spec.md - 문서명: Strategy Specification - 프로젝트 코드명: **ACE-F v1** (AI Catalyst Event Engine — Free Data) - 상태: Draft for Phase 0 Sign-off - 버전: 0.1 - 작성일: 2026-03-12 - 목적: 무료 데이터만 사용하는 미국 주식 중단기 자동매매 시스템의 **범위, 목표, 운용 전제, 우선순위**를 고정합니다. > 본 문서는 개발 기준서입니다. 법률·세무·투자자문 문서가 아니며, 실거래 전에는 브로커 정책과 시장 규정 재검증이 필요합니다. ## 1. 프로젝트 목적 본 프로젝트의 목적은 다음과 같습니다. 1. **무료 데이터만** 사용하여 미국 주식의 1~5거래일 중단기 이벤트 드리프트를 자동으로 탐지합니다. 2. LLM/AI는 가격 예측기가 아니라 **공시·뉴스·문서 해석기**로 사용합니다. 3. 전략의 중심은 **공식 이벤트 + 가격 반응 확인 + 리스크 통제**입니다. 4. 초기 버전은 **수익률 최대화보다 재현성, 운영 안정성, 확장 가능성**을 우선합니다. ## 2. 전략 정의 ### 2.1 전략 한 줄 정의 **“공식 기업 이벤트가 발생했고, 그 이벤트의 질이 높으며, 첫 정규장 반응이 강하게 확인된 종목만 다음 세션에 진입하여 1~5거래일 보유하는 이벤트 기반 continuation 전략”** ### 2.2 전략 핵심 가설 - 기업이 직접 배포한 공시/첨부문서에는 구조적인 정보가 남아 있습니다. - 무료로 구할 수 없는 sell-side 컨센서스가 없더라도, **회사의 자체 가이던스 대비 결과**, 수요/마진/백로그/고객 확대 등은 충분히 구조화할 수 있습니다. - 모든 뉴스가 아니라 **회사 원문 + 가격 확인**이 붙은 사건만 거래하면 무료 데이터 환경에서도 실행 가능성이 높습니다. - 유튜브/뉴스/검색량/소셜은 단독 진입 신호가 아니라 **관심 확산 속도(attention)** 를 측정하는 보조 레이어로 쓸 수 있습니다. ## 3. 범위 고정 ### 3.1 포함 범위 - 시장: 미국 상장 주식 - 종목군: NYSE / Nasdaq 보통주 중심 - 보유기간: 기본 1~5거래일 - 전략 유형: 이벤트 기반 continuation swing - 데이터 정책: **유료 데이터 금지** - 모델 정책: 규칙 기반 + LLM 문서 해석 + 랭킹 모델 하이브리드 ### 3.2 제외 범위 - 옵션, 0DTE, 레버리지 ETF, 선물, 암호화폐 - 순수 intraday scalp / 초단타 HFT - X/Twitter API 의존 전략 - 유료 earnings estimate / transcript API 의존 전략 - 소셜만 보고 진입하는 전략 - 스크레이핑 정책이 불명확하거나 금지 가능성이 큰 비공식 소스 의존 구조 ### 3.3 v1 거래 방향 - **실거래 v1은 롱 온리** - 숏 이벤트 분류는 연구용으로는 수집하되, 자동 실거래 엔진에는 넣지 않습니다. - 숏 전략은 borrow / locate / hard-to-borrow / 급등 squeeze 리스크 때문에 **Phase 8 이후 별도 엔진**으로 분리합니다. ## 4. 타겟 유니버스 ### 4.1 기본 유니버스 조건 - 미국 보통주 - 주가 $15 이상 - 시가총액 $2B 이상 - 최근 20거래일 평균 거래대금 $50M 이상 - 평균 스프레드 과도 종목 제외 - 거래정지, 저유동성, 상장폐지 위험 종목 제외 ### 4.2 초기 제외군 - ETF / ETN / ADR / SPAC - low-float 테마주 - 초소형 바이오 / 단일 임상 의존 종목 - 만성적 희석(dilution) 이슈 종목 - 기업 원문보다 소셜 노이즈가 큰 종목 ## 5. 핵심 이벤트 범위 ### 5.1 v1에서 직접 거래하는 이벤트 1. **실적 발표 + 가이던스** 2. **8-K 기반 대형 계약/수주** 3. **명확한 제품/규제 승인** 4. **고객 확대/백로그/예약 증가가 명시된 기업 이벤트** ### 5.2 연구만 하고 실거래는 보류하는 이벤트 - 경영진 교체 - 자사주매입 단독 이벤트 - 배당 정책 변경 - M&A 루머 - analyst upgrade/downgrade - 소셜 주도 밈 확산 ## 6. 전략 구조 ### 6.1 신호 구조 최종 랭킹은 아래 네 층으로 구성합니다. 1. **Event Quality Layer** - 문서 원문에서 이벤트의 질을 평가 - 가이던스 방향성, 수요 강도, 마진 질, 고객 확대, one-off 여부 등 2. **Price Confirmation Layer** - 첫 정규장 반응일의 가격 강도 확인 - 수익률, 거래량, 종가 위치, 갭 과열 여부, 섹터 상대강도 3. **Market Regime Layer** - 시장 전체의 risk-on / neutral / risk-off 상태 - 지수 추세 및 변동성 필터 4. **Attention Overlay Layer** - Yahoo RSS, YouTube, Wikimedia, FINRA short volume 등으로 관심 확산 강도 보조 판정 ### 6.2 기본 의사결정 규칙 - **공식 이벤트 없으면 거래하지 않습니다.** - 공식 이벤트가 있어도 **가격 확인이 약하면 거래하지 않습니다.** - attention이 강해도 공식 이벤트가 없으면 **거래하지 않습니다.** - 이벤트 해석과 가격 해석이 충돌하면 **보수적으로 no-trade** 처리합니다. ## 7. 진입/보유/청산 원칙 ### 7.1 진입 원칙 - 기본 진입은 **첫 정규장 반응일 마감 후 점수 계산 → 다음 세션 시초 부근 진입** - 무료 데이터 기준 v1에서는 **초단타 ORB 진입을 핵심 엔진으로 채택하지 않습니다.** - intraday ORB는 향후 add-on confirmation 용도로만 연구합니다. ### 7.2 보유기간 원칙 - 기본 보유: 2~3거래일 - 확장 보유: 최대 5거래일 - 강한 이벤트 + 강한 섹터 + 강한 attention이 동시에 있을 때만 5일 쪽으로 연장 - 기대한 follow-through가 없으면 조기 종료 ### 7.3 청산 원칙 - 손절: 이벤트 반응일 저가 / ATR 기반 손절 중 보수적인 값 사용 - 일부 익절: +1.2R ~ +1.5R 구간에서 부분 청산 가능 - 잔여분: 전일 저가 이탈 또는 시간 청산 - 시간 청산: 최대 보유기간 초과 시 강제 종료 ## 8. 계좌/실행 정책 ### 8.1 계좌 정책 - v1 연구/시뮬레이션 기준 계좌는 미국 주식 계좌를 가정합니다. - 전략은 **same-day round trip이 필수가 아닌 구조**로 설계합니다. - 현금계좌 전용 daytrade 엔진은 v1 범위에 넣지 않습니다. - 브로커는 Phase 6에서 최종 확정하되, Phase 1~6의 기본 reference는 **Alpaca paper** 입니다. ### 8.2 실행 정책 - 실거래 전까지는 **paper trading 우선** - 주문 유형은 단순한 market / limit / stop 기반으로 제한 - VWAP/TWAP/DMA 같은 고급 실행은 v1 범위 밖 - 데이터 지연이나 주문 상태 불일치가 있으면 no-trade 또는 kill switch ## 9. 모델 정책 ### 9.1 LLM 역할 - 공시와 첨부문서 해석 - one-off/비반복성 요인 탐지 - 가이던스 톤/수요 강도/고객 확대 등 구조화 - 거래 후 복기 자동화 ### 9.2 LLM이 하지 않는 일 - raw price return 계산 - 컨센서스 추정치 계산 - 주문 가격 산정 단독 결정 - 무근거 방향 예측 ### 9.3 최종 선택 로직 - 규칙 기반 필터 → LLM 구조화 → 숫자 feature 결합 → 랭킹 모델 → 포트폴리오 엔진 순으로 진행 - LLM 출력 단독으로는 주문을 허용하지 않습니다. ## 10. KPI와 성공 기준 ### 10.1 전략 KPI - 양의 기대값(Expectancy > 0) - 보수적 슬리피지 반영 후 샤프 개선 여부 - MDD(최대낙폭) 허용 범위 내 유지 - 과도한 섹터 편중 없음 - 거래 빈도와 수익 기여가 소수 사례에만 의존하지 않을 것 ### 10.2 운영 KPI - 데이터 수집 실패율 - 파싱 실패율 - 주문 상태 불일치 건수 - 중복 주문 / 누락 주문 건수 - 수동 개입 비율 - paper/live 괴리 정도 ### 10.3 Live 진입 전 게이트 - 최소 8주 이상의 안정적인 paper trading - 치명적 운영 사고 0건 - 원인 설명 불가능한 대규모 손실 0건 - 후보 생성부터 복기까지 전체 파이프라인 자동 동작 확인 ## 11. 명시적 비목표 (Non-goals) - “매일 반드시 거래하는 전략” 만들기 - 유튜브/소셜 바이럴 종목만 쫓는 전략 만들기 - intraday 경쟁속도를 데이터 품질로 극복하는 전략 만들기 - 초기에 너무 많은 자산군/브로커/전략을 동시에 지원하기 ## 12. Phase 0에서 동결하는 의사결정 - 무료 데이터만 사용 - 미국 주식만 사용 - 1~5거래일 이벤트 continuation이 메인 - 공식 이벤트 + 가격 확인이 핵심 - attention 데이터는 overlay - 실거래 v1은 롱 온리 - same-day 필수 구조 금지 - paper trading을 거치지 않고 live로 가지 않음 ## 13. Phase 1~2로 넘기는 오픈 항목 - 정확한 랭킹 가중치 - 섹터별 유니버스 미세 조정 - XBRL 기반 재무 feature 상세 정의 - 브로커 live 전환 시점 - LLM 모델 선택과 비용 상한 ## 14. 변경 관리 - 본 문서의 변경은 `docs/strategy_spec.md` 버전업으로만 수행합니다. - 범위 변경이 전략 구조를 흔드는 경우 `risk_policy.md`와 `data_source_policy.md`를 함께 갱신해야 합니다. - v1 범위를 벗어나는 변경(예: 숏/옵션/유료 데이터 추가)은 **새 전략 버전**으로 분기합니다. ## 부록 A. 현재 전략의 핵심 외부 전제 - SEC EDGAR API는 인증 없이 filings/XBRL JSON 접근을 제공하고, 실시간 업데이트와 bulk 배포를 지원합니다. - SEC는 공정접속을 위해 최대 접근률을 제한합니다. - Alpaca Basic은 무료 기본 플랜이며, 주식의 무료 실시간 데이터는 IEX 중심입니다. - YouTube, Wikimedia, Yahoo RSS 등은 attention overlay용 보조 레이어로만 사용합니다. ## 부록 B. 참고 링크 - SEC EDGAR APIs: https://www.sec.gov/search-filings/edgar-application-programming-interfaces - SEC Developer Resources: https://www.sec.gov/about/developer-resources - SEC Accessing EDGAR Data: https://www.sec.gov/search-filings/edgar-search-assistance/accessing-edgar-data - Alpaca Market Data API: https://docs.alpaca.markets/docs/about-market-data-api - Alpaca API rate limit support note: https://alpaca.markets/support/usage-limit-api-calls - FINRA short sale volume: https://www.finra.org/finra-data/browse-catalog/short-sale-volume-data/daily-short-sale-volume-files - Wikimedia pageviews: https://doc.wikimedia.org/generated-data-platform/aqs/analytics-api/reference/page-views.html - YouTube quota cost: https://developers.google.com/youtube/v3/determine_quota_cost - Google Trends API alpha: https://developers.google.com/search/apis/trends - Yahoo Finance RSS: https://finance.yahoo.com/rss/