조정 후 "다시 상승할 신호" — 결합으로 확률 높이기¶
- 작성일: 2026-06-05
- PM 질문: 조정 후 "어떤 신호가 있으면 다시 상승하겠구나" 하는 신호로 확률을 높일 수 있나?
- 방법: 조정 452이벤트, 저점 시점 15변수(흡수3+강세/가격12) → REBOUND 예측. 시간분할 검증(앞60% 학습/뒤40% 테스트)으로 과적합 차단한 out-of-sample 확률만 인정.
- 라벨: 저점+20~+80일 +30%↑ = REBOUND. base 50.9%.
0. 한 줄 결론¶
그렇다. 신호를 결합하면 반등 확률을 8.7% → 86.7%까지 단조로 끌어올릴 수 있다. 핵심 6신호(저점에서): ①변동성 살아있음 ②가격 안 빠짐 ③갭 누적 ④상승일 거래우위 ⑤모멘텀 가속 ⑥가격-거래량 동행. 5개+ 켜지면 반등 74%, 1개 이하면 20%(=반등 안 옴). 깊게 빠진 종목(-54%+)도 신호 켜지면 79% 반등 → "얼마나 빠졌나"가 아니라 "저점 상태"가 진실.
1. 단변량 예측력 — 흡수보다 강한 신호 발견¶
저점 시점 변수별 REBOUND 예측 AUC:
| 변수 | AUC | |
|---|---|---|
| vol_20 변동성 | 0.705 | 저점에서 움직임 살아있음 |
| price_pos_60 가격위치 | 0.691 | 저점이지만 안 깊이 빠짐 |
| gap_cum 갭누적 | 0.626 | 저점서도 상방갭 |
| ud_vol_ratio 상승일거래 | 0.622 | 오를 때 거래 우위 |
| mom_accel 모멘텀가속 | 0.615 | 하락 모멘텀 반전 |
| pv_corr 가격-거래량 | 0.587 | 오를 때 거래 붙음 |
| ad_div 흡수 | 0.571 | (이전 핵심, 여기선 중위) |
| adosc, rs_40, turnover 등 | ≈0.5 | 무력 |
→ 반전 발견: 조정 저점에선 흡수(ad_div)보다 "변동성+가격위치"가 더 강하다. 죽지 않고(변동성↑) 너무 안 빠진(위치↑) 저점이 반등.
2. 시간분할 다변량 — 과적합 없는 진짜 확률¶
상위 6변수로 로지스틱(앞60% 학습 → 뒤40% out-of-sample 테스트): - out-of-sample AUC = 0.766 (테스트 base 45.9%). 미래 데이터에서도 강함.
신호 개수별 REBOUND 확률 (out-of-sample)¶
| 좋은 신호 | REBOUND 확률 | n |
|---|---|---|
| 0/6 | 8.7% | 23 |
| 1/6 | 29.0% | 31 |
| 2/6 | 50.0% | 30 |
| 3/6 | 48.4% | 31 |
| 4/6 | 54.3% | 35 |
| 5/6 | 62.5% | 16 |
| 6/6 | 86.7% | 15 |
→ 단조 상승. 신호 쌓을수록 확률 명확히 오름. - 5+ 신호 → 74.2% (n=31) - 1- 신호 → 20.4% (n=54) = 반등 안 온다는 강신호 (회피/숏)
3. 동어반복 검증 — "얕게 빠진 종목" 아닌가?¶
신호가 조정폭(dd)과 묶였으면 "얕게 빠진 게 잘 반등"이라는 당연한 얘기. 검증:
| 신호 | vs 조정폭 상관 |
|---|---|
| gap_cum / pv_corr / ud_vol | ±0.06 이하 (독립) |
| mom_accel / vol_20 | -0.12 ~ -0.25 |
| price_pos_60 | +0.31 (다소 묶임) |
조정폭 분리 검증 (결정적): | | base | 신호5+ | 신호1- | |------|------|------|------| | 얕은 조정 | 53% | 77% | 24% | | 깊은 조정(-54%+) | 49% | 79% | 28% |
→ 깊게 빠진 종목도 저점 신호 켜지면 79% 반등. "얼마나 빠졌나"가 아니라 "저점에서 어떤 상태인가"가 진짜 신호. 동어반복 아님 입증.
4. PM 질문 직답 — "어떤 신호면 다시 상승하나"¶
저점에서 다음 6개를 카운트하라. 많을수록 반등 확률 ↑ (단조):
- 변동성 살아있음 (vol_20↑) — 죽은 저점 아님 (가장 강함, AUC 0.71)
- 가격 안 빠짐 (price_pos_60↑) — 얕은 조정/빠른 회복
- 갭 누적 (gap_cum↑) — 저점에서도 상방 갭
- 상승일 거래 우위 (ud_vol_ratio↑) — 오를 때 거래 > 내릴 때
- 모멘텀 가속 (mom_accel↑) — 하락 모멘텀 반전
- 가격-거래량 동행 (pv_corr↑) — 오를 때 거래 붙음
| 신호 수 | 행동 |
|---|---|
| 5~6개 | 반등 74~87% → 재매집 후보, 분할 진입 |
| 2~4개 | 50% 내외 → 관망, 추가신호 대기 |
| 0~1개 | 반등 9~20% → 회피 (반등 안 옴) |
5. 한계¶
- AUC 0.766은 강하나 완벽 아님. 6신호 다 켜져도 13%는 안 옴. 손절 동반 필수.
- 저점 확인 후에야 측정. 저점-10~+20일 창이라 실전에선 저점 형성 확인 필요(반등 초입 일부 놓침).
- 시간분할 1회. 테스트셋 181건. 더 견고히 하려면 롤링 워크포워드 필요(다음 과제).
- 인과 아님: 신호는 반등의 동반/선행 상관. 진짜 원인(재료 재점화·테마 부활)은 별도. 신호는 "반등 환경이 조성됐나"를 볼 뿐.
- 생존편향: 현재 상장 유니버스. 상폐 제외로 REBOUND율 다소 낙관.
산출물 (data/backtest/precede_v3y/)¶
rebound_model.parquet— 조정 452이벤트 + 저점 15변수 + REBOUND 라벨- 스크립트:
rebound_model.py