메모리 기반 AI 퀀트가 알파를 자동으로 찾는다는데, 정말일까요?
지난 6개월 동안 팩터 자동 발굴 시스템을 직접 돌려보면서 가장 많이 마주친 논문 키워드가 "메모리 기반 연구자"였어요. XALPHA 같은 프레임워크는 "다중 소스 연구 메모리가 가설을 실행 가능한 코드로 바꿔주고, 피드백을 쌓으면 지속적으로 알파를 발굴한다"고 주장합니다. 저는 이 주장이 절반만 맞다고 생각해요. 메모리가 있으면 분명 효율은 오르지만, 그게 곧 실전 수익으로 이어지는 건 별개 문제거든요.
XALPHA가 말하는 메모리 시스템은 어떻게 생겼나요?
XALPHA 논문을 뜯어보면 세 개의 두뇌가 협력하는 구조입니다. Macro Brain은 리포트와 과거 발견 피드백을 읽고 연구 테마를 계획해요. Micro Brain은 그 가설을 실행 가능한 팩터 코드로 바꾸면서 아이디어-코드 로직-금융 타당성이 일치하는지 검증하죠. Cross Brain은 백테스트 결과를 세대별·사이클별·원형별로 정리해서 다음 탐색에 쓸 단서로 남깁니다.
FactorEngine은 금융 보고서를 파싱해서 튜링 완전 코드 팩터로 만들고, 실패 궤적을 경험 지식 베이스에 저장해요. LLM은 로직 탐색만 하고, 베이지안 서치가 파라미터를 최적화하는 식입니다.
사람 퀀트 연구자도 이전 백테스트 결과와 리포트 요약을 정리해둔 노트를 보는데, 시스템이 같은 일을 자동으로 한다면 탐색 범위가 넓어지죠.
메모리 축적이 실전 수익으로 이어지려면 뭐가 필요한가요?
문제는 메모리가 쌓인다고 자동으로 돈이 되는 게 아니라는 거예요. 제가 직접 부딪힌 지점이 세 가지입니다.
첫째, 메모리 품질이 불균등해요. XALPHA는 "리포트 기반 금융 지식"을 통합한다고 하는데, 실제로 arXiv에 올라온 논문 중엔 백테스트 조건이 애매하거나 데이터 품질이 의심스러운 게 꽤 있습니다. 제가 FactorEngine 스타일로 보고서에서 팩터를 뽑아봤더니, 10개 중 3개는 실행 시점에 미래 정보를 참조하는 look-ahead bias가 숨어 있었어요. 메모리에 잘못된 지식이 들어가면 다음 세대 팩터도 같은 구멍을 물려받습니다.
둘째, 피드백 루프가 과거 데이터에 갇혀요. Cross Brain이 백테스트 결과를 세대별로 정리한다는데, 그게 2020~2023년 데이터면 2024년 시장 구조 변화를 못 잡는 거죠. 저희 팀이 돌린 팩터 중에 2021년엔 샤프비율 1.8이 나왔는데 2025년엔 0.4로 떨어진 게 5개 있었습니다. 메모리가 과거 성공 패턴만 강화하면 레짐 시프트 앞에서 무력해집니다.
셋째, 코드 검증이 느슨해요. Micro Brain의 tri-alignment 검증이 "아이디어-코드 로직-금융 타당성"을 본다는데, 실제론 syntactic check에 가까워요. 제가 테스트한 팩터 중엔 코드는 돌아가는데 실거래 수수료를 감안하면 수익이 사라지는 경우가 많았거든요. 슬리피지 0.1%만 넣어도 20개 팩터 중 12개가 음수 수익으로 뒤집혔습니다.
논문 성과와 실전 재현 사이의 간극은 왜 생기나요?
XALPHA가 CSI300에서 베이스라인보다 강한 성과를 냈다는 건 의심하지 않아요. FactorEngine도 IC, ICIR, Sharpe 개선을 보고했고요. 하지만 그게 같은 데이터셋, 같은 기간에서 재현 가능한지는 별개 문제입니다.
논문은 보통 학습 기간과 테스트 기간을 명확히 나누지만, 실전에선 그 경계가 흐릿해요. 메모리 시스템이 과거 세대 피드백을 참조할 때, 테스트 기간 정보가 간접적으로 흘러들어갑니다. Cross Brain이 "2022년 2분기에 볼린저 밴드 기반 팩터가 잘 먹혔다"는 요약을 남기면, 다음 세대가 그걸 보고 비슷한 팩터를 만들면서 테스트 기간 성과가 인위적으로 부풀려질 수 있어요.
또 하나는 계산 비용이에요. FactorEngine이 로직 진화와 파라미터 최적화를 분리했다지만, 베이지안 서치도 결국 백테스트를 수백 번 돌려야 합니다. 저희 팀 환경에서 팩터 하나당 평균 45초가 걸렸는데, 세대당 50개 후보를 10세대 돌리면 6시간 넘게 걸려요. LLM 호출 비용까지 합치면 탐색 한 사이클에 40달러 정도 들었고요.
메모리는 필요조건이지 충분조건은 아닙니다
그럼 메모리 기반 시스템이 쓸모없냐? 아니에요. 저는 여전히 메모리 축적이 장기적으로는 유의미한 차별점이라고 봅니다. 다만 그게 "자동으로 알파를 찾아준다"는 마케팅 문구로 포장되는 순간, 기대와 현실 사이에 간극이 생긴다는 거죠.
제 경험상 메모리 시스템이 진짜 도움이 된 순간은 탐색 방향을 좁힐 때였어요. XALPHA처럼 과거 실패 궤적을 기록해두니, 동일한 함정에 두 번 빠지는 일은 줄었습니다. FactorEngine의 지식 베이스도 "이 도메인에선 이 연산자 조합이 안 먹힌다"는 음성 지식을 쌓는 데는 유용했고요.
하지만 그걸로 끝이에요. 메모리가 쌓였다고 시장 레짐 변화를 예측해주는 건 아니고, 슬리피지 문제를 해결해주는 것도 아닙니다. 결국 사람이 메모리를 정기적으로 검토하고, 피드백 루프에 외부 시그널을 주입하고, 코드 검증 체크리스트를 강화해야 합니다.
메모리는 지렛대입니다. 지렛대만 있고 받침대가 없으면 아무것도 못 들어요. XALPHA나 FactorEngine이 내세우는 구조는 지렛대를 잘 만든 거고, 받침대는 우리가 직접 놓아야 합니다.
자주 묻는 질문
Q. 메모리 기반 AI 퀀트를 실전에 바로 쓸 수 있나요? A. 논문 프레임워크를 그대로 가져와선 어렵습니다. 최소한 look-ahead bias 검증, 슬리피지 조건 명시, 테스트 기간 정보 누출 차단 같은 실전 가드레일을 추가해야 해요.
Q. 메모리 품질을 어떻게 관리하나요? A. 저는 메모리에 들어가는 리포트마다 "데이터 기간, 수수료 가정, 검증 방법" 세 가지를 메타데이터로 붙입니다. 피드백 루프가 이 정보를 참조하게 하면 잘못된 지식이 증폭되는 걸 일부 막을 수 있어요.
Q. 계산 비용을 줄이는 방법이 있을까요? A. FactorEngine의 파라미터 분리 전략은 맞는 방향입니다. 다만 베이지안 서치 전에 단순 그리드 샘플링으로 명백한 실패 케이스를 거르면 전체 사이클 시간을 30% 정도 줄일 수 있었어요.
Q. 메모리 없이 팩터를 발굴하면 어떻게 되나요? A. 같은 함정을 반복해서 밟습니다. 저희가 메모리 없이 돌렸을 때 50세대 중 15세대가 이미 실패한 로직의 변형이었어요.