모델 · 피처 · 시나리오 총정리 (2026-11-09 기준)
지금까지 이 프로젝트에서 시도한 규칙·모델·필터·시나리오 분석을 한곳에 모은 문서다. 숫자는 모두 아래 근거 파일에 있는 값만 옮겼다. 새로 계산한 숫자는 없다.
근거 파일 표기
- out/... = ~\Desktop\TradingModeling\out\... 의 리포트
- mem/... = `~.claude\projects(프로젝트) 의 메모
숫자를 읽기 전에 알아 둘 세 가지 기준. 같은 규칙이어도 기준에 따라 성과가 크게 다르다.
| 기준 | 뜻 | 편향 |
|---|---|---|
| ① 오늘 유니버스 | 지금 시총 상위 KRX200 + S&P500 200 종목의 과거로 백테스트 | 생존 편향이 있어 낙관적이다. 9~10월 리포트 대부분이 이 기준이다 |
| ② 시점 기준(PIT) | 그 해 직전 1년 거래대금 상위 200+200. 한국은 상장폐지 종목 포함, 미국은 현재 상장 종목만. 현실 비용, 1틱 관통 체결, 정수 주식 | 더 현실적이다. 미국 쪽 생존 편향은 남아 있다 |
| ③ 고친 데이터 | ② 기준에 r50_audit.repair() 를 적용한 것(분할 조정이 깨진 봉 정리) |
현재 기준이다. out/realistic/OVERFIT.md, CHECK.md, DATA_AUDIT.md 6절이 여기에 해당한다 |
orig_*.md 파일은 ② 기준 원본 데이터 결과다. UPGRADE.md 는 orig_UPGRADE.md 와 내용이 완전히 같고, LEG4.md 도 원본 데이터 결과다. 두 리포트 모두 고친 데이터로 다시 돌리지 않았다.
1. 한눈에 보기
판정 기준: 채택(실전 페이퍼 규칙에 들어감) · 그림자(별도 페이퍼 계좌로 비교 중) · 옵션(코드는 있으나 기본값은 꺼짐) · 연구중 · 폐기 · 대체됨
| # | 모델 / 접근 | 목적 | 입력 (피처/임베딩) | 라벨 | 검증 방식 | 핵심 결과 | 판정 | 근거 |
|---|---|---|---|---|---|---|---|---|
| A | 규칙 · 필터 | |||||||
| A1 | RSI 다이버전스 분할매수 (default/conservative) |
초기 규칙 베이스라인 (Pine 포트) | 가격, RSI, 다이버전스, 이평선 | 트레이드 손익 | 393종목, 2021-09~2026-09, ① 기준, 종가 체결 | default 1,684건, 승률 86.6%, PF 7.4, 기대 +6.4%/건. 손실은 4차 물타기(21%, 승률 49%, 최악 -52%)에 몰림. 풀링 계좌(10~20슬롯) CAGR 6~10%, MDD 6~18%. 같은 기간 KOSPI +158.8%, S&P +94.5% | 대체됨 (RSI50 규칙으로) | out/validate/REPORT.md §1·4 |
| A2 | 눌림목 pullback_only / rsi_ma |
RSI + 이평선 눌림목 매수 | 같음 | 같음 | 같음 | pullback_only PF 0.98, 기대 -0.04% (에지 없음). rsi_ma PF 1.83 | 폐기 | out/validate/REPORT.md §1·결론 |
| A3 | RSI50 회귀 + 분할매수 시나리오 그리드 | "RSI<30 이후 결국 50으로 돌아온다" 가설 검증과 분할·손절·익절 조합 선택 | RSI(14), 가격 | RSI50 회복 여부, 회복 시 손익, 추가 하락 | 일봉 5년, KRX 1,447 / US 1,597 에피소드, ① 기준 | RSI50 회복 KRX 99.6%, US 98.2%. 그러나 회복 시 가격이 1차 매수가보다 높은 건 73.8% / 72.2%뿐. 최적 조합(4레그, 8% 간격, 피라미드 1:2:3:4, 마지막 레그 -10% 손절, RSI50 익절): 승률 90%, PF 10.7, +7.2%, 최악 -35% (무손절이면 최악 -57%) | 채택 (현 실전 규칙의 뼈대) | out/rsi50/REPORT.md 종합 결론 |
| A4 | 코인 4h RSI50 (crypto 프리셋) |
같은 규칙을 코인에 적용 | 같음 | 같음 | 20코인, 4.5년, 1,692 에피소드 | 회복 100%, 회복 시 가격이 진입가 위 63.2%. 4레그·8%·피라미드·-15% 손절: 승률 83.4%, PF 5.9, +3.7%. 1차 풀시드 기준 선물 청산 확률: 5x 14%, 10x 34%. 계좌 CAGR 12.2%, MDD -27.6%, 샤프 0.69 (주식 1.55) | 채택 (페이퍼, 비중 작게) | out/rsi50_crypto/REPORT.md, out/r50_live/REPORT.md §2, mem/rsi50-scenarios.md |
| A5 | RSI50 실전 규칙: 지정가 체결 (stock 프리셋) |
봉 마감 뒤 RSI30 가격에 진입 지정가, RSI50 가격에 익절 지정가 | 같음 | — | 393종목, 2021-09~2026-09, ① 기준 | 1억·10슬롯: CAGR 9.48%, MDD -6.02%, 샤프 1.55 (종가 체결은 5.03% / -11.52% / 0.78). 바른 유니버스(유니버스 버그 수정 후)로 2021~ 다시 돌리면 4.6%, MDD -7.3% | 채택 | out/r50_live/REPORT.md §2·결론, mem/r50-live.md |
| A6 | 시간손절 60일 | 오래 물린 트레이드 정리 | 보유 일수 | — | ① 기준 계좌 | 주식 CAGR 9.5→8.6% (손해라 끔). 코인은 한 번도 발동 안 함(켜 둠). 시점 기준 원본: 2007~16 3.14% vs 3.13%, 2017~ 0.58% vs 0.88% | 주식 폐기 / 코인 채택 | out/r50_live/REPORT.md 결론 3, out/realistic/LEG4.md |
| A7 | 거래정지 이력 필터 (halt_filter) |
정지 후 재개 폭락이나 정리매매 종목 피하기 | 진입 전 250봉 안 거래량 0 봉 5개 이상, 또는 달력 14일 이상 공백 | — | ② 기준 | 10일 기준(추석 휴장 버그 있음): 2007~ CAGR 0.56→2.33%, MDD -55.6→-31.9%. 14일 기준으로 고친 뒤: 2007~ CAGR -0.3→2.0%, MDD -51→-36% | 채택 (11-07 실행부터) | out/audit/REPORT.md §F와 정정 메모, mem/r50-audit.md |
| A8 | 1년 고점 -50%↓ 종목 제외 (dd_skip_pct=50) |
버블 붕괴·상폐 직전 종목 피하기 | 종가 / 1년 최고가 | — | ③ 기준, 고르는 구간 2007~16 / 확인 구간 2017~, PBO, DSR, SPA, 무작위 대조, 워크포워드 | 전 구간 CAGR 1.94→5.49%, MDD -35.15→-21.1%, 샤프 0.22→0.62. 2007~16: 6.11%, 2017~: 4.87%. 무작위로 같은 비율을 빼면 중앙 2.35% (p<0.005) | 채택 (11-07 실행부터). 기대치는 연 3~5% | out/realistic/OVERFIT.md, CHECK.md, DATA_AUDIT.md §6 |
| A9 | 회사당 1종목 (issuer gate) |
GOOG와 GOOGL, 보통주와 우선주 동시 보유 막기 | 발행사 | — | 규칙 점검 | 성과 수치 없음 (중복 노출 제거 목적) | 채택 | mem/crash-2026-11.md |
| A10 | 4차 손실 줄이기 변형 12개 | 4레그 손실 축소 (3분할, 균등 비중, 손절 -5/-15%, 간격 10/12%, ATR×2, 시간손절) | 규칙 파라미터 | — | ② 기준 원본 데이터, 2007~16에서 고르고 2017~에서 확인 | 두 구간 모두 현재 규칙을 이긴 변형 없음. 간격 12%는 2017~에서만 4.76%(현재 0.88%)이고 2007~16은 0.50%(현재 3.13%) | 폐기 | out/realistic/LEG4.md |
| A11 | 시장·종목 상태 필터 (폭락일 3·4차 생략, 지수 200일선, 종목 200일선, 6개월 상대강도) | 덜 사서 헤지하기 | 지수/종목 이평, 시장 폭 | — | ③ 기준 | 전 구간 CAGR: 폭락일 3·4차 생략 0.97%, 지수 200일선 아래면 3·4차 생략 0.73%, 종목 200일선 위에서만 1.92% (MDD -16.76%로 개선), 상대강도 2.06%. 기준(필터 없음)은 1.94% | 폐기 (MDD만 줄고 CAGR 그대로이거나 나빠짐) | out/realistic/OVERFIT.md |
| A12 | 분할 간격 ATR×2 (spacing_atr=2) |
봉 변동성에 맞춘 간격 | ATR(14) | — | 봉별 격자, 오늘 유니버스 계좌, ② 기준, 몬테카를로 | 격자: ATR×1.5~2가 모든 봉에서 승률 82~86%로 가장 일관됨. 오늘 유니버스(ETF 제거 후): 2017~20 CAGR 3.4 vs 3.1%, 2021~ 7.3 vs 5.4%. ② 기준 원본에서는 2007~16 -0.56% vs 현재 3.13%, 2017~ 1.44% vs 0.88%. 몬테카를로에서 2021~ 67.7%, 2007~ 52.9% 시나리오에서 이김 | 그림자 (r50_stock_atr.db) |
out/spacing/REPORT.md, ACCOUNT.md, out/realistic/LEG4.md, out/montecarlo/REPORT.md, mem/r50-ai.md |
| A13 | 한 칸 간격 상한 (spacing_max_pct) |
4차가 -55%까지 내려가는 문제 | ATR 간격 % | — | 오늘 유니버스 계좌 | 10% 상한: 2017~20 2.2% (ATR×2 1.6%), 2021~ 5.2% (ATR×2 6.4%). 결과가 구간마다 엇갈림 | 폐기 (상한 없이 유지) | out/spacing/RULE_CHECK.md |
| A14 | 개별 종목 모멘텀 12-1개월 (두 번째 전략) | RSI50과 상관 낮은 전략 추가 | 12-1개월 수익, 200일선, 시장 필터 | — | ③ 기준, PBO | 5종목·필터 켬: CAGR 8.85%, MDD -64.35%. 10종목·필터 켬: 8.89%, -47.37%. PBO 66.3% (고르기가 동전 수준). 월 수익 상관 0.13 (원본) | 연구중 (그림자 CLI는 있으나 운용 db 없음, 사용자 승인 필요) | out/realistic/OVERFIT.md, UPGRADE.md, src/rsidiv/momentum.py |
| B | ML · 신경망 | |||||||
| B1 | ML 게이트: logreg / gbm / lgbm (다이버전스 트레이드) | 진입할 트레이드 거르기 | 트레이드 시점 피처. 중요 피처는 시장 폭(20>60MA 비율, RSI<30 비율), 거래량 비율, 지수 RSI | 승리(win) / 강한 승리(strong) | 트레이드 단위 워크포워드 5폴드, OOS 2022-06~ | default OOS AUC 0.595~0.609 (모델 3종 비슷). logreg·win 상위 30%: 승률 91.7%, PF 13.8, +8.6%. 계좌(10슬롯)는 게이트 없음 9.52% vs 상위 30% 8.53%: 슬롯이 늘 차 있어서 게이트는 총수익이 아니라 승률·PF·MDD를 개선함 | 대체됨 (A1과 함께) | out/validate/REPORT.md §2·4 |
| B2 | RSI50 진입 품질: deep / loss(bad) 게이트 |
추가 -20% 하락 위험 거르기 | GATE_FEATURES 18개 (§2) |
deep = 1차가 대비 추가 -20%↓, loss = RSI50 회귀 시점에 손실 | 에피소드·트레이드 워크포워드 OOS | deep AUC 0.665 (r50 트레이드에서 0.670), loss AUC 0.544 (0.588). deep keep 70%: 계좌 MDD -6.0→-4.1%, 샤프 1.55→1.72, CAGR 10.0→8.0%. 코인 deep 0.601, bad 0.542, 계좌 개선 없음 | 옵션 (기본 끔) | out/rsi50/REPORT_model.md, out/r50_live/REPORT.md §3·5 |
| B3 | r50 확률 모델 (LightGBM, 27 피처) | 승리, 손절, 4레그 도달, -20% 하락 확률 | 가격·RSI·이평 국면 피처 27개 | P_win, P_stop, P_leg4, P_deep20 | 워크포워드 (주식 검증 2022-05~) | 주식 P_win AUC 0.614인데 Brier skill -4.0% (쓸모 없음). P_stop 0.807, P_leg4 0.722, P_deep20 0.705 (skill 약 +4.3%). 계좌에서 P_stop 상위 10~20% 건너뛰기: CAGR 2.67% 그대로. 코인은 4개 목표 모두 skill 음수 | 연구 (미적용) | out/research/REPORT_r50_prob.md §6, r50p_gate_account.csv |
| B4 | r50ai v3 (신경망 진입 우선순위) | 계좌 결정만 맡김: ① 점수가 tau 아래면 주문 안 함 ② 같은 날 점수순 ③ 하루 신규 k개 | GATE_FEATURES 18 + 상폐 위험 5 + 시장 폭 3 + is_us = 27개 |
트레이드 결과의 효용 (이익은 그대로, 손실은 1.5배, ±40 클립), Huber 손실 | 학습 ~2016, 검증 2017~20 (tau·k 선택), 시험 2021~ 1회 평가. MLP 64-32, 시드 5개. ① 기준 | 시험 순위상관 0.474 (LGBM 0.451). 2021~ 계좌: 규칙 총 +34.1%, CAGR 5.2%, MDD -7.3%, 샤프 0.81 → AI(하위 20% 제외, 하루 1개) +46.6%, 6.8%, MDD -11.4%, 0.90. 몬테카를로 74.9% 시나리오에서 이김. 2024년은 AI -1.8% (규칙 -0.5%) | 그림자 (r50_stock_ai.db, tau 0.21, k 1) |
out/r50_ai/REPORT.md, REPLAY.md, out/montecarlo/REPORT.md, src/rsidiv/r50ai.py |
| B5 | r50ai의 LightGBM 버전 | B4 비교 | 같음 | 같음 | 같음 | 우선순위만 쓰면 CAGR 4.7% (규칙 5.2%보다 낮음). 검증에서 고른 설정은 5.7%, MDD -9.6% | 미채택 | out/r50_ai/REPORT.md |
| B6 | 멀티팩터 MLP / LGBM / logreg | 20봉 상대수익으로 종목 고르기 | 가격 흐름 + 시장 + 시총 + 재무 8개. 날짜별 시장 내 순위로 변환 | 20봉 뒤 수익이 같은 날 같은 시장 중앙값보다 높은지 | 워크포워드 시험 2023~2026, 30일 엠바고 | 주식 AUC 0.494~0.522, IC -0.002~0.044 (거의 동전). 코인 AUC 0.578~0.590, IC 0.153~0.183 (logreg 최고). RSI<30 후보 안 MLP 상위 1/3: 20봉 평균 +4.87% vs 하위 +2.53%, 이익 비율 63% vs 61% | 주식 폐기 / 코인 상대강도는 연구중 | out/nn/REPORT.md |
| B7 | 슬롯 우선순위 (멀티팩터 점수) | 슬롯이 모자랄 때 진입 순서 정하기 | B6 점수 | — | 2023~, 무작위 순서 50회와 비교 | 10슬롯: 종목명순 8.41%, LGBM 9.80% (96백분위), MLP 8.50%. 20슬롯: 종목명순 6.93%, MLP 8.83% (100백분위). 역순 5.48%. 이기는 모델이 슬롯 수에 따라 바뀜 | 폐기 (r50ai로 흡수) | out/nn/REPORT_slots.md |
| B8 | 횡단면 순위 신경망 (ridge, lgbm, LSTM, MLP, PatchTST, TCN, 앙상블) + 2차 점검 | 5~42봉 순위 예측 | 가격 시퀀스(L=64) 등 | 미래 수익 순위 | 확장 윈도우 4폴드, 라벨 셔플 대조군, Newey-West t, DSR | 주식 RankIC 0.008~0.023, 비용 뒤 롱숏 전부 음수. 코인 RankIC 0.064~0.085 (실재, t 8~9)인데 대부분 저변동성 팩터(변동성 중립화하면 0.03~0.04). 206개 설정 중 최고도 DSR 0.59. R50 점수 상위 1/3 +2.4%p는 ret5·RSI 낙폭·ATR을 통제하면 계수 -0.07 (t -0.4) | 폐기 | out/research/REPORT.md §2, REPORT_nn2.md 결론 |
| B9 | GNN 결정 모델 v1 (거시 34노드) | 신호마다 "안 들어감 / 분할 방식 6가지" 중 선택 | 종목 노드 + 거시 34노드 × 8 피처 + 학습 가능한 노드 ID 임베딩 + 60일 상관 엣지(어텐션 바이어스) | 행동별 반사실 수익 | 학습 ~2018, 검증 2019~2021-06, 시험 2021-07~, 시드 5 | 신호당: 현재 규칙 0.64%, LGBM 0.69±0.11, 그래프 없는 MLP 0.90±0.31, GNN 0.48±0.29, 앙상블 0.50 (90%를 안 들어감). 기여도: 종목 상태 0.39%p, 거시 노드·엣지 모두 0.05%p 이하 | 폐기 (배포 금지) | out/gnn/REPORT.md, mem/gnn-decision.md |
| B10 | GNN 결정 모델 v2 (대표본) | v1을 562,000 신호로 확장 (코인 15m~1d, KRX/US 1h·4h·1d, KRX 상폐 포함) | v1 + 시장 폭 | 효용 (손실 1.5배) | 학습 ~2021, 검증 2022~23, 시험 2024~ | 묶음 평균 효용: 현재 규칙 -0.159, LGBM 선택 -0.259, MLP 선택 0.308 (시드 0.006±0.038), GNN 선택 0.123 (시드 0.066±0.014, 가장 안정). 10슬롯 계좌: 규칙 KRX 1d -4.0%/년, US 1d -4.5%. GNN 선택 KRX 1d -8.1%, US 1d -20.5%. 거시 기여 0.0008 이하, 종목 상태 0.100 | 폐기 (단, "신호당 평균 ≠ 계좌 성과" 발견이 B4로 이어짐) | out/gnn2/REPORT.md |
| B11 | 상장폐지 조기 경보 (LightGBM / logreg) | 12개월 안 실패형 폐지 예측 | 월말 스냅샷: 1년 거래정지일, 급락일(-14%↓), 코스닥, 60일 변동성, 거래대금 추세, 1,000원 미만, 수익률 | 12개월 안 실패형 폐지 | 학습 ~2016, 검증 2018~19, 시험 2021-01~2025-10 | 한국 AUC 0.799, 위험 상위 1%에 실제 폐지의 46.6% 포착 (적중 12.6%, 기저율 0.27%). RSI<30에서 위험 상위 10%를 빼면 평균 0.74→0.79%, -50%↓ 손실 6→2건. 코인 AUC 0.593 | 모델은 미적용. 피처는 r50ai 위험 피처와 A7 필터로 흡수 | out/delist/REPORT.md |
| B12 | 다음 날 -3% 폭락 예측 (로지스틱) | 11-05 폭락을 미리 알 수 있었나 | 전날 VIX, 20일 수익, 고점 거리, 변동성 | 다음 날 지수 -3%↓ | 학습 ~2017, 시험 2018~ | 미국 AUC 0.83 (변동성 군집 효과), 그러나 11-04 위험 0.81% (백분위 62.7). 한국 AUC 0.51 | 폐기 (예측 불가 판정) | out/crash/REPORT.md §③ |
| C | 기타 연구 | |||||||
| C1 | QAOA 양자 최적화 (월별 K종목 선택) | 솔버를 양자로 바꾸면 나아지나 | 모멘텀 상위 후보의 μ, Σ | — | 무노이즈와 노이즈 시뮬레이션, N=8~100 | 담금질(고전)이 정답과 같은 해를 ms 단위로 찾음. QAOA는 N=20에서 P(최적)=0.00177, 2큐비트 오류 3e-3이면 무작위 수준. μ̂의 다음 달 IC가 0 근처라서 성과는 솔버가 아니라 μ 추정에 달림 | 폐기 | out/research/REPORT_quantum2.md §0 |
| C2 | 봉 주기 비교 (15m/1h/4h/1d) | 어느 봉에서 RSI30→50이 돈이 되나 | 봉 통계 | — | 코인 2021~/2024~, 주식 1h 730일 | 코인 15m: 왕복 비용이 봉 σ의 0.43배, 기대 +0.03% (0.1% 관통 조건이면 -0.12%). 4h +2.59%, 1d +8.10%. 간격 격자에서도 코인 15m~1h는 어떤 간격이든 거의 0 | 코인 15m~1h 폐기. 주식 일봉과 코인 4h 유지 | out/research/REPORT_timeframe.md, out/spacing/REPORT.md |
| C3 | 종목 크기 효과 | 작은 종목이 해가 되나 | 20일 거래대금 5등급 | — | 91,063 신호, 2006~ | 미국은 클수록 승률 82.9→87.1%, -20%↓ 비율 4.1→2.1%. 한국은 거의 평평함. 큰 종목만 학습하면 큰 종목 시험에서 상위 1/3 평균 1.27→1.36~1.40% | 연구 (사용자 가설 부분 지지) | out/size/REPORT.md |
| C4 | RSI20 이탈 → 50 회복 확률 | 더 깊은 과매도 확인 | RSI | 회복 일수 (Kaplan-Meier) | 4h, 일봉, 주봉 | 코인 4h RSI<20 이후 7일 안 50 회복 85.0%, 30일 안 100%. 주식 일봉 RSI<20 이후 30일 안 50.7%, 90일 안 97.7% | 참고 | out/rsi20/REPORT.md |
2. 피처 · 임베딩 정리
| 표현 | 구체적 내용 | 쓴 곳 | 신호가 있었나 | 근거 |
|---|---|---|---|---|
종목 가격·RSI 상태 (GATE_FEATURES 18개) |
rsi, rsi_drop5/10, rsi_min10, dist_ma20/60/200, ma20_gt60, ma60_slope20, ma200_slope20, atr_pct, ret5/20/60, dd_from_high60, bench_rsi, bench_ret20, bench_dd60 | B2, B4, B6(PRICE), B9·B10(종목 노드) | 꼬리 위험 예측에만 있음. deep AUC 0.665 (상위 피처는 atr_pct, bench_rsi, bench_dd60, ret60). 방향 예측은 0.544로 약함. GNN에서 의미 있는 기여는 이 묶음뿐 (v1 0.39%p, v2 0.100). B8 2차 점검에서는 R50 점수가 결국 ret5·RSI 낙폭·ATR을 다시 찾아낸 것으로 나옴 | out/rsi50/REPORT_model.md, out/gnn/REPORT.md, out/gnn2/REPORT.md, out/research/REPORT_nn2.md |
| 시장 폭 (breadth) | 20>60MA 종목 비율, RSI<30 비율 (validate). breadth30, breadth35, breadth35_5 (r50ai). 같은 봉 신호 수 (GNN v2) | B1, B4, B10 | 있음. 다이버전스 게이트의 중요 피처 1~3위가 시장 폭과 지수 RSI다. "시장이 건강할 때 개별 종목 과매도"가 먹힌다. r50ai는 거시 대신 이것을 씀 | out/validate/REPORT.md 결론 3, out/r50_ai/REPORT.md 한계 |
| 지수 상태 | bench_rsi, bench_ret20, bench_dd60 | B2, B4, B6(MARKET) | 꼬리 위험에는 있음 (B2 중요 피처). 멀티팩터 순위 예측에서는 0.27%p로 작음 | out/rsi50/REPORT_model.md, out/nn/REPORT.md |
| 상장폐지 위험·유동성 | zero_vol250(1년 거래정지일), crash_days250(급락일), log_tv20, tv_trend, penny, kosdaq | B11, B4 | 있음 (한국). AUC 0.799. 순열 중요도는 거래정지일 0.028, 급락일 0.022, 코스닥 0.019. 코인은 0.593으로 약함 | out/delist/REPORT.md |
| 1년 고점 대비 낙폭 (규칙 필터) | 종가 / 252봉 최고가 | A8 | 있음. 고친 데이터에서 문턱 40~70% 모두 필터 없는 규칙보다 나음 (3.91~5.65% vs 1.94%) | out/realistic/OVERFIT.md |
| 시가총액 | log_mcap (시점 발행주식수 × 종가) | B6 | 없음. 순열 중요도 -0.13 | out/nn/REPORT.md |
| 재무제표 | ey, bm, sy, roe, opm, lev, rev_g, asset_g (야후 연간 FY2022~, 공시 지연 90일 가정) | B6 | 약함. AUC +0.44%p. 미국 MLP만 AUC 0.522, IC 0.041 (t 3.7) | out/nn/REPORT.md |
| 상대강도 / 모멘텀 | 12-1개월 수익, 6개월 상대강도, 코인 가격 흐름 순위 | A11, A14, B6 | 코인 순위 예측에는 있음 (IC 0.15~0.18). 다만 대부분 저변동성 팩터이고 모델 없이 vol60 5분위로도 비슷함. 주식 모멘텀은 PBO 66%로 신뢰 불가. RSI50 필터로 쓰면 CAGR 2.06% (효과 없음) | out/nn/REPORT.md, out/research/REPORT_nn2.md, out/realistic/OVERFIT.md |
| 변동성 (vol60, ATR) | 60일 변동성, ATR% | B8, A12 | 순위 모델이 결국 학습한 것: 코인은 저변동성 쪽(점수와 vol60 순위상관 -0.47~-0.73), 주식은 고변동성 베타(vol60 상위 5분위 단독 샤프 1.40). 분할 간격의 스케일로는 유용 (A12) | out/research/REPORT_nn2.md |
| 거시 그래프 임베딩 | 노드 34개: 지수 10, 환율 5, 원자재 4, 금리·채권·신용 10, VIX·GPR·GPR_THREAT·EPU 4, BTC 1. 노드마다 8 피처(d1, d5, d20, d60, vol20, z250, rsi14, dd250). 학습 가능한 노드 ID 임베딩(H=64). 60일 상관 엣지 → [E, |E|, I] → 헤드별 어텐션 바이어스. 종목↔거시 상관 | B9, B10 | 없음. v1 묶음별 기여 -0.02~0.05%p, 상관 엣지 0.00. v2는 0.0008 이하이고 대부분 음수. 해석: 20년간 독립된 거시 국면 관측이 적어 과적합 | src/rsidiv/macro.py, examples/gnn_decision.py, out/gnn/REPORT.md, out/gnn2/REPORT.md |
| 원시 가격 시퀀스 | L=64 시퀀스 (LSTM, TCN, PatchTST) | B8 | 주식은 ridge(RankIC 0.023)를 못 이김. 코인은 ens 0.0845 vs lgbm 0.0775로 비슷함. 손실 함수(IC/pairwise/MSE/ListNet) 차이는 시드 노이즈 수준 | out/research/REPORT.md, REPORT_nn2.md |
| 날짜별 횡단면 순위 변환 | 피처를 같은 날·같은 시장 안 순위로 | B6 | 표현 방식이라 단독 효과는 측정하지 않음 | out/nn/REPORT.md |
정리: 돈이 된 신호는 ① 꼬리 위험(변동성, 약한 지수, 거래정지·급락 이력, 1년 고점 대비 붕괴)과 ② 시장 폭이었다. "어느 진입이 이길지" 방향 예측, 시총, 거시 그래프는 일관되게 0에 가까웠다.
3. 모델 선정 결론
3.1 지금 돌아가는 것 (모두 페이퍼, 실제 돈 아님)
| 계좌 | 규칙 | 시작 | 근거 |
|---|---|---|---|
r50_stock.db (본 계좌) |
stock 프리셋: 4레그, 8% 간격, 피라미드 1:2:3:4, 마지막 레그 -10% 하드손절, RSI50 익절, 지정가 체결(진입 밴드 5%, touch_buffer 0.1%), 거래정지 이력 필터, 1년 고점 -50%↓ 제외, 회사당 1종목, 10슬롯. 미리 걸어 둔 주문만 체결로 인정 |
2026-09-27. 필터 두 개는 11-07 실행부터 | src/rsidiv/r50.py R50_PRESETS, mem/r50-live.md, mem/r50-audit.md |
r50_crypto.db |
crypto 프리셋: -15% 손절, 60일 시간손절, 지정가 |
2026-09-27 | 같음 |
r50_stock_ai.db (그림자) |
본 규칙 + r50ai (tau 0.21, 하루 1개) | 2026-10-29 | out/r50_ai/REPORT.md |
r50_stock_atr.db (그림자) |
본 규칙 + spacing_atr=2 | 2026-10-29 | mem/r50-ai.md |
왜 이 규칙인가
- RSI<30 이후 50 회귀는 실재한다 (KRX 99.6%, US 98.2%). 에지는 예측이 아니라 회귀 + 간격·손절 관리에서 나온다 (out/rsi50/REPORT.md).
- 지정가 체결은 하루 한 번 스케줄러로 그대로 집행할 수 있고, 같은 조건에서 종가 체결보다 계좌 성과가 좋았다 (out/r50_live/REPORT.md).
- 고친 데이터 기준으로 필터 없는 규칙은 1.94%다. DSR(N=15)은 39.8%로 운과 구별되지 않는다. 우위의 대부분은 1년 고점 -50% 필터에서 온다: DSR(N=15) 94.1%, 무작위 대조 p<0.005, 경로 MC 75.3%에서 이김 (out/realistic/OVERFIT.md, CHECK.md).
- AI와 ATR은 오늘 유니버스에서는 나아 보이지만 MDD가 커지거나(AI -7.3→-11.4%) 시점 기준 결과가 엇갈려서(ATR 2007~16 -0.56% vs 3.13%) 본 계좌를 건드리지 않고 그림자로 비교한다.
페이퍼 현황 (11-06 기준): 본 계좌 청산 3건 모두 이익(+9.0, +9.5, +2.5%), AI 그림자 체결 0, ATR 그림자 청산 1 (+8.1%) (mem/crash-2026-11.md). 매매일지와 엔진 재실행을 대조한 25건이 모두 일치했다 (out/audit/REPORT.md §D). 실계좌는 없고, KIS 모의투자는 연결만 확인했다 (mem/rsidiv-gui.md).
3.2 버린 것과 이유
| 버린 것 | 이유 | 근거 |
|---|---|---|
눌림목 (pullback_only) |
PF 0.98, 에지 없음 | out/validate/REPORT.md |
| 다이버전스 + ML 게이트 | 에지는 있었지만 RSI50 규칙이 더 단순하고 실전 집행에 맞음. 슬롯이 늘 차 있어 게이트가 총수익을 못 올림 | out/validate/REPORT.md §4 |
| 멀티팩터 종목 고르기 (주식) | AUC 0.49~0.52, 연도별로 IC 부호가 뒤집힘 | out/nn/REPORT.md |
| 순위 신경망 (LSTM, TCN, PatchTST 등) | 비용 뒤 롱숏 음수, 코인 신호는 저변동성 팩터, DSR 0.59 이하 | out/research/REPORT_nn2.md |
| GNN v1, v2 | 현재 규칙이나 단순 모델을 못 이김, 거시 기여 0, 10슬롯 계좌에서 손실 | out/gnn/REPORT.md, out/gnn2/REPORT.md |
| 4차 손실 변형 12개 | 두 구간 모두 이긴 변형 없음 | out/realistic/LEG4.md |
| 시장 폭락일·지수 200일선 필터 | CAGR 개선 없거나 악화 | out/realistic/OVERFIT.md |
| 시간손절 (주식) | CAGR 9.5→8.6% | out/r50_live/REPORT.md |
| deep 게이트 (기본값) | MDD는 줄지만 CAGR 10.0→8.0% (옵션으로 남김) | out/r50_live/REPORT.md §5 |
| 코인 15m~1h, 선물 5배 이상 | 비용이 봉 변동을 먹음 / 청산 확률 14%(5x), 34%(10x) | out/research/REPORT_timeframe.md, out/rsi50_crypto/REPORT.md, mem/rsi50-scenarios.md |
| QAOA | 고전 솔버로 충분, μ 예측력이 병목 | out/research/REPORT_quantum2.md |
| 폭락 예측 | 한국 AUC 0.51, 미국도 11-04에는 경고 없음 | out/crash/REPORT.md |
4. 시나리오 분석 요약
4.1 같은 규칙, 기준만 바꾼 계좌 (1억, 10종목)
| 기준 | 구간 | CAGR | MDD | 근거 |
|---|---|---|---|---|
| ① 오늘 시총 유니버스, 엔진 비용 | 2007~ | 4.61% | -23.0% | out/audit/REPORT.md §A |
| ② 시점 기준(한국 폐지 포함), 엔진 비용 | 2007~ | 0.93% | -55.4% (한국만 -2.64%, -67.8%) | 같음 |
| ② + 현실 비용 | 2007~ | 0.56% | -55.6% | 같음 §B |
| ② + 현실 비용 + 정지 필터(14일), 원본 데이터 | 2007~ | 2.0% | -36.4% | 같음 정정 메모 |
| ③ 고친 데이터, 필터 없음 (정지 필터 포함) | 2007~ | 1.94% | -35.15% | out/realistic/OVERFIT.md |
| ③ 고친 데이터 + 1년 고점 -50% 필터 (현재 실전) | 2007~ | 5.49% | -21.1% | 같음 |
이전 리포트의 높은 숫자들은 ① 기준이다. validate의 CAGR 6~10%, r50_live의 9.3~9.5%, AI의 6.8% 등이 그렇다. 9월의 9.3%는 유니버스 버그(가나다순·알파벳순 200종목)를 고친 뒤 재현되지 않았다 (바른 유니버스 2021~ 4.6%). 10월 연구에서도 "현재 종목만" 8.00% 대 "폐지 포함" 1.17%로 같은 현상이 보였다 (out/research/r50p_timestop.csv, mem/r50-live.md).
4.2 몬테카를로 (① 오늘 유니버스, 1년, 규칙당 10,000 시나리오)
- 종목 80% 무작위, 진입 주문 10% 무작위 미체결.
- 기본 규칙, 2007~ 시작: 1년 중앙 +3.5%, 손실 확률 21.5%, 하위 5% -6.1%.
- 2021~ 시작: AI 그림자 중앙 +6.4%, 손실 확률 6.6%. 기본 규칙과 짝지어 비교하면 AI가 74.9% 시나리오에서 이김. ATR×2는 67.7% (2007~에서는 52.9%).
- 시작 연도 2008, 2019는 손실 확률 79.9%, 80.7%.
- 근거:
out/montecarlo/REPORT.md
4.3 왜 그런 수익이 나오나 (② 기준, 현실 비용, 1년 시나리오 10,000번)
- 1년 수익 ≈ 2.51 + 0.123×지수수익 + 0.220×평균투자비중 − 0.84×손절수 (R² 0.52).
- 손절 3회 이상인 시나리오가 9,438/10,000이고 이때 중앙 +1.2%. 0~2회면 +9.5~11.1%.
- 2007~ 익절 합 +456.6백만 vs 손절 합 -441.6백만. 손절이 수익을 거의 다 먹는다.
- 4레그까지 간 트레이드 429건: 승률 37.5%, 합계 -284.2백만. 평균 투자비중은 23%뿐이다.
- 근거:
out/audit/REPORT.md§E
4.4 비용 · 체결 민감도
- 비용 (②, 2007~): 엔진 0.93% → 현실 0.56% → 비관 -0.45% (
out/audit/REPORT.md§B). - 지정가 관통 조건, ③ 고친 데이터, 현재 실전 규칙 2007~ (
out/realistic/CHECK.md§C):
| 체결 조건 | 1틱 관통 | 2틱 | 0.2% | 0.5% |
|---|---|---|---|---|
| CAGR | 5.49% | 4.89% | 3.99% | 3.41% |
필터 없는 규칙은 0.5% 관통이면 2017~ 구간이 -1.43%가 된다.
- ① 기준(r50_live)에서도 buffer 0→0.5%면 CAGR 9.48→5.69%. 코인은 12.16→5.88%로 더 민감하다 (out/r50_live/REPORT.md §4).
- 지정가 체결 가정이 가장 큰 불확실성이다. 실계좌로만 검증할 수 있다.
4.5 무작위 거르기 대조 (③)
폭락 필터가 빼는 비율(18.8%)만큼 진입 후보를 무작위로 200번 뺐다. 중앙 CAGR 2.35%, 상위 5% 4.21%. 필터 규칙은 5.49%로, 무작위가 이만큼 번 비율은 0.0%다. 빈 슬롯 효과가 아니라 필터 자체의 효과다 (out/realistic/CHECK.md §A).
4.6 경로 몬테카를로 (③, 300개, 3년, 종목 80%, 후보 순서 무작위)
- 새 규칙(-50% 필터)이 CAGR로 이긴 경로 75.3% (차이 중앙 +1.98%p). MDD가 덜 깊은 경로 85.7%.
- 3년 손실 확률 31.7% → 7.3%. CAGR 하위 5%는 -3.93% → -0.81%.
- 2019년 시작(45.5%)과 2020년 시작(41.2%)에서는 짐.
- 근거:
out/realistic/CHECK.md§B
4.7 과적합 점검 (③, 변형 21개)
- PBO: RSI50 변형 15개 26.2%, 모멘텀 6개 66.3%, 전체 57.0%. 원본 데이터에서는 RSI50 16%였다.
- DSR (-50% 필터): 2007~ N=15 94.1%, N=100 84.8%, N=1000 69.7%. 2017~만 보면 N=15 81.0%, N=1000 56.0%. 필터 없는 규칙은 N=15에서 39.8%.
- SPA: p 0.112 (2007~), 0.211 (2017~). StepM이 확인한 변형 없음. 일별 평균 기준 5% 유의는 못 넘는다.
- 워크포워드 고르기 (2010~): 폭락 문턱을 매년 고르면(누적 창) 4.56%, 샤프 0.53, 대부분 -60%를 고름. 5년 창은 3.89%. 고정 -50%는 4.78%, 필터 없음 0.79%.
- 결론: 50~60% 폭락 필터의 효과는 실재한다. 정확히 50이라는 숫자에는 약간의 운이 섞여 있다. 기대치는 연 3~5%로 본다.
- 근거:
out/realistic/OVERFIT.md,mem/r50-audit.md
4.8 시장 · 상장폐지별 분해 (③, 시장마다 1억·10종목)
| 종목 | 구간 | 필터 없음 | -50% 필터 |
|---|---|---|---|
| 한국 전체 | 2007~16 | 6.87% | 5.96% (손해) |
| 한국 전체 | 2017~ | -0.81% | 3.19% (이득) |
| 한국, 폐지 종목 뺌 | 2007~16 | 4.71% | 3.70% (손해) |
| 미국 | 2007~16 | -0.21% | 1.34% |
| 미국 | 2017~ | 4.64% | 2.88% (손해) |
이득은 주로 한국 상장폐지·버블 붕괴 종목을 피하는 데서 온다. 미국은 폐지 종목 데이터가 없어 이 필터에 불리하게 편향돼 있다. 합친 계좌의 이득(1.94→5.49%)이 시장별 이득보다 커서 슬롯 경쟁 효과도 섞여 있다 (out/realistic/CHECK.md §D).
4.9 데이터 수리 (out/realistic/DATA_AUDIT.md)
- 한국 상장 (yfinance 조정가): 911종목 중 356종목에서 가격제한폭을 넘는 움직임 962번 (분할 조정 깨짐). 012170은 최악 점프 1,624.7%.
- 한국 폐지 (FDR 원가격): 429종목 중 356종목에서 1,377번. OHLC 모순 50,710봉, 0가격봉 58,276개. 상장 종목은 조정가, 폐지 종목은 원가격이라 조정 방식이 섞여 있다.
- 오염 거래: 필터 없는 규칙에서 2,573건 중 348건(13.5%), 손익 -50.9백만. 깨끗한 거래 평균 +4.6만, 오염 거래 평균 -14.6만.
- 고친 뒤 (1,963조각): 필터 없음 2007~16 2.81% / 2017~ 1.06%. -50% 필터 6.11% / 4.87% (원본은 5.79% / 5.88%). 폭락 필터 효과는 나쁜 데이터 탓이 아니다.
- 영향받는 리포트: OVERFIT.md와 CHECK.md는 고친 데이터로 다시 돌렸다. UPGRADE.md, LEG4.md, realistic 승률 화면 수치(5.83% 등)는 원본 기준이다.
4.10 폭락 케이스 (out/crash/REPORT.md)
- 지수가 5일 안에 -5% 넘게 빠진 뒤 나온 RSI<30 신호: 현재 규칙 승률 KRX 79.5%, US 80.7% (평상시 84.0%, 84.5%). 평균 수익은 더 크다 (KRX 1.33% vs 0.74%).
- 같은 상황에서 ATR×2 간격은 승률 86.2%, 90.5%이고 KRX 하위 5%가 -4.2%로 가장 좋다.
- 11-05 폭락은 가격·거시 지표로 예측할 수 없었다 (B12).
4.11 낙관적이었던 옛 숫자 목록
- validate 풀링 계좌 CAGR 6~10%: ① 기준, 종가 체결, 고정 환율 (
out/validate/REPORT.md). - r50_live 9.48% / 9.3%: ① 기준, 유니버스 버그 이전 (
out/r50_live/REPORT.md,mem/r50-live.md). - 멀티팩터 "상위 연환산 85%" 류: 생존 편향과 2025~26 한국 강세장 때문 (
out/nn/REPORT.md,mem/nn-multifactor.md). - UPGRADE의 5.83%, 모멘텀 11.71%: ② 원본 데이터.
- r50ai 6.8%, MC 6.4%: ① 기준이다. 시점 기준이나 고친 데이터로는 아직 평가하지 않았다.
5. 아직 안 풀린 의심 · 숙제
- 지정가 체결 현실성. 0.2% 관통만 요구해도 CAGR이 5.49→3.99%로 떨어진다. 대기 순번은 실계좌(KIS 모의 → 실계좌)에서만 확인할 수 있다.
live.KISBroker는 아직 검증되지 않은 스텁이다 (CHECK.md§C,mem/rsidiv-project.md). - 기본 규칙 자체의 우위가 불분명하다. 필터 없는 규칙은 DSR(N=15) 39.8%이고, 필터 버전도 SPA p 0.11로 5% 유의를 못 넘는다. DSR(N=1000)은 2017~ 구간에서 56%다 (
OVERFIT.md). - 미국 생존 편향. 미국은 폐지 종목 데이터가 없어 시점 기준도 낙관적이다. 미국 2017~ 구간에서 -50% 필터는 4.64→2.88%로 손해였다 (
CHECK.md§D). - r50ai는 오늘 유니버스로만 검증됐다. 시점 기준이나 고친 데이터로 다시 평가하지 않았다. MDD가 -7.3→-11.4%로 커졌고 2024년에는 규칙보다 나빴다. 그림자 계좌 체결은 11-06 기준 0건이다 (
out/r50_ai/REPORT.md,REPLAY.md). - ATR×2 결과가 기준마다 엇갈린다. 오늘 유니버스에서는 두 구간 모두 같거나 나았지만, ② 원본에서는 2007~16 -0.56% (현재 3.13%), ② 2007~ 감사에서는 -0.44% (현재 0.56%)다. 고친 데이터로는 아직 안 돌렸다 (
out/realistic/LEG4.md,out/audit/REPORT.md). - 4레그 손실이 그대로다. 4레그 트레이드 합계 -284.2백만. 고정 변형 12개는 모두 실패했다. 남은 후보는 시장 폭락일이나 AI 점수에 따라 3·4차를 생략하는 조건부 규칙이다 (
out/audit/REPORT.md§E,LEG4.md,mem/r50-audit.md). - UPGRADE.md와 LEG4.md는 고친 데이터로 다시 돌리지 않았다. UPGRADE.md는 orig_UPGRADE.md와 내용이 같다.
- 실시간 데이터 검사 장치가 없다. 실전 신호도 yfinance 한국 조정가를 쓰므로, 분할 조정이 깨진 종목은 RSI와 1년 고점 계산이 틀릴 수 있다 (
mem/r50-audit.md). - 필터 오탐. 한화(000880)는 인적분할 정지 때문에 2027-08까지 진입이 막힌다. 가격만으로는 정상 정지와 부실 정지를 구분할 수 없다. 관리종목이나 투자주의환기 지정 정보(KIS API)를 넣으면 개선될 것이다 (
mem/r50-audit.md,out/delist/REPORT.md한계). - 투자비중이 낮다. 평균 23%이고, 10슬롯에서 신호 57%를 버린다. 슬롯 수를 늘리는 변경은 시점 기준으로 검증하지 않았다 (
out/audit/REPORT.md§E,out/nn/REPORT_slots.md). - 페이퍼 표본이 부족하다. 백테스트와 비교하려면 청산이 30건 이상 쌓여야 하는데 11-06 기준으로 본 계좌 청산은 3건이다 (
out/research/REPORT.md§5,mem/crash-2026-11.md). - 코인 계좌. 계좌 MDD -27.6%, 샤프 0.69. GNN v2 시험(2024~)에서는 현재 규칙의 10슬롯 계좌가 모든 코인 봉에서 손실이었다 (
mem/gnn-decision.md). 코인 페이퍼 성과는 아직 정리되지 않았다. - 모멘텀 그림자. CLI 명령은 있지만 운용 db가 없다. PBO 66%라 설정을 믿을 수 없다. 돌리려면 사용자 승인이 필요하다.
- 미검증 아이디어:
- ret5를 직접 슬롯 우선순위로 쓰는 규칙 (
REPORT_nn2.md) - GNN 후속: 건너뛰기 대신 연속 비중 조절, 후회(regret) 가중 분류 (
mem/gnn-decision.md) - 큰 종목만으로 r50ai 재학습 (
out/size/REPORT.md)
- ret5를 직접 슬롯 우선순위로 쓰는 규칙 (
- 문서 간 불일치. 상장폐지 직전 거래정지 기간과 정리매매 낙폭이 메모(
mem/delist-risk.md)에는 "중앙 45거래일, -94%"로, 현재 리포트(out/delist/REPORT.md§2)에는 "중앙 3거래일, -98%"로 적혀 있다. 이 문서는 리포트 값을 따랐고, 원인은 확인하지 않았다. - 운영. 2026-11-06 폴더 이동 뒤 예약작업(rsidiv-r50-stock/crypto)의 경로를 고치려면 관리자 PowerShell이 필요하다고 기록돼 있다. 고쳤는지는 이 문서를 쓸 때 확인하지 않았다 (
mem/rsidiv-project.md).
추가 (2026-11-10) — 남은 숙제 일부 해결
| 항목 | 결과 | 근거 |
|---|---|---|
| r50ai 시점 기준 재검증 | 순위 맞히기는 진짜 (조합 정화 CV 15가지 IC 중앙 0.40, 전부 양수). 그러나 계좌에 쓰면 이득 없음: 하위 점수 거르기는 검증 구간에서 1.94% → -0.7~-2.5% 로 나빠짐, 우선순위로만 쓰면 2021~ 6.62 → 6.94% (샤프 0.79 → 0.69). 점수가 '이길지'보다 '얼마나 크게 움직일지'(변동성)를 맞힘 | out/r50_ai/PIT.md |
| 4레그 변형 (고친 데이터) | 두 구간 모두 현재보다 확실히 나은 변형 없음. 시간 손절 60일만 두 구간 모두 아주 조금 나음 (6.11→6.15, 4.87→5.19) — 잡음 수준 | out/realistic/LEG4.md |
| 업그레이드 비교 (고친 데이터) | 종목·시장 필터 추가는 모두 확인 구간에서 나빠짐. 모멘텀은 여전히 구간마다 1등이 바뀜 | out/realistic/UPGRADE.md |
| 승률 해부 | 금액가중 기대값 1.71% [0.89, 2.54]; 필터 없는 규칙 0.52% [-0.51, 1.54] | out/realistic/WINRATE.md |
| 처음 보는 5개 시장 | 기본 규칙 우위는 재현(금액가중 0.94% [0.15, 1.75]), -50% 필터 효과는 재현 안 됨 | out/oos/OOS.md |
| 케이스 스터디 | 위기 때 지수보다 훨씬 덜 빠짐(2008 -11% vs -35/-42%, 2022 +4.7% vs -23/-19%). 손절 손실 절반이 12개월에 몰림 | out/realistic/CASES.md |
| 체결 깊이 | 매수 체결의 9% 만 0.2% 미만으로 얕게 뚫음, 그 거래 손익 몫 4% | out/realistic/FILLS.md |
RSI50 연구 · 모의매매(페이퍼) 기록입니다. 투자 조언이 아니며 실제 매매 결과가 아닙니다. 마지막 갱신 2026-11-12 21:29