You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

448 lines
10 KiB
Markdown

# 1. 전략 정의
## 전략 이름
**PER-v1 (Post-Event Reversal v1)**
## 전략 목적
SEC 공시 직후 강하게 반응한 종목 중,
**초기 반응이 과도했고 다음 거래일에 follow-through가 약한 경우**를 골라
**1~3거래일 mean reversion**을 노립니다.
## 기본 철학
이 전략은 “이벤트가 좋으냐”보다 아래를 더 중요하게 봅니다.
* 반응이 **너무 강했는가**
* 다음 날 **추가 매수세가 약한가**
* 이미 **좋은 뉴스가 가격에 과반영되었는가**
* 그 종목이 **1~3일 안에 되돌릴 가능성**이 높은가
즉, 기존 전략의
* high score
* strong reaction
* next-open 추격
이 오히려 손실로 이어졌던 구조를 반대로 쓰는 것입니다.
---
# 2. 어떤 종목만 거래할지
처음에는 아주 좁게 가는 게 맞습니다.
## 유니버스
* 미국 보통주만
* NYSE / Nasdaq
* 가격 $10 이상
* 최근 20일 평균 거래대금 충분히 큰 종목만
* 저유동성 바이오 / low-float / memestock 제외
* ADR / ETF / SPAC 제외
## 이벤트 타입
v1에서는 아래만 허용합니다.
* `earnings_release`
* `guidance_update`
초기에는 **material_contract도 제외**하는 게 좋습니다.
표본이 너무 적고, 반응 구조가 실적 이벤트와 다를 가능성이 큽니다.
## 차단 이벤트
아래는 제외합니다.
* `unknown event_type`
* `management_change`
* `other_material_event`
* `oneoff risk high`
* parse confidence 낮음
* direction unknown
즉, **이벤트 자체가 애매한 종목은 거래하지 않습니다.**
---
# 3. 전략 가설
이 전략은 아래 상황을 노립니다.
1. 공시가 나왔다
2. 시장이 반응일에 너무 강하게 샀다
3. 그런데 다음 거래일 초반/당일 흐름이 약하다
4. 그러면 좋은 뉴스가 이미 충분히 반영되었을 가능성이 높다
5. 1~3일 안에 평균 회귀가 나온다
즉, 이 전략은
**“좋은 뉴스 = 추가 상승”** 이 아니라
**“좋은 뉴스 + 과열 반응 + follow-through 부재 = 단기 되돌림”**
이라는 가설입니다.
---
# 4. 신호 구조
이 전략은 기존 continuation 점수를 그대로 쓰면 안 됩니다.
이번에는 아예 별도 점수로 분리해야 합니다.
## 핵심 신호 4개
### A. Overreaction Score
반응일에 얼마나 과열되었는지를 봅니다.
예시 구성:
* reaction_day_return 높음
* close_location 높음
* volume_ratio_20d 높음
* gap_up 큼
* high-to-close extension 큼
즉, “이날 너무 강하게 갔는가”를 측정합니다.
---
### B. Exhaustion Score
다음 날 follow-through가 약한지를 봅니다.
예시:
* D+1 open이 reaction_day_close 대비 높게 시작했지만
* D+1 intraday에서 밀림
* D+1 close가 open 또는 VWAP 아래
* D+1 close가 reaction_day high 아래에서 약하게 마감
무료 데이터 제약 때문에 intraday를 못 보면 일봉 근사도 가능합니다.
예:
* D+1 close < D+1 open
* D+1 high 찍고 음봉 마감
* D+1 close < reaction_day_close
---
### C. Event Overpricing Score
문서 품질은 좋더라도, 시장 반응이 그보다 강했는지 봅니다.
:
* event_quality 높지만
* price reaction 과도하게
* guidance 좋아도 숫자 자체는 폭발적이지 않음
* oneoff 아니지만 valuation stretch
즉, 문서와 가격 반응의 **불균형**을 보는 것입니다.
---
### D. Reversal Confirmation Score
진짜로 뒤집히는지 확인합니다.
:
* D+1 close reaction_day midpoint 아래
* D+1 close reaction_day high 근처 안착 실패
* D+2 early weakness
v1에서는 너무 복잡하게 말고
**D+1 약세 확인** 정도만 써도 충분합니다.
---
# 5. 진입 규칙
## v1 기본 진입
**D+1 close 기준 확인 → D+2 open 숏 진입**
이유는 단순합니다.
현재 데이터상으로 next-open 추격”은 continuation에서 불리했으므로,
reversal에서는 반대로 **D+1 약세가 실제로 확인된 뒤** 들어가는 것이 맞습니다.
## 구체 룰
아래를 모두 만족할 때만 진입:
1. event_type = earnings_release 또는 guidance_update
2. event_direction = bullish
3. oneoff_penalty 낮음
4. parse_confidence 충분
5. reaction_day_return 상위 구간
6. D+1 close < D+1 open
7. D+1 close < reaction_day_close
8. D+1 close reaction_day high breakout 유지 실패
조건이면
“좋은 뉴스가 나왔는데도 다음 간다”는 뜻이므로,
되돌림 가설에 맞습니다.
---
# 6. 더 단순한 대안 진입
체결/borrow 문제가 부담되면, 같은 논리를 ** 회피 전략**으로 먼저 수도 있습니다.
즉,
* continuation long 전략에서
* 과열 + D+1 약세 확인 종목은 그냥 **long 금지**
이건 바로 production 필터로 넣을 있습니다.
그리고 다음 단계에서만 reversal short 확장해도 됩니다.
즉, 개발 순서는 이렇게 가는 좋습니다.
1. **Long Avoidance Filter**
2. **Paper Short Reversal**
3. **Small Capital Short Live**
---
# 7. 청산 규칙
전략은 long continuation보다 짧게 가져가야 합니다.
## 기본 보유기간
* 최대 3거래일
* 권장 기본은 2거래일
## 기본 청산
### 1) 시간 청산
* D+2 진입이면 D+3 또는 D+4 종가 청산
* 무조건 짧게
### 2) 타겟 청산
* 반응일 과열분의 일부만 먹으면
* 1R 또는 1.2R 정도면 충분
### 3) 실패 청산
* D+2 바로 반등해버리면 빠르게 손절
* reversal 나오는 종목은 오래 이유가 없음
## 중요한 점
전략은 continuation보다 “타이밍” 중심이므로
**시간 손절이 하드 손절만큼 중요**합니다.
---
# 8. 손절 규칙
v1에서는 너무 넓은 ATR stop보다, 구조적 손절이 낫습니다.
## 권장 손절
* D+1 high 돌파 손절
* 또는 진입가 대비 1 ATR 안쪽의 보수적 손절
왜냐하면 전략의 핵심은
D+1 이미 힘이 약해야 한다”는 전제이기 때문입니다.
그런데 D+2에서 바로 D+1 high 뚫고 올라가면, 가설이 틀린 것입니다.
즉, 전략의 stop
**“변동성 stop”보다 “가설 실패 stop”** 가깝게 설계하는 것이 좋습니다.
---
# 9. 포지션 사이징
전략은 보수적으로 가야 합니다.
## 권장값
* trade 리스크: 0.25% 이하
* 동시 포지션: 최대 2
* 같은 섹터: 최대 1
* gross short exposure 작게
그리고 처음에는 아예
* paper only
* 또는 micro capital
로만 보시는 맞습니다.
---
# 10. score 설계 예시
전략은 continuation score 뒤집는 아니라, 새로 만들어야 합니다.
예시:
* Overreaction Score: 35%
* Exhaustion Score: 30%
* Event Overpricing Score: 20%
* Reversal Confirmation Score: 15%
그리고 threshold 넘는 것만 거래합니다.
중요한 점은, 여기서는
**문서가 좋을수록 무조건 좋은 아니라, 문서 대비 가격 반응이 과하면 오히려 reversal 후보**가 된다는 것입니다.
---
# 11. 꼭 필요한 필터
## 하드 필터
* unknown event_type 금지
* parse confidence 낮음 금지
* oneoff high 금지
* D+1 약세 미확인 금지
* borrow unavailable 금지
* HTB 비용 과도 금지
## 운영 필터
* 시장이 강한 risk-on 폭등일이면 금지
* index strong trend up 때는 size 축소
* earnings mega-cap bull squeeze 날은 제한
즉, macro regime 전략에서는 ** 중요**합니다.
---
# 12. 백테스트 설계
이건 별도 전략으로 돌리셔야 합니다.
## 비교 대상
반드시 4개를 같이 비교하십시오.
1. continuation long baseline
2. long avoidance filter 적용
3. reversal short candidate only
4. reversal short + regime filter
## 봐야 할 지표
* 1d / 2d / 3d return
* win rate
* PF
* expectancy
* MFE / MAE
* reaction size bucket 성과
* D+1 weakness 강도별 성과
* sector 성과
## 가장 중요한 검증
* reaction 강할수록 reversal 강한가?
* D+1 음봉 강할수록 next 1~3 수익이 좋아지는가?
* event type별로 차이가 있는가?
---
# 13. 실전 투입 전 조건
전략은 바로 live 가면 됩니다.
## 승격 순서
1. backtest
2. shadow mode
3. paper short
4. micro capital
5. limited capital
## live 전 필수 확인
* borrow availability hit rate
* locate latency
* fill slippage
* upward gap risk
* short squeeze 리스크
---
# 14. 지금 인프라에서 바로 재사용 가능한 것
이미 만들어둔 대부분 그대로 있습니다.
## 그대로 쓰는 것
* SEC ingestion
* parser
* event taxonomy
* feature store
* backtester
* portfolio engine
* attribution
* runbook / incident 체계
## 조금 바꾸는 것
* score model
* entry/exit policy
* short risk policy
* borrow/locate checks
* regime gate
즉, 전략은 ** 시스템이 아니라 전략 모듈**입니다.
---
# 15. 개발 우선순위
제가 바로 개발한다면 순서는 이렇게 갑니다.
## Step 1
**long avoidance filter**부터 구현
현재 continuation 전략에서
* 과열 반응
* D+1 약세 확인
종목을 long에서 제외
이건 가장 빠르게 효과를 확인할 있습니다.
## Step 2
reversal short backtest 구현
* D+2 open 진입
* 1~3 보유
* D+1 high stop
* fixed target/time exit
## Step 3
paper short 운영
borrow/locate 문제와 execution 품질 확인
---
# 16. 제 최종 판단
전략은 합리적입니다.
특히 지금까지의 결과를 보면, continuation보다 **오히려 데이터 친화적인 가설**일 가능성이 있습니다.
왜냐하면 현재 결과가 말하는 사실상 이거였기 때문입니다.
* 강한 이벤트를 따라 사면 된다
* 높은 점수일수록 별로다
* D+1 follow-through 자주 깨진다
그렇다면 자연스러운 다음 가설은
**“좋은 뉴스 + 과열 반응 + D+1 실패 = 단기 되돌림”** 입니다.
즉, 이건 억지 피벗이 아니라
**지금 데이터가 직접 제안하는 다음 전략**이라고 보겠습니다.