프로젝트 목록

PROJECT 02

시계열 딥러닝(LSTM)
퀀트 투자전략

규칙으로 정해둔 신호 대신, 시계열 자체에서 패턴을 학습하게 하면 어떨까. LSTM으로 매매 신호를 만들고 백테스팅으로 벤치마크와 위험조정 수익률을 비교했습니다. 제 첫 번째 데이터 프로젝트이자, 가장 오래 붙잡고 있었던 프로젝트입니다.

기간
2025.07 – 2025.08
(약 2개월)
구분
개인 프로젝트
기술
Python · Pandas
LSTM · 백테스팅
평가 지표
Sharpe Ratio
(위험조정 수익률)

01 배경

규칙을 정하는 대신 학습시켜 보기

전통적인 퀀트 전략은 사람이 규칙을 먼저 정합니다. 모멘텀이 몇 % 이상이면 매수, 이동평균이 교차하면 청산 — 규칙이 명확한 만큼 해석은 쉽지만, 그 규칙 밖의 패턴은 아예 보지 못합니다.

그래서 질문을 바꿔봤습니다. 규칙을 정해주는 대신, 시계열에서 직접 패턴을 학습하게 하면 어떨까. 순차 데이터에 강한 LSTM을 골라 매매 신호를 생성하고, 그 신호로 만든 전략이 단순한 벤치마크보다 정말 나은지를 확인하는 것이 목표였습니다.

중요한 것은 "수익률이 높은가"가 아니라 "같은 위험을 지고 더 벌었는가"였습니다. 그래서 평가 지표를 처음부터 Sharpe Ratio로 잡았습니다.

02 데이터 · 방법론

3주가 걸린 전처리

돌이켜보면 이 프로젝트에서 가장 많은 시간을 쓴 곳은 모델이 아니라 그 앞이었습니다. 전처리에만 3주가 걸렸습니다. 무엇을 먼저 확인해야 하는지 몰라서 같은 실수를 여러 번 반복했고, 그 기록이 다음 프로젝트에서 그대로 자산이 됐습니다.

시계열 데이터를 다룰 때 특히 조심해야 했던 것은 미래 정보의 누수였습니다. 학습 구간과 검증 구간을 시간 순서대로 분리하지 않으면 백테스팅 성과는 좋아 보이지만 실제로는 아무 의미가 없습니다. 이 점을 뒤늦게 발견하고 파이프라인을 다시 짠 경험이 이후 작업 습관을 크게 바꿨습니다.

기존 포트폴리오 PDF에서 옮겨올 내용

이 자리에 데이터·방법론의 구체적인 사양을 채워 넣으세요.

  • 데이터 출처와 대상 종목 (예: KRX 상장사 전체 / 특정 지수 구성종목)
  • 분석 기간 (시작 – 종료 연월)
  • 입력 피처 구성 (종가·거래량·기술적 지표 등)
  • 시퀀스 길이(window size)와 예측 대상(다음 N일 수익률 / 방향)
  • LSTM 레이어 구성, 학습/검증 분할 방식
  • 신호를 매매 규칙으로 바꾼 기준 (진입·청산·리밸런싱 주기)

03 결과

벤치마크와의 비교

LSTM 기반 전략과 비교 대상 전략들의 위험조정 수익률을 Sharpe Ratio로 나란히 놓고 평가했습니다.

기존 포트폴리오 PDF에서 옮겨올 내용

Sharpe Ratio 비교 표의 실제 수치를 여기에 넣으세요. 표 형식은 project-ews.html<table class="table"> 마크업을 그대로 재사용하면 됩니다.

  • 전략별 Sharpe Ratio (LSTM 전략 / Buy&Hold / 기타 벤치마크)
  • 누적 수익률 및 연환산 수익률
  • 최대 낙폭(MDD)
  • 승률 또는 거래 횟수
  • 비교 결과를 한 문장으로 요약한 결론

04 배운 점

첫 프로젝트가 남긴 것

  1. 모델보다 데이터가 먼저다. 전처리에 3주를 쓰고 나서야 모델 비교가 의미 있는 비교가 된다는 걸 알았습니다. 이후 모든 프로젝트에서 앞단에 더 많은 시간을 배분하게 됐습니다.
  2. 시계열에서는 순서가 곧 규칙이다. 미래 정보가 조금이라도 섞이면 성과 수치 전체를 믿을 수 없게 됩니다. 검증 설계를 먼저 짜고 모델을 붙이는 순서로 바꿨습니다.
  3. 학습 성능과 전략 성능은 다르다. 예측 정확도가 올라도 거래 비용과 진입·청산 규칙을 거치면 결과가 달라집니다. 지표를 하나만 보면 안 된다는 것을 여기서 배웠습니다.
  4. 막힌 지점을 기록해두면 다음이 빨라진다. 여기서 정리해둔 체크리스트 덕분에, 두 달 뒤 부실징후 탐지 프로젝트에서는 비슷한 규모의 전처리를 7일 만에 끝냈습니다.