트레이딩 아이디어는 왜 아직 전략이 아닌가
진입 아이디어가 시장·위험·청산·실패 대응·승인 경계를 갖춘 운영 가능한 전략이 되기까지 필요한 결정을 살펴본다.
“상승 추세에서 눌림목이 나오면 진입한다.”
이 문장은 트레이딩 아이디어로는 충분히 이해할 수 있다. 어떤 시장 장면을 기다리는지 머릿속에 그림이 그려지고, 차트에서 비슷한 구간을 찾는 일도 어렵지 않다. 하지만 이 문장을 다른 사람에게 건네 구현을 부탁하거나, 백테스트와 실시간 실행에서 반복하려는 순간 문제가 생긴다.
상승 추세는 무엇으로 정의하는가. 눌림목은 가격이 얼마나 움직인 상태인가. 진입한 뒤 아이디어가 틀렸다고 판단할 조건은 무엇인가. 데이터가 늦게 들어오거나 주문 상태를 알 수 없을 때도 다음 진입을 허용하는가.
아이디어는 방향을 설명하지만, 전략은 결정을 설명해야 한다.
전략은 좋은 진입 문장이 아니라, 같은 상황에서 같은 결정을 반복하기 위한 운영 계약이다.
아이디어는 가능성을 말하고 전략은 경계를 말한다
아이디어 단계에서는 핵심 장면만 선명한 경우가 많다. 추세가 이어질 것 같다거나, 과도한 하락 뒤 반등할 가능성이 높아 보인다는 식이다. 이런 관찰은 전략의 출발점이 될 수 있다. 문제는 관찰만으로는 실행의 경계를 정할 수 없다는 점이다.
운영 가능한 전략에는 적어도 다음 질문에 대한 답이 필요하다.
- 어떤 시장과 상품을 대상으로 하는가?
- 어떤 시간 단위의 데이터를 사용하며 언제 값이 확정되는가?
- 한 번의 거래에서 얼마까지 잃을 수 있는가?
- 정확히 어떤 상태와 사건이 진입을 만든다고 보는가?
- 아이디어가 틀렸다고 판단하는 조건은 무엇인가?
- 여러 청산 조건이 동시에 발생하면 무엇이 우선하는가?
- 데이터나 주문 상태를 확신할 수 없을 때 무엇을 멈추는가?
- 어떤 버전이 검토됐고 누가 승인했는가?
답이 비어 있으면 구현자는 빈칸을 자신의 방식으로 채운다. 백테스트 코드는 종가에 진입하고 라이브 코드는 다음 틱에 진입할 수 있다. 한 구현은 손절을 먼저 처리하고 다른 구현은 이익 실현을 먼저 처리할 수 있다. 같은 아이디어가 서로 다른 전략이 되는 순간이다.
첫 번째 경계는 시장과 데이터다
“이더리움에서 작동한다”는 표현도 충분하지 않다. 현물인지 무기한 선물인지, 어느 거래소의 가격을 사용하는지, 수수료와 펀딩을 포함하는지에 따라 같은 규칙의 결과가 달라질 수 있다.
시간 역시 전략의 일부다. 4시간 봉의 추세를 참고하면서 1분 봉에서 진입한다면 4시간 값이 언제 확정되는지 정해야 한다. 아직 닫히지 않은 캔들의 값을 사용하면 백테스트에서 미래 정보를 미리 본 것과 비슷한 문제가 생길 수 있다.
그래서 전략은 데이터 계약에서 시작한다.
Market
→ Instrument
→ Data source
→ Decision clock
→ Value confirmation
→ Missing-data policy
어떤 데이터가 정상인지뿐 아니라 비정상일 때의 행동도 적어야 한다. 최신 데이터가 일정 시간 이상 지연되면 신규 결정을 막는지, 누락된 값을 이전 값으로 채우는지, 계산 자체를 중단하는지가 명시되어야 한다.
위험은 진입 뒤에 붙이는 숫자가 아니다
많은 전략 설명에서 위험은 손절 폭 하나로 축약된다. 그러나 손절 가격이 있다고 해서 위험 정책이 완성되는 것은 아니다.
같은 손절 폭이라도 포지션 크기가 다르면 계좌에 미치는 영향이 달라진다. 동시에 여러 포지션을 열 수 있다면 개별 거래의 위험보다 전체 노출이 더 중요할 수 있다. 연속 손실이 발생할 때 계속 같은 크기로 거래할지, 일정 횟수 이후 멈출지도 결정해야 한다.
위험 정책은 다음 세 층으로 나눠보는 편이 명확하다.
- 거래 위험: 한 번의 판단이 틀렸을 때 감수할 손실
- 노출 위험: 동시에 열려 있는 모든 포지션의 합산 위험
- 운영 위험: 연속 손실이나 비정상 상태에서 시스템을 멈추는 조건
이 경계는 기대 수익을 본 뒤 조정하는 부속 설정이 아니다. 전략이 생존할 수 있는 범위를 먼저 정하는 설계 조건이다.
진입과 청산은 문장이 아니라 상태 변화다
“조건이 맞으면 진입하고 추세가 끝나면 청산한다”는 설명에는 수많은 해석이 숨어 있다.
진입 조건이 캔들 도중 잠깐 충족됐다가 사라져도 유효한가. 조건이 여러 캔들 동안 유지되면 매번 주문을 내는가. 주문이 일부만 체결되면 포지션이 있다고 보는가. 손절과 시간 종료가 같은 시점에 발생하면 어느 가격과 규칙을 사용하는가.
이런 문제는 조건식을 더 복잡하게 만든다고 해결되지 않는다. 전략을 상태 변화로 표현해야 한다.
Flat
→ Setup observed
→ Entry allowed
→ Order pending
→ Position confirmed
→ Protected
→ Exit pending
→ Flat
각 상태에서 허용되는 행동과 금지되는 행동이 분명해야 한다. 주문이 대기 중일 때 새로운 진입 주문을 만들지 않는 것, 포지션이 확인되면 보호 주문이 존재하는지 검증하는 것, 종료 주문의 결과를 알 수 없으면 다음 거래를 막는 것이 예다.
좋은 전략 문서는 “무엇을 할 것인가”만큼 “언제 아무것도 하지 않을 것인가”를 분명하게 적는다.
실패 대응이 없으면 전략은 정상 상황만 설명한 것이다
백테스트에서는 데이터가 순서대로 도착하고 주문 결과가 즉시 확정된다. 실제 운영 환경에서는 그렇지 않다. 네트워크가 끊길 수 있고, 프로세스가 재시작될 수 있으며, 거래소의 포지션과 로컬 기록이 달라질 수 있다.
이때 중요한 것은 시스템이 가장 그럴듯한 상태를 추측하는 능력이 아니다. 확인할 수 없는 상태에서 새로운 위험을 만들지 않는 능력이다.
운영 규칙에는 최소한 다음 경계가 필요하다.
- 데이터 최신성 기준을 넘으면 신규 결정을 중단한다.
- 재시작 후에는 외부 포지션과 주문을 먼저 대조한다.
- 주문 결과를 알 수 없으면 재주문하지 않고 상태를 확인한다.
- 보호 주문이 사라지면 알림만 보내는 것이 아니라 노출을 제한한다.
- 사람이 개입해야 하는 상태와 재개 조건을 기록한다.
실패 대응은 전략 밖의 인프라 문제가 아니다. 실제 자본이 노출되는 순간 전략의 일부가 된다.
전략에는 승인된 버전이 필요하다
전략 규칙을 조금씩 수정하다 보면 현재 실행 중인 것이 어느 버전인지 불분명해지기 쉽다. 진입 조건은 지난주 버전인데 손절 규칙은 오늘 수정한 값일 수 있다. 백테스트 결과와 라이브 설정이 서로 다른데 파일 이름만 같을 수도 있다.
따라서 초안과 실행 가능한 버전 사이에는 명확한 경계가 필요하다.
Draft
→ Review
→ Frozen
→ Validation
→ Adoption decision
→ Materialized configuration
초안은 자유롭게 바뀔 수 있다. Frozen 버전은 내용과 식별자가 고정되어야 한다. 검증 결과는 정확히 그 버전에 연결되어야 하며, 검증을 통과했다는 사실과 실제 사용을 승인했다는 결정도 구분되어야 한다.
이 구분이 있어야 결과가 좋지 않을 때 어떤 규칙을 평가한 것인지 되짚을 수 있다. 성과를 설명하기 위해 과거 설정을 다시 쓰는 일도 막을 수 있다.
아이디어를 전략으로 바꾸는 체크리스트
새 아이디어를 만났을 때 진입 규칙부터 코드로 옮기기 전에 다음 항목을 확인해볼 수 있다.
- 대상 시장, 상품, 데이터 출처가 하나로 고정되어 있는가?
- 모든 입력 값이 언제 확정되는지 설명할 수 있는가?
- 한 번의 손실과 전체 노출의 상한이 숫자로 정해져 있는가?
- 진입 조건과 무효화 조건을 서로 분리했는가?
- 청산 조건이 충돌할 때 우선순위가 있는가?
- 주문 지연, 부분 체결, 재시작 상태를 처리하는 규칙이 있는가?
- 시스템이 확신할 수 없을 때 기본 행동이 중단인가?
- 현재 검토 대상의 버전과 변경 내용을 식별할 수 있는가?
- 테스트 결과가 정확히 그 버전에 연결되어 있는가?
- 검증과 실제 채택을 서로 다른 결정으로 기록하는가?
여기서 여러 항목에 답할 수 없다면 아이디어가 나쁜 것은 아니다. 아직 전략으로 번역되지 않았다는 뜻에 가깝다.
좋은 전략은 더 많은 확신이 아니라 더 적은 해석을 남긴다
전략 설계의 목적은 시장을 완벽하게 설명하는 데 있지 않다. 불확실한 시장 안에서도 어떤 입력이 어떤 결정을 만들고, 어떤 상황에서 멈추는지를 반복 가능하게 만드는 데 있다.
아이디어는 사람의 언어로 시작한다. 그러나 운영되는 전략은 사람, 코드, 백테스트, 실행 환경이 같은 경계를 읽을 수 있어야 한다. 그 과정에서 가장 중요한 산출물은 복잡한 신호가 아니라 빠진 결정을 드러내는 명세다.
Strategy OS가 다루려는 문제도 여기에 있다. 답을 대신 선택하는 것이 아니라, 아이디어가 검토 가능한 전략이 되기 위해 아직 결정되지 않은 것을 보여주는 것이다.
Data / source