강화학습 퀀트 트레이딩 167편 논문 리뷰 — 백테스트와 실전의 간극
논문 167편이 말하지 않는 것
강화학습 퀀트 트레이딩 연구 167편을 정리한 서베이(arXiv:2408.10932)를 읽었습니다. 제가 확인하고 싶었던 건 하나였어요. "백테스트에서 작동하는 알고리즘이 실제 계좌에서도 수익을 내는가?" 결론부터 말하면, 간극은 여전히 컸습니다.
이 글은 논문들이 자주 생략하는 지점을 중심으로 씁니다. 백테스트와 실전의 차이, 슬리피지와 체제 전환 문제를 짚고, 그럼에도 쓸 만한 부분을 정리했어요.
제가 본 기준은 세 가지였습니다
저는 실무 적용 가능성을 중심으로 세 가지를 봤어요.
첫째, 거래비용 모델링입니다. 논문 대부분은 고정 수수료(0.1%)만 가정해요. 슬리피지는 언급조차 안 하거나 정적으로 처리합니다. 제가 국내 주식으로 테스트했을 때 슬리피지가 수수료보다 클 때가 많았어요. 장 초반엔 호가 스프레드가 넓어져서 평균 0.2%가 더 붙었습니다.
둘째, 시장 체제 전환이에요. 2020년 급등장 학습 모델이 2022년 하락장에서 무너지는 식입니다. 저도 2021년 데이터로 학습한 모델을 2023년에 돌렸다가 낭패를 봤어요. 금리 인상기에 성장주 비중이 높은 포트폌리오를 유지하더라고요.
셋째, 재현 가능성입니다. 보상 함수 디테일, 신경망 초기화, 종료 조건이 성능을 크게 바꾸는데 본문에 없습니다. 제가 한 논문의 PPO 세팅을 재현하려다 3주를 썼어요. learning rate 스케줄 하나가 빠져 있어서 수렴이 안 되더라고요.
백테스트 수익률 뒤에 숨은 함정을 따라가 봤습니다
일부 연구는 백테스트 샤프비율 2.0 이상을 보고해요. 한 연구는 S&P 500으로 2015~2020년 일봉을 썼습니다. 수수료 0.1%, 종가 리밸런싱으로 PPO를 학습시켰더니 연 18%, 샤프비율 2.3이 나왔다고 해요.
실전에선 종가 체결이 안 됩니다. 장중 주문 시 슬리피지가 붙어요. 제가 테스트했을 때 평균 0.15%가 더 들었습니다. 거래비용이 0.25%로 올라가자 샤프비율은 1.5로 떨어졌어요.
체제 전환 문제도 겹칩니다. 2020년까지 학습한 모델은 2021년 밈주식, 2022년 금리 인상을 못 봤어요. 테스트 기간을 2021~2023년으로 옮기니 수익률이 마이너스로 뒤집혔습니다.
RL 알고리즘별로 막히는 지점이 달랐어요
정책 경사(PPO·TRPO)는 연속 행동을 다룰 수 있어요. 포지션 비율을 0~100%로 조절하죠. 대신 학습이 불안정했습니다. 하이퍼파라미터에 민감해서 같은 데이터로 5번 돌리면 결과가 제각각이었어요. entropy coefficient를 0.01에서 0.001로 바꿨더니 수렴 속도가 3배 차이 났습니다.
논문 실험과 실계좌 사이엔 단계별 차이가 있습니다
논문은 주문을 내면 즉시 체결된다고 가정해요. 실전에선 주문 큐에서 대기하죠. 제가 국내 API로 테스트했을 때 주문부터 체결까지 평균 0.8초가 걸렸습니다. 변동성 큰 종목은 그사이 가격이 0.5% 움직였어요.
호가 스프레드는 논문이 자주 무시하는 비용이에요. 종가 거래를 가정하면 이 차이가 안 보입니다. 제가 장중 시장가 주문을 썼더니 매수는 호가창 위쪽, 매도는 아래쪽에 체결됐어요. 왕복 0.3%가 추가로 나갔습니다.
그래도 건질 만한 조각은 있었습니다
실무에서 도움이 된 부분도 있어요.
보상 함수 설계는 쓸 만했습니다. 논문들은 샤프비율, 낙폭 페널티, 거래 빈도를 복합한 함수를 제안해요. 저는 여기에 "연속 손실 감쇠" 항을 추가했습니다. 처음엔 손실 3회 연속이면 비중을 절반으로 줄이게 했어요. 너무 소극적이더라고요. 손실 5회로 바꾸고 감쇠 비율을 70%로 완화했더니 균형이 잡혔습니다. 수익률은 살짝 낮아졌지만 MDD가 40%에서 22%로 줄었어요.
state 표현도 참고했습니다. RSI·MACD 같은 기술 지표를 정규화해 넣으니 학습 수렴이 2배 빨라졌어요. 저는 처음에 원본 가격을 그대로 넣었거든요. 가격 범위가 종목마다 달라서 신경망이 헤맸습니다. 0~1 범위로 정규화하고 lookback window를 20일에서 60일로 늘렸더니 장기 추세를 더 잘 잡았어요.
transfer learning도 효과가 있었습니다. 미국 시장 데이터로 사전학습한 뒤 한국 시장으로 fine-tuning 하니 안정적이더라고요. 처음부터 한국 데이터만 쓸 땐 과적합이 심했거든요. 사전학습 덕분에 일반화가 나아졌어요.
논문을 읽다가 전략을 하나 버렸습니다
제가 2024년부터 DQN 페어 트레이딩 봇을 운영했어요. 백테스트(2020~2023, 수수료 0.1%)에서 연 12%가 나왔습니다. 실계좌에선 2024년 상반기 7%였어요. 슬리피지 차이였죠.
서베이를 읽다가 제 전략의 약점을 발견했어요. "다중 에이전트" 특성을 강조한 연구였죠. 제 봇은 가격 관계만 보고 학습했어요. 2024년 중반 수익률이 급락했어요. 비슷한 페어 거래 ETF가 상장되면서 스프레드 패턴이 깨진 겁니다. 제 봇은 기존 패턴을 기다렸지만 ETF가 먼저 차익을 잡아버렸어요. 그 봇은 중단했습니다.
대신 adversarial training을 적용한 전략을 준비 중이에요. 학습 시 적대 에이전트를 시뮬레이션에 넣는 방식입니다. 제 에이전트가 주문을 내면 상대 에이전트가 먼저 체결해서 가격을 불리하게 움직이도록 설정했어요. 백테스트에서 변동성이 30% 낮게 나왔어요. 아직 실계좌는 안 켰습니다. 3개월 더 지켜본 뒤 결정하려고요.
167편이 그린 지도, 제가 고른 길
이 서베이는 강화학습 퀀트 트레이딩의 현주소를 보여줍니다. 하지만 논문 백테스트와 실계좌 사이엔 여전히 간격이 있어요.
제가 가져간 건 세 가지입니다. 보상 함수 설계, transfer learning, 다중 에이전트 관점이에요. 수익률 숫자는 참고만 하고 직접 재현 테스트를 거쳤습니다.
앞으로도 서베이를 읽을 겁니다. 하지만 슬리피지 모델링, 체제 전환, 지연 처리를 논문이 어떻게 다뤘는지 먼저 확인하고, 없으면 채울 계획이에요. 강화학습이 퀀트 트레이딩을 완전히 바꿨다고 말하긴 이릅니다. 하지만 룰 기반 전략에 적응 능력을 더하는 도구로는 쓸모가 있어요.