자동매매는 정한 규칙을 빠르고 일관되게 실행할 수 있습니다. 하지만 데이터가 틀렸거나, 과거에만 맞춘 규칙이거나, 주문 오류를 발견하지 못하면 자동화는 문제를 더 빨리 반복할 수 있습니다.
시스템 트레이딩의 한계는 기계가 사람보다 낫냐는 질문보다 데이터·모델·운용을 어떻게 관리하느냐에 가깝습니다. 자동화는 판단을 없애는 일이 아니라, 판단이 필요한 위치를 설계와 검토 단계로 옮기는 일입니다.
이 글의 핵심
- 데이터 오류, 과최적화, 운용 오류는 서로 다른 문제이며 각각의 점검 기준이 필요합니다.
- 규칙을 자동으로 실행해도 데이터 선택·변수 변경·중지 판단은 기록하고 검토해야 합니다.
- 자동화의 목표는 무조건 주문하는 것이 아니라, 계획과 다른 상황을 빨리 발견하는 것입니다.
1. 데이터 한계: 잘못된 입력은 그럴듯한 결과를 만들 수 있다
전략 규칙이 명확해도 가격·거래량 데이터의 기준이 다르면 신호가 달라질 수 있습니다. 수정주가와 원본 종가를 섞거나, 결측·중복 날짜를 그대로 두거나, 현재의 종목군을 과거 전체에 적용하면 결과가 실제보다 좋아 보일 수 있습니다.
데이터는 다음 세 가지를 먼저 확인합니다.
| 점검 | 확인할 질문 | 놓치면 생기는 일 |
|---|---|---|
| 가격 기준 | 원본 가격과 조정 가격 중 무엇을 사용합니까? | 신호와 수익률 해석이 달라짐 |
| 시간 기준 | 입력값은 언제 확정됩니까? | 신호보다 뒤의 정보를 사용 |
| 대상 기준 | 어떤 종목·기간을 포함하고 제외합니까? | 생존자 편향과 선택 편향 |
yfinance로 국내 주식 데이터 받기는 가격 열, 티커, OHLC 관계를 저장 전에 점검하는 방법을 다룹니다. 데이터 품질 검사는 전략을 시작하기 전 한 번만 하는 작업이 아니라, 수집·갱신·주문 환경이 바뀔 때마다 다시 확인해야 하는 작업입니다.
2. 모델 한계: 과거 성과가 규칙의 우위를 증명하지는 않는다
변수와 조건을 많이 시험할수록 과거에서 가장 좋아 보이는 조합을 찾기 쉽습니다. 그러나 그 결과가 시장의 반복되는 현상보다 특정 기간의 가격 경로를 맞춘 것이라면, 새로운 구간에서는 성격이 크게 달라질 수 있습니다.
과최적화를 줄이려면 아래 항목을 함께 봅니다.
- 선택한 변수만 좋은지, 인접한 값에서도 결과가 유지되는지
- 수익률뿐 아니라 거래 수·낙폭·평균 손익·비용 민감도가 어떻게 달라지는지
- 규칙 선택에 쓰지 않은 구간에서도 결과가 같은 방향인지
- 결과가 약한 시장 국면과 그 이유를 기록했는지
백테스트 결과를 믿기 전 확인할 3가지은 체결·종목군·변수 선택이 결과를 왜곡하는 방식을, 전진분석이란? 좋은 백테스트가 실전에서도 통하는지 확인하는 법은 선택 구간과 확인 구간을 분리하는 방법을 설명합니다.
단순한 규칙이 자동으로 더 좋은 전략이 되는 것은 아닙니다. 다만 각 조건의 이유와 실패 구간을 설명하기 쉬워, 변수를 바꿨을 때 무엇이 달라졌는지 추적하기가 수월합니다.
3. 운용 한계: 주문 자동화는 오류 대응을 대신하지 않는다
실제 운용에서는 데이터 지연, 주문 거절, 부분 체결, 통신 오류, 예상보다 큰 가격 갭이 생길 수 있습니다. 전략이 과거 데이터에서 잘 작동했더라도 주문·체결·잔고 기록이 계획과 다르면 다른 전략을 운용하는 것과 같습니다.
운용 전에는 다음 기준을 정해 둡니다.
| 상황 | 미리 정할 규칙 |
|---|---|
| 데이터 수신 실패 | 주문을 중지할지, 마지막 정상 데이터를 쓸지 |
| 주문 거절·부분 체결 | 취소·정정·재주문을 언제 사람이 확인할지 |
| 손실 확대 | 거래별·전략별·계좌 전체의 중지 기준 |
| 규칙 변경 | 변경 이유, 이전 결과, 재검증 범위를 남기는 방법 |
| 복구 | 오류 뒤 자동 재시작 대신 확인할 로그와 잔고 |
이 기준이 없으면 손실이 난 직후 변수를 바꾸거나, 오류가 난 주문을 자동으로 반복하는 식으로 사후 판단이 들어오기 쉽습니다. 자동매매 진입·청산·필터는 어떻게 나눌까? 전략 규칙 설계법은 주문 전후에 고정해야 할 필터·진입·청산 규칙을 다룹니다.
자동화 전에 확인할 세 가지 질문
- 오늘 사용한 데이터와 신호가 왜 어제와 다른지 설명할 수 있습니까?
- 좋은 과거 결과를 만든 변수·대상·체결 가정을 새 구간에서도 같은 순서로 확인했습니까?
- 주문·데이터·손실 문제가 생겼을 때 무엇을 자동으로 하지 않고 멈춰서 확인합니까?
세 질문 중 하나라도 답하기 어렵다면, 자동 주문의 범위를 넓히기보다 해당 부분의 기록과 점검 절차를 먼저 보완하는 편이 좋습니다.
시스템 트레이딩이 실제로 줄여 주는 것
시스템 트레이딩이 손실이나 불확실성을 없애지는 않습니다. 대신 ‘왜 이 거래를 했는가’, ‘왜 결과가 달라졌는가’, ‘언제 전략을 멈췄는가’를 사후 감정이 아니라 사전 규칙과 로그로 확인할 수 있게 합니다.
시스템 트레이딩이란? 자동매매 시작 전 점검할 5가지에서 전체 구조를 먼저 확인하고, 데이터·모델·운용의 세 한계를 각각의 체크리스트로 관리하면 자동화 범위를 더 신중하게 넓힐 수 있습니다.
이 글은 시스템 트레이딩의 한계와 운영 원칙을 설명하기 위한 교육용 자료입니다. 예시는 특정 종목의 매수·매도 추천이나 미래 수익을 의미하지 않으며, 실제 투자 판단과 책임은 투자자 본인에게 있습니다.