Quant Trading Automation
전략을 새로 만드는 일보다, 그 전략에 우위가 있는지 검증하고 안전하게 켜고 끄고 기록하는 데 시간을 더 썼습니다. tqt가 검증과 실행을, Fleet이 운영 대시보드를 맡습니다.
프로젝트 흐름
먼저 흐름을 잡으면 이렇습니다.
질문
처음 잡은 문제
처음 문제의식은 단순했습니다. 전략이 맞는지 보기 전에, 그 전략을 안전하게 켜고 끄고 지켜볼 수 있어야 했습니다.
근거
확인한 자료
Fleet에서 브로커 인터페이스, 봇 상태, 설정값, 주문 이력, 로그를 한 흐름으로 묶고 FastAPI와 대시보드로 제어했습니다.
판단
생각이 정리된 부분
다음 질문은 ‘그래서 이 전략에 우위가 있는가’였습니다. tqt에서는 인샘플 성과 대신 walk-forward 아웃오브샘플로만 결과를 보고하도록 백테스트를 다시 설계했습니다.
범위
아직 선을 그은 부분
그 결과 가장 좋은 전략도 매수보유보다 CAGR이 낮다는 사실을 먼저 적게 됐습니다. 두 프로젝트 모두 페이퍼 트레이딩 단계이며 수익률을 주장하지 않습니다.
01 · 시작
처음 잡은 질문
매매 규칙을 서비스처럼 운영하려면 전략 코드 말고 무엇이 더 필요하고, 그 전략에 우위가 있다는 건 어떻게 확인할 수 있을까?
02 · 근거
제가 확인한 자료
03 · 전개
분석은 이렇게 진행했습니다
- 01
전략과 broker 로직 분리
거래소별 데이터와 주문 처리 차이를 분리하기 위해 브로커 추상화 계층을 설계했습니다.
- 02
상태와 이력의 가시화
봇 상태, 설정, 실행 이력과 운영 로그를 저장하고 FastAPI 서비스와 React 대시보드로 제어했습니다.
- 03
비용을 실측한 백테스트
추정 수수료 대신 계좌의 실제 요율을 API에서 읽어오고, 슬리피지와 익일 시가 체결을 반영해 비용 가정을 실제에 맞췄습니다.
- 04
아웃오브샘플 검증과 페이퍼 트레이딩
5년 학습 · 2년 검증 walk-forward로만 성과를 보고하고, 실제 호가창에 체결시키는 페이퍼 트레이딩으로 운영을 검증했습니다.
04 · 결론
숫자에서 읽은 것
walk-forward 아웃오브샘플에서 Faber 이동평균은 CAGR 7.36%, Sharpe 1.01, 최대낙폭 −14.1%였고 decay는 ×1.28이었습니다. 인샘플보다 성과가 낮아지지 않아 과최적화 흔적은 확인되지 않았습니다.
다만 매수보유가 CAGR로는 더 높습니다(8.94%). 전술적 배분이 사는 것은 수익률이 아니라 낙폭입니다. 최대낙폭 −20.1%가 −14.5%로 줄어듭니다.
토스 Open API는 1분봉을 약 4일치만 제공합니다. 인트라데이 전략은 백테스트 자체가 불가능해, 저빈도 일봉 전략은 취향이 아니라 제약에서 나온 선택입니다.
자동매매는 전략 개발뿐 아니라 운영 설계의 문제입니다. 상태 확인, 로그, 파라미터 관리, 킬 스위치, 복구 절차가 함께 있어야 켜둘 수 있습니다.
주장하지 않는 것
- 수익률과 승률을 주장하지 않습니다. 실자금 운용 이력이 없습니다.
- 전략에 우위가 있다고 말하지 않습니다. 가장 좋은 전략도 매수보유보다 CAGR이 낮았습니다.
- 실서비스 운영이라고 말하지 않습니다. 페이퍼 트레이딩 단계입니다.
05 · 적용
어디에 활용할 수 있나
수익률을 주장하는 대신, 어떤 조건에서 전략을 켤 수 있고 무엇을 보면 꺼야 하는지를 숫자와 운영 장치로 정리했습니다.
06 · 경계
아직 단정하지 않는 부분
- •두 프로젝트 모두 페이퍼 트레이딩 검증 단계이며 실자금 운용 이력이 없습니다.
- •백테스트 유니버스가 현재 상장된 종목으로 구성돼 생존 편향이 일부 남아 있습니다.
- •2022년에는 검증한 전략 대부분이 손실이었습니다. 주식과 장기채가 함께 빠지는 구간은 이 설계로 방어되지 않습니다.
- •장시간 가동, 주문 실패 처리, 재시작 시나리오는 별도 운영 기준으로 관리해야 합니다.
07 · 근거 화면
표와 그래프로 확인하기
운영 시스템 구조
원자료 확인전략, 브로커 추상화 계층, 실행 데이터, 제어 API와 모니터링의 연결을 보여줍니다. 구조가 구현되어 있다는 근거이며, 실거래 운영이나 수익률·승률·수익성을 증명하지 않습니다.
근거 · Current FastAPI/React architecture and portfolio codebase
모의투자 운영 범위
원자료 확인- 라이브 서버 모의투자모의
- 봇 상태·설정 제어구현
- 실행 이력·운영 로그구현
- 사람이 멈출 수 있는 제어 흐름구현
- Paper-trading 검증 전용 · 실거래 운영 및 수익 성과를 주장하지 않습니다.
현재 구현된 운영 기능만 간단히 정리했습니다. 이 표는 실거래 성과나 수익률을 보여주는 자료가 아닙니다.
근거 · Implemented controls in the current FastAPI/React project
walk-forward 아웃오브샘플 결과
보고서 근거| 전략 | 인샘플 CAGR | OOS CAGR | Sharpe | 최대낙폭 | Decay |
|---|---|---|---|---|---|
| Faber | 5.73% | 7.36% | 1.01 | -14.1% | ×1.28 |
| 듀얼 모멘텀 | 7.60% | 7.57% | 0.49 | -30.5% | ×1.00 |
| 매수보유 | 8.94% | 11.10% | 0.97 | -20.1% | ×1.24 |
인샘플이 아닌 아웃오브샘플 결과만 옮긴 표입니다. decay가 1.0 이상이면 검증 구간에서 성과가 무너지지 않았다는 뜻이며, 미래 수익을 보장하지 않습니다. 매수보유의 CAGR이 더 높다는 점도 그대로 남겼습니다.
근거 · tqt project · five-year train, two-year test · 2011–2026 daily bars