자동매매 아이디어는 복잡한 수식에서만 나오지 않습니다. ‘추세가 이어지는 구간이 있는가’, ‘급격한 이탈 뒤 되돌림이 자주 일어나는가’처럼 시장에서 반복된다고 생각하는 현상을 관찰하는 데서 시작할 수 있습니다.
다만 관찰은 아직 전략이 아닙니다. 어떤 데이터에서, 어떤 조건이 충족됐을 때, 언제 주문하고 언제 실패로 볼지를 정해야 백테스트할 수 있는 가설이 됩니다.
이 글의 핵심
- 추세추종과 평균회귀는 매수 추천이 아니라 서로 다른 시장 현상을 설명하는 가설의 출발점입니다.
- 아이디어는 관찰 → 규칙 → 체결 가정 → 비교 검증의 순서로 구체화합니다.
- 단순함은 조건 수를 무조건 줄이는 원칙이 아니라, 각 조건의 이유와 실패를 설명할 수 있게 만드는 원칙입니다.
아이디어와 전략을 구분해야 하는 이유
상승하는 종목은 더 오를 수 있다 또는 급락 뒤에는 반등이 나올 수 있다는 문장은 시장에 대한 관찰입니다. 이 문장만으로는 어느 종목을, 어느 시점에, 얼마나 오래 보유할지 알 수 없습니다.
전략으로 바꾸려면 아래 질문에 답해야 합니다.
| 단계 | 적어야 할 내용 |
|---|---|
| 관찰 | 어떤 가격·거래량·변동성 현상을 봤습니까? |
| 가설 | 그 현상이 왜 다음 움직임과 관계가 있다고 생각합니까? |
| 규칙 | 입력값, 조건, 진입·청산·예외는 무엇입니까? |
| 체결 | 신호는 언제 확정되고 어느 가격에 주문합니까? |
| 검증 | 어떤 종목·기간·비용 가정에서 비교합니까? |
| 실패 조건 | 어떤 시장 국면에서 약할 수 있습니까? |
시스템 트레이딩 전략은 어떻게 만들까? 아이디어부터 검증까지 6단계은 이 과정을 전략 개발의 전체 순서로 연결합니다.
1. 추세추종: 움직임의 지속을 가설로 둔다
추세추종은 일정 기간의 상승 또는 하락 흐름이 바로 끝나지 않고 이어질 수 있다는 가설에서 출발합니다. 이동평균선의 방향, 이전 고점 돌파, 상대 강도처럼 가격이 어느 방향으로 움직이고 있는지를 규칙으로 표현할 수 있습니다.
예를 들어 ‘유동성이 충분한 종목에서 장기 추세가 상승이고, 단기 고점을 돌파하면 다음 거래일 시가에 진입한다’는 문장은 아래처럼 분해됩니다.
| 구성 | 정해야 할 질문 |
|---|---|
| 대상 | 거래대금·시가총액·종목군을 어떻게 제한합니까? |
| 추세 | 어떤 기간의 가격 또는 이동평균선으로 판단합니까? |
| 진입 | 고점 돌파는 종가 기준입니까, 장중 고가 기준입니까? |
| 청산 | 반대 돌파, 추적 손절, 보유 기간 중 무엇을 씁니까? |
| 약한 구간 | 횡보 구간에서 잦은 손실이 생기는지 확인합니까? |
추세추종은 큰 추세를 포착할 수 있다는 기대가 있지만, 모든 돌파가 추세로 이어지지는 않습니다. 거래 수, 손절 횟수, 횡보 구간의 낙폭을 같이 확인해야 합니다.
2. 평균회귀: 이탈 뒤 되돌림을 가설로 둔다
평균회귀는 가격이 단기적으로 기준선에서 멀어졌을 때 다시 가까워질 수 있다는 가설에서 출발합니다. 이동평균선과의 거리, 단기 수익률, 변동성 밴드 이탈처럼 이탈 정도를 규칙으로 표현할 수 있습니다.
그러나 크게 하락한 가격이 반드시 반등하는 것은 아닙니다. 하락 추세에서는 ‘과매도’처럼 보이는 상태가 오래 이어질 수 있습니다. 그래서 평균회귀 가설에서는 추세 필터, 손절 규칙, 최대 보유 기간의 역할을 분리해 봐야 합니다.
| 구성 | 정해야 할 질문 |
|---|---|
| 이탈 | 기준선과의 거리 또는 하락 폭을 어떻게 정의합니까? |
| 진입 | 이탈 즉시입니까, 반등 확인 뒤입니까? |
| 필터 | 장기 하락 추세·변동성 확대를 제외합니까? |
| 청산 | 평균 회복, 시간 종료, 손절 중 무엇을 우선합니까? |
| 약한 구간 | 추세 하락이 이어질 때 손실 경로가 어떻습니까? |
추세추종과 평균회귀는 하나가 항상 더 낫다는 경쟁 관계가 아닙니다. 같은 시장에서도 기간, 종목군, 비용, 체결 방식에 따라 성격이 달라질 수 있습니다.
관찰을 검증 질문으로 바꾸는 예시
아이디어를 떠올렸다면 먼저 수익률이 아니라 비교할 질문을 정합니다.
관찰: 상승 흐름 안에서 단기 조정 뒤 거래량이 늘면 다시 오르는 경우가 있다.
가설: 장기 상승 조건과 거래량 확인을 붙이면 단순 반등보다 손실 구간이 줄어들 수 있다.
규칙: 추세, 단기 회복, 거래량 조건과 다음 거래일 체결을 정의한다.
비교: 거래량 조건 유무만 바꿔 거래 수, MDD, 평균 손익, 비용을 비교한다.
실패: 횡보·급락 구간에서 신호와 손실이 어떻게 달라지는지 기록한다.
감으로 찾던 눌림목, 파이썬 자동매매 조건식으로 바꾸는 법은 이런 문장을 입력 데이터와 Boolean 조건으로 나누는 예시입니다. 가설이 틀릴 수 있도록 구체적으로 적어야 결과가 나빠도 무엇을 수정할지 알 수 있습니다.
KISS 원칙: 적은 지표보다 적은 숨은 가정
KISS 원칙은 조건을 무조건 적게 쓰라는 뜻이 아닙니다. 각 조건에 이유가 있고, 어떤 데이터를 쓰며, 어떤 실패를 줄이려 하는지 설명할 수 있게 하라는 뜻에 가깝습니다.
조건을 여러 개 붙일수록 과거의 특정 구간에만 맞을 위험이 커집니다. 반대로 너무 단순한 규칙도 비용·체결·리스크 관리를 생략하면 실제로 실행할 수 없습니다. 좋은 출발점은 다음처럼 작은 변경을 비교하는 방식입니다.
- 기본 가설과 진입·청산 규칙을 먼저 고정합니다.
- 필터 하나를 추가하거나 제외한 결과를 비교합니다.
- 거래 수, 낙폭, 평균 손익, 비용을 함께 기록합니다.
- 다른 구간과 인접한 변수에서 결과가 유지되는지 확인합니다.
백테스트 결과를 믿기 전 확인할 3가지과 전진분석이란? 좋은 백테스트가 실전에서도 통하는지 확인하는 법은 복잡한 조건을 최고 과거 성과에 맞추지 않기 위한 검증 기준을 다룹니다.
아이디어를 실전 규칙으로 옮기기 전 확인할 것
- 관찰과 가설을 구분해 적었습니까?
- 필터·진입·청산 중 어떤 규칙을 비교하는지 명확합니까?
- 신호 확정 시점과 실제 체결 시점을 분리했습니까?
- 잘 작동한 구간뿐 아니라 약했던 구간도 기록했습니까?
- 결과가 달라졌을 때 원인을 찾을 수 있도록 변수와 데이터 처리 기준을 남겼습니까?
아이디어는 수익을 보장하는 답이 아니라 검증을 시작하게 하는 질문입니다. 단순하고 설명 가능한 가설에서 시작하면 좋은 결과뿐 아니라 실패한 결과도 전략을 개선할 근거로 남길 수 있습니다.
이 글은 시스템 트레이딩 아이디어와 검증 절차를 설명하기 위한 교육용 자료입니다. 예시는 특정 종목의 매수·매도 추천이나 미래 수익을 의미하지 않으며, 실제 투자 판단과 책임은 투자자 본인에게 있습니다.