AI와 연구를 하면 끝낼 타이밍을 놓치기 쉽다. 아이디어 하나를 시험하고 나면 다른 조건이 궁금해지고, 그걸 확인하면 다른 시장에서도 해보고 싶어진다. AI에게 물으면 대개 방법이 나온다. 코드를 고쳐서 다시 돌려볼 수 있다.
그렇게 시스템 트레이딩을 연구한 지 1년쯤 됐다.
재미는 있었다. 머릿속에만 있던 생각을 실제로 시험해 볼 수 있다는 게 좋았다. 궁금한 것이 생겼을 때 구현할 엄두부터 내야 했다면, 아마 상당수는 그냥 넘어갔을 것이다. AI와 함께하니 일단 해볼 수 있는 일이 많아졌다.
그런데 해볼 수 있는 일이 많아지는 데도 대가가 있었다. 무엇을 해보지 않을지 내가 정해야 했다.
예를 들어 백테스트 결과가 마음에 들지 않으면 손볼 곳은 얼마든지 찾을 수 있다. 진입 조건을 조금 바꾸거나, 유난히 성과가 나빴던 시기를 따로 살펴보거나, 다른 시장에 적용해 볼 수 있다. AI는 각각의 시도를 도와준다. 설명도 곧잘 붙는다.
여기서 연구가 애매해진다. 잘못된 가정을 고치는 것과 마음에 드는 결과가 나올 때까지 조건을 바꾸는 것은, 작업하는 동안에는 꽤 비슷하게 보인다. 둘 다 코드를 수정하고 다시 실행하는 일이기 때문이다.
그래서 실험을 시작하기 전에 적어둘 것이 늘어났다. 이번에는 무엇을 확인하려는지, 어떤 결과가 나오면 이 아이디어를 접을지, 결과를 보고 나서 바꾼 조건은 무엇인지. 귀찮지만 적어두지 않으면 나중에는 수정한 이유까지 그럴듯하게 기억할 수 있다.
코드에도 비슷한 일이 있었다. 실행이 끝나고 숫자가 나오면 일단 안심하게 된다. 하지만 숫자가 나왔다는 것만으로 계산이 맞다는 보장은 없었다. 신호를 만든 시점과 주문을 낸 시점이 어긋나 있거나, 주문 수량을 반올림하는 과정에서 의도했던 거래가 사라질 수도 있었다. 이런 부분은 수익곡선만 봐서는 알기 어렵다.
그러다 보니 AI에게 요청하는 작업도 구체적이어야 했다. 전략을 구현해 달라는 요청에 더해, 특정 날짜에 왜 이 주문이 생겼는지, 그때 어떤 데이터를 읽었는지, 수량은 어떻게 계산됐는지 확인해야 했다. 전체 결과를 보고 이야기하다가도 결국 거래 한 건, 계산 한 줄로 돌아오는 식이었다.
이런 작업은 밖에서 보기에는 별일 없어 보일 것 같다. 하루 종일 무언가를 했는데 결론이 “이 결과는 다시 확인해야 한다”일 수도 있으니까. 그래도 그 확인을 건너뛰면 다음 실험부터는 무엇을 믿고 진행하는지 알 수 없게 된다.
AI는 여기에 꽤 도움이 됐다. 이미 작성한 코드를 다시 읽고, 서로 다른 실행 결과를 비교하고, 빠뜨린 가정을 찾아보는 일을 함께할 수 있었다. 다만 내가 원하는 답을 향해 질문을 몰아가고 있지는 않은지까지 대신 책임져 주지는 않는다. 그 부분은 계속 내 몫으로 남았다.
블로그를 시작하려는 이유도 여기에 있다. 연구하는 동안에는 다음 작업이 계속 생겨서, 지나온 과정을 제대로 설명할 기회가 별로 없었다. 글로 써보면 내가 이해한 부분과 얼버무리고 넘어간 부분이 조금 더 분명해질 것 같다.
앞으로는 한 번에 실험 하나, 질문 하나 정도를 다뤄보려고 한다. 처음에는 왜 해볼 만하다고 생각했는지, 실제로 해보니 무엇이 달랐는지, 그래서 다음에는 무엇을 바꿨는지.
지난 1년 동안 쌓인 기록을 보면, 당분간 글감이 부족할 것 같지는 않다. 정리하는 일이 좀 밀려 있을 뿐이다.