시장은 입장료를 받는데, 나는 그걸 깜빡했다
한때 정말로 괜찮아 보이는 전략이 하나 있었다. 시뮬레이션 결과는 탄탄하고 일관됐으며, 자세를 한 번 고쳐 앉게 만드는 그런 종류였다. 그러다 실제로 그 전략을 굴리는 데 드는 비용 — 시장에서 거래를 한다는 행위에 따르는 현실적이고 피할 수 없는 대가 — 을 더해 넣었더니, 수익이 줄어드는 게 아니라 아예 사라지는 광경을 보게 됐다. 줄어들었다면 견딜 만했을 것이다. 그런데 그건 지워졌고, 거기서 더 깎여 나갔다.
그 엣지는 어떤 의미에서는 진짜였다. 마찰이 전혀 없는 세계에서는 진짜였다. 문제는 그런 세계가 존재하지 않는다는 것, 그리고 내가 오직 그 세계에서만 작동하는 전략을 몇 주 동안 감탄하며 들여다봤다는 것이다.
마찰 없는 환상
순진한 백테스트에 숨어 있는 가정은 바로 그것이 눈에 보이지 않기 때문에 유혹적이다. 과거 가격을 상대로 거래를 시뮬레이션할 때, 화면에 보이는 바로 그 가격에, 즉시, 원하는 만큼 여러 번, 공짜로 거래할 수 있었으리라고 가정하기란 위험할 정도로 쉽다. 이 가정들은 하나도 빠짐없이 거짓이다.
실제 거래에는 비용이 들고, 그 비용은 여러 겹으로 온다. 거래할 때마다 거래소에 내는 수수료가 있다. 스프레드 — 사는 가격과 파는 가격 사이의 작지만 영구적인 간극 — 가 있다. 그리고 슬리피지가 있다. 원했던 가격과 실제로 체결된 가격 사이의 차이인데, 주문이 도착할 즈음이면 시장이 이미 움직였거나, 내 주문 자체가 시장을 움직이기 때문이다. 이것들은 하나하나가 작다. 바로 그 점이 이들을 손쉽게 무시하게 만들고, 무시했을 때 그토록 위험하게 만든다.
작은 비용, 곱하면 거대해진다
거래비용의 진짜 잔인함은 곱셈에 있다. 거래당 붙는 아주 작은 통행료는 누가 봐도 무시해도 될 만큼 사소해 보인다 — 몇 퍼센트의 한 조각 따위에 누가 신경 쓰겠는가? 하지만 전략은 한 번만 거래하지 않는다. 바쁜 전략은 수천, 수만 번 거래하고, 그때마다 매번 그 사소한 통행료를 낸다.
그래서 비용은 배경에서 얌전히 쌓이지 않는다. 거래에 거래를 거듭하며 당신을 갈아대고, 결국 한 거래당 얼마나 작아 보였는지와는 전혀 닮지 않은 액수를 먹어치운다. 전략이 활발할수록 시장에 더 많은 입장료를 낸다 — 그리고 내가 가장 활발하게 굴리던 전략 중 일부는 내가 알아채지 못하는 사이에 자기 몫을 내다가 그대로 땅속으로 파묻히고 있었다. 나는 총수익만 들여다보고 있었고, 시장은 옆에서 조용히 청구서를 끊고 있었기 때문이다.
가장 좋아 보이던 전략이 가장 취약했다
여기에 내가 한참 만에야 본 뒤틀린 반전이 있다. 마찰 없는 백테스트에서 가장 수익성 높아 보이던 전략은 매우 자주, 가장 미친 듯이 거래하는 것들 — 무수히 많은 작은 기회를 낚아채는 과잉행동형 — 이었다. 그리고 그 과잉행동형 전략이야말로 현실적인 비용이 가장 가혹하게 처벌하는 대상이다. 통행료를 가장 여러 번 내기 때문이다.
이 말은 곧 내 백테스트의 마찰 없는 버전이 중립적인 측정이 아니었다는 뜻이다. 그것은 현실에서 죽을 가능성이 가장 높은 전략을 적극적으로 띄워주고 있었다. 마찰 없는 수익으로 순위를 매긴 내 “최고의” 아이디어들은 불균형하게도 비용에 가장 취약한 것들이었다. 그 리더보드는, 내가 깨닫지 못하는 사이에, 각 전략이 자기 몫을 내야 하는 순간 얼마나 처참하게 무너질지에 따라 부분적으로 정렬돼 있었다.
슬리피지는 가장 필요 없을 때 가장 나쁘다
여기에 한 가지 더 따끔한 점이 있다. 슬리피지는 평균을 내서 지워버릴 수 있는 일정한 세금이 아니다. 시장이 잔잔하고 깊고 유동적일 때는 작고 — 가격이 출렁이고 모두가 한꺼번에 행동하고 싶어 하는 격렬하고 빠르고 얇은 순간에 정확히 부풀어 오른다. 다시 말해, 거래의 비용은 당신의 전략이 가장 거래하고 싶어 하는 바로 그 순간에 가장 높다.
이 상관관계는 잔혹하고, 순진한 모델은 그것을 완전히 가린다. 거래당 단일한 고정 비용을 가정하면, 당신의 시뮬레이션은 잔잔한 시장에서의 체결과 혼돈에 빠진 시장에서의 체결이 같은 비용이 들었다고 슬그머니 가장한다. 둘은 같지 않다. 실제 통행료는 가장 나쁜 날, 길이 가장 위험할 때 가장 비싸고, 그때가 바로 전략이 가속 페달을 끝까지 밟고 싶어 안달하는 순간이다.
비용을 정직하게 모델링하는 일은 우울하지만 필수다
해법은 영리하지 않고, 그저 규율 있을 뿐이다. 현실적인 — 심지어 일부러 비관적인 — 비용 가정을 처음부터 시뮬레이션에 집어넣어라. 끝에 가서 화장하듯 덧붙이는 보정이 아니라. 수수료를 낸다고 가정하라. 스프레드를 넘는다고 가정하라. 슬리피지를 가정하고, 상황이 나빠지면 그것이 더 나빠진다고 가정하라.
이렇게 하는 일은 진심으로 우울하다. 모든 결과를 더 나빠 보이게, 때로는 극적으로 더 나빠 보이게 만들기 때문이다. 바로 그게 핵심이다. 거래가 공짜일 때만 작동하는 전략은 전략이 아니다. 그것은 차트를 갖다 붙인 백일몽이다. 그리고 그 사실을 발견할 수 있는 가장 값싼 순간은 시뮬레이션 안, 단 한 단위의 실제 돈도 그 환상에 투입되기 전이다 — 시장이 입장료를 현금으로 거둬가는 그 이후가 아니라.
더 깊은 원리: 가격은 초대장이지 약속이 아니다
이 모든 것의 밑바닥에는 내가 가격을 읽는 방식의 단순한 전환이 있다. 화면 위의 숫자는 초대장이지 보증이 아니다. 그것은 “이 근처에서 거래가 있었다”고 말할 뿐, “지금 당장, 공짜로, 정확히 이 수준에서 원하는 만큼의 수량을 거래해도 좋다”고 말하지 않는다. 거래의 모든 가혹한 현실은 당신이 보는 가격과, 그에 따라 행동하려 할 때 실제로 얻는 가격 사이의 간극 속에 산다.
종이 위의 엣지와 진짜 엣지를 가르는 것의 대부분은 단지 그것이 그 간극에서 살아남느냐다. 영리해 보이는 수익의 상당수는 사실 그저 모델링되지 않은 간극일 뿐이다 — 그것을 향해 손을 뻗는 비용을 계산에 넣는 순간 애초에 거기 있은 적 없던 돈.
이것이 바꾼 것
그 일 이후로 나는 비용을 끝에 뿌려 넣는 보정 계수가 아니라 일급 적수로 다루기 시작했다. 이제 어떤 유망한 결과에 대해 내가 가장 먼저 던지는 질문은 “이게 얼마를 버는가?”가 아니다. 그것은 “이게 입장료를 전부 낸 뒤에 — 실제로 거래하는 빈도로, 실제로 마주할 조건에서, 나쁜 조건까지 포함해서 — 얼마를 버는가?”이다.
대부분의 엣지는 그 질문에서 살아남지 못한다. 그것들은 애초에 거기 있은 적이 없었다. 발견의 의상을 걸친 마찰 없는 환상이었을 뿐이다. 하지만 그 질문에서 살아남는 소수는 살아남지 못한 다수보다 훨씬 더 값지다. 그것들만이 애초에 진짜였던 유일한 것들이기 때문이다. 시장은 언제나 입장료를 받는다. 유일하게 쓸모 있는 질문은 그 안에 있는 것이 여전히 티켓값만큼의 가치가 있느냐다.
— 신호도, 수익도 없으며, 투자 자문이 아닙니다.