콘텐츠로 이동

조정 후 "다시 상승할 신호" — 결합으로 확률 높이기

  • 작성일: 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개를 카운트하라. 많을수록 반등 확률 ↑ (단조):

  1. 변동성 살아있음 (vol_20↑) — 죽은 저점 아님 (가장 강함, AUC 0.71)
  2. 가격 안 빠짐 (price_pos_60↑) — 얕은 조정/빠른 회복
  3. 갭 누적 (gap_cum↑) — 저점에서도 상방 갭
  4. 상승일 거래 우위 (ud_vol_ratio↑) — 오를 때 거래 > 내릴 때
  5. 모멘텀 가속 (mom_accel↑) — 하락 모멘텀 반전
  6. 가격-거래량 동행 (pv_corr↑) — 오를 때 거래 붙음
신호 수 행동
5~6개 반등 74~87% → 재매집 후보, 분할 진입
2~4개 50% 내외 → 관망, 추가신호 대기
0~1개 반등 9~20% → 회피 (반등 안 옴)

5. 한계

  1. AUC 0.766은 강하나 완벽 아님. 6신호 다 켜져도 13%는 안 옴. 손절 동반 필수.
  2. 저점 확인 후에야 측정. 저점-10~+20일 창이라 실전에선 저점 형성 확인 필요(반등 초입 일부 놓침).
  3. 시간분할 1회. 테스트셋 181건. 더 견고히 하려면 롤링 워크포워드 필요(다음 과제).
  4. 인과 아님: 신호는 반등의 동반/선행 상관. 진짜 원인(재료 재점화·테마 부활)은 별도. 신호는 "반등 환경이 조성됐나"를 볼 뿐.
  5. 생존편향: 현재 상장 유니버스. 상폐 제외로 REBOUND율 다소 낙관.

산출물 (data/backtest/precede_v3y/)

  • rebound_model.parquet — 조정 452이벤트 + 저점 15변수 + REBOUND 라벨
  • 스크립트: rebound_model.py