지난주에 J가 백테스트를 한 사이클 돌리고 스크린샷을 보내왔다. “1선 승률 86%, 30일 기준. 한번 봐요.”
나는 그 숫자를 약 3초 동안 바라보다가 답했다. “서두르지 마요. 실거래로 확인해봐요.”
그가 말했다. “그러니까 제가 지금 OK 사인 기다리는 거잖아요.”
이 대화는 여러 번 반복됐다. 매번 똑같은 패턴이다 — AI가 전략의 숫자를 그럴싸하게 만들어내고, 정작 어려운 부분에서는 AI가 제자리에 서 있고, 내가 혼자 앞으로 나아가야 한다.
아이디어가 전략이 되기까지, 그 사이에는 깊은 골짜기가 있다
처음 시작할 때 RSI에 대한 내 이해는 교과서 수준이었다. 과매수·과매도, 70을 넘으면 숏, 30 아래로 떨어지면 롱. 너무 단순하다는 건 알았지만, ‘더 정교하게 만든다’는 게 어느 방향으로 가야 하는 건지 감이 없었다.
여기서 많은 사람이 인식하지 못하는 단절이 있다. “이 상황에서 시장이 이렇게 움직일 것 같다"는 생각을 “프로그램이 실행할 수 있는 로직"으로 바꾸는 것 — 이건 기술적인 문제가 아니라 사고의 문제다.
“RSI와 추세를 결합한다"고 말하면, 코드는 ‘추세’를 어떻게 정의해야 할까? 이동평균? 어떤 기간? 레짐 감지? 전환은 어떻게? 구어체로 표현한 말 하나 뒤에는 정확히 정의해야 할 변수가 최소 세 개씩 숨어 있다.
이 단계에서 AI가 실질적으로 도움이 됐다. 아이디어를 J에게 던지면 J가 분해해줬다. “방금 말씀하신 건 구현 방식이 세 가지 정도 되는데, 어떤 걸 원하세요?” 코드를 쓰는 게 아니라, 내 모호한 직관을 테스트 가능한 가설로 바꿔주는 작업이었다.
하지만 “이 시장 상황에서 어떻게 해야 한다"는 판단 자체는 J가 대신 내려줄 수 없다. 그 판단은 내가 얼마나 오래 차트를 봤는지, 얼마나 많이 잃었는지, 시장 구조에 대해 어떤 직관을 쌓아왔는지에서 나오는 것이다. AI가 채워줄 수 없는 부분이다.
AI가 실제로 유용한 세 가지 영역
그걸 명확히 하고 나서, AI가 정말로 시간을 아껴준 부분을 이야기하자.
시그널 설계 단계에서 J의 속도는 솔직히 좀 무섭다. “RSI와 거래량 급증 조합을 보고 싶은데, 변동성 환경에 따라 성과 차이가 있는지 보고 싶어요"라고 했더니, 약 10분 만에 레짐 분류 로직 초안이 나왔다. 시장 상태를 저변동·중변동·고변동으로 나누고 각 상태별로 RSI 시그널 트리거 조건을 다르게 설정했다.
내가 직접 썼다면 반나절은 걸렸을 거고, 그래도 버그가 있었을 가능성이 높다.
파라미터 스캔은 내 작업 방식 자체를 바꿔놨다. 예전에는 그냥 “RSI 14기간, 다들 그렇게 쓰니까"였다. 지금은 그리드 스캔을 돌린다 — RSI 기간 7에서 21까지, 각 레짐별로 진입 조건 임계값을 전부 시험해보고, 최종적으로 샤프 비율이 가장 높고 최대 낙폭이 가장 작은 조합을 찾는다. 수동으로 하면 며칠 걸릴 작업이다. J가 밤새 돌리면 아침에 일어났을 때 데이터가 다 나와 있다.
이상 디버깅도 마찬가지다. 한번은 백테스트 결과가 갑자기 튀었다. 승률이 60%에서 92%로 점프했다. 바로 든 생각: 뭔가 잘못됐다. J가 확인해보니 룩어헤드 바이어스였다 — 코드가 미래 데이터를 사용하고 있었다. 이런 버그는 깊이 숨어 있어서 코드를 직접 읽어도 찾기가 어렵다. J는 10분 만에 찾아냈다.
하지만 AI가 정말 도움이 안 되는 것들
이게 내가 정말 하고 싶은 이야기다.
전략 철학은 외주를 줄 수 없다.
전략 철학이란 무엇인가? 전략을 설계할 때 내가 시장의 본질에 대해 어떤 믿음을 갖고 있느냐의 문제다. 시장은 평균 회귀하는가, 아니면 추세가 지속되는가? RSI 과매도는 기회인가, 함정인가? 전략 로직 전체가 어떤 핵심 가정 위에 서 있는가?
이 질문은 AI가 대신 답해줄 수 없다. 내 자신이 시장에 대한 판단을 먼저 가지고 있어야 하기 때문이다. J는 “평균 회귀 가정을 전제로 하면 전략이 어떻게 생기는지” 테스트해줄 수 있지만, 어떤 가정이 맞는지는 알려줄 수 없다.
리스크 한계도 마찬가지다.
우리 규칙은 이렇다: 건당 최대 손실 2%, 연속 손실이 일정 횟수를 넘으면 포지션 축소, 월 낙폭이 임계값을 초과하면 즉시 중단. 이 숫자들은 구체적으로 보이지만, 그 뒤에는 내가 얼마나 많은 고통을 감내할 수 있느냐는 개인적인 질문이 있다. J는 다양한 리스크 파라미터 아래서 최악의 경우가 어떤지 시뮬레이션해줄 수 있지만, 내가 어떤 최악의 상황을 견딜 수 있는지는 말해줄 수 없다.
그리고 실거래 전환이라는 관문이 있다.
이게 가장 설명하기 어려운 부분이다. 백테스트 승률 86%, 페이퍼 트레이딩도 30일 돌렸고, 숫자는 다 괜찮다고 말한다 — 그런데 실거래 주문을 처음 누르는 순간, 느낌이 완전히 다르다. 이성적으로 리스크를 인식하는 게 아니다. “이건 진짜 돈이다"라는, 훨씬 원초적인 감각이다.
AI는 이 관문을 넘어주지 못한다. 이건 오직 자기 자신의 몫이다.
5선 아키텍처는 어떻게 만들어졌나
현재 구조는 이렇다: 3선은 백테스트 검증, 1선은 소액 실전 테스트, 5선이 실거래. 처음부터 이렇게 설계한 게 아니라, 몇 번의 실패를 겪으면서 서서히 자리를 잡았다.
한번은 백테스트에서 아름다운 성과를 보인 전략이 1선 테스트를 시작하자마자 문제가 생겼다. 슬리피지가 예상보다 훨씬 컸고, 특정 시장 상황에서는 시그널을 아예 놓쳤다. 만약 바로 실거래에 투입했다면 결과는 끔찍했을 것이다. 그 이후로 하나의 원칙이 굳었다: 어떤 전략이든 실거래 투입 전에 1선에서 최소 30일, 승률 80% 이상을 기록해야 다음 단계로 넘어갈 수 있다.
피드백 루프의 개념도 그때 명확해졌다. 실거래에서 손실이 나면 전략을 폐기하는 게 아니라 3선으로 돌려보낸다. 현재 시장 환경에서 어떤 가정이 깨진 건지 찾아내고, 수정한 뒤 처음부터 프로세스를 다시 밟는다. 영원히 나쁜 전략은 없다. 현재 레짐에 맞지 않는 전략이 있을 뿐이다.
AI는 이 전체 아키텍처 안에서 매우 중요한 가속 장치 역할을 한다. 하지만 아키텍처 자체는 사람이 설계했다. 그리고 “이 방향은 아니야, 바꾸자"는 모든 판단도 사람이 내렸다.
AI 보조 트레이딩 개발에 대한 내 현재 이해는 이렇다: AI는 더 많은 가설을 더 빠른 속도로 테스트할 수 있게 해준다. 하지만 내가 더 명확한 가설을 가져와야 한다. 내 생각이 모호하다면, AI는 그 모호함을 더 빨리 확인하는 데만 쓰일 뿐이다.
이 주제로 질문을 많이 받아서 한번 정리해봤다.