RL 트레이딩 시스템을 만드는 엔지니어링 노트
암호화폐 시장을 위한 강화학습 트레이딩 시스템을 만드는 익명 저널 — 방법·인프라·정직한 실패에 관한 기록. 시그널·수익률 없음, 투자 자문 아님.
한때 정말로 괜찮아 보이는 전략이 하나 있었다. 시뮬레이션 결과는 탄탄하고 일관됐으며, 자세를 한 번 고쳐 앉게 만드는 그런 종류였다. 그러다 실제로 그 전략을 굴리는 데 드는 비용 — 시장에서 거래를 한다는 행위에 따르는 현실적이고 피할 수 없는 대가 — 을 더해 넣었더니, 수익이 줄어드는 게 아니라 아예 사라지는 광경…
2026-07-28 · 트레이딩 강화학습 시스템 구축기이 프로젝트를 진행하며 익혀야 했던 가장 어려운 기술은 기술적인 것이 아니었다. 그것은 가만히 손을 놓고 있는 법을 배우는 것이었다. 무언가가 돌아가는 동안 내버려 두는 것 — 손을 뻗어 "도와주려" 하지 않는 것 — 이것이 내가 끝까지 추적했던 그 어떤 버그보다도 나에게는 훨씬 더 어려운 일로 드러났다. 알고 보니 나는…
2026-07-26 · 트레이딩 강화학습 시스템 만들기초기에, 너무 좋아서 나를 기쁘게 했어야 마땅한 백테스트 결과가 하나 있었다. 그런데 몇 분 동안 그것을 들여다보고 나니, 오히려 깊은 불안감이 밀려왔다. 시뮬레이션 속 수익은 크고, 매끄럽고, 지나치게 깔끔했다. 실제의 시끄럽고 적대적인 시장에서는 결코 일어나지 않는 종류의 성과였다. 그리고 그것이 실제 시장에서 일어나…
2026-07-24 · 트레이딩 강화학습 시스템 만들기프로젝트 초기에 — 이미 오래전에 갈아엎고 처음부터 다시 만든 어떤 실험에서 — 나는 학습 에이전트에게 목표 하나를 주었고, 에이전트는 그 목표를 완전히, 문자 그대로, 외골수로 추구했다. 그렇게 나타난 행동은 내 머릿속에 그렸던 그림과 비슷하지도 않았다. 에이전트가 고장 난 게 아니었다. 내가 시킨 그대로를 하고 있었다…
2026-07-22 · 트레이딩 강화학습 시스템 구축기한동안 나는 이 프로젝트에 믿을 수 없을 만큼 열심히 매달려 엄청난 양을 쏟아냈고, 그 모든 것에 대해 더없이 뿌듯해했다 — 그러면서도 실제로는 거의 아무런 진전도 이루지 못했다. 나는 시스템의 원대한 미래를 설계하고 있었다. 여러 부분이 서로 협력하고, 확장되고, 언젠가는 스스로 굴러가게 될 컴포넌트로 가득한, 사방으로…
2026-07-20 · 트레이딩 강화학습 시스템 만들기며칠 동안, 나는 내 시스템에 깊고 신비로운 버그가 있다고 확신했다. 로그가 깨진 문자로 출력됐다. 데이터 변환 단계는 미묘하게 잘못된 파일을 만들어냈다. 하위 프로세스(subprocess)는 내가 기대한 출력 대신 알 수 없는 값을 돌려줬다. 나는 내 로직 어딘가, 시스템의 영리한 부분에서 결함을 찾아 나섰다.
2026-07-18 · 트레이딩 RL 시스템 구축기초기에 나는 내가 직접 고안한 트레이딩 전략들로 가득 찬 폴더를 가지고 있었다 — 열두 개쯤, 어쩌면 그 이상. 각각은 시장이 어떻게 작동하는지에 대한 작은 이론이었고, 정성껏 코드로 옮겨졌으며, 정성껏 점수가 매겨졌다. 나는 그 폴더가 자랑스러웠다.
2026-07-16 · 트레이딩 RL 시스템 만들기한동안 나는 내 진지함을 탐색의 규모로 가늠했다. 나는 한 전략의 설정(config)을 수억 가지 조합으로 테스트했고, 그것이 부족하게 느껴지자 수십억 가지로 늘렸다. 나는 그 숫자가 자랑스러웠다. 그것은 엄밀함처럼 느껴졌다 — 마치 내가 어떤 가능성도 빠뜨리지 않고 살펴보고 있는 것처럼.
2026-07-14 · 트레이딩 RL 시스템 만들기어느 날 내 훈련 손실이 더 이상 숫자가 아니게 되었다. 높은 것도, 불안정한 것도 아니라 — 그냥 NaN, 컴퓨터가 답이 없는 산술을 요구받았을 때 들어 올리는 작은 깃발이었다. 그리고 그 이유를 알아내는 데 거의 한 주가 걸렸다. 증상이 나타난 곳이 문제가 실제로 살고 있던 곳과는 전혀 가깝지 않았기 때문이다.
2026-07-12 · 트레이딩 강화학습 시스템 만들기나는 내 시스템의 동일한 핵심 컴포넌트를 세 번 다시 작성했다. 패치한 것도, 리팩터링한 것도 아니다 — 거의 처음부터, 별개로 세 번, 새로 만들었다. 그리고 매번, 나는 이 버전이 진짜라고 확신했다. 마침내 영원히 그 위에 쌓아 올릴, 깨끗하고 올바른 아키텍처라고.
2026-07-10 · 트레이딩 RL 시스템 구축기이 프로젝트의 초기 기록을 자세히 읽어 봤다면, 당신은 나의 선배 동료 한 명을 만났을 것이다. 그는 내 아키텍처 결정을 검토했다. 내 더 나쁜 아이디어들에 반대했다. 중요한 것이 출시되기 전에는 늘 그가 승인했다. 그의 승인은, 중요했던 순간들마다 거듭거듭 등장한다.
2026-07-08 · 트레이딩 RL 시스템 만들기나는 언젠가 내 라이브 트레이딩 봇에게 똑똑함의 한 수처럼 느껴지는 능력을 부여했다. 바로 적응하는 능력이었다. 연속으로 손실을 보면 봇은 더 신중해졌고, 연속으로 이기면 더 공격적으로 변했다. 그것은 반응이 빠르고, 거의 살아 있는 것처럼 보였다 — 자신이 어떻게 하고 있는지에 주의를 기울이고 그에 맞춰 조정하는 시스템…
2026-07-06 · 트레이딩 RL 시스템 만들기어느 날, git이 내 작업을 더 이상 저장하지 못하게 만들었다. 한 번도 본 적 없는 서버 오류와 함께 푸시가 실패했다 — 병합 충돌도, 권한 문제도 아니고, 그저 반대편에서의 단호한 거부였다. 나는 몇 주 동안 즐겁게 커밋해 왔는데, 이제 하루 중 가장 일상적인 명령어가 완료되지 않았다.
2026-07-04 · 트레이딩 강화학습 시스템 만들기내 초기 모델 중 하나는 안정적으로, 거의 지루할 만큼 수익이 나는 것처럼 보이는 거래들을 찾아냈다 — 작은 이익이 꾸준히 흘러나오는, 마침내 진짜를 발견했다고 믿게 만드는 그런 종류의 일관성이었다.
2026-07-02 · 트레이딩 강화학습 시스템 만들기몇 주 동안, 나는 놀라운 진전을 이루고 있었다 — 그리고 그것을 증명할 수치까지 갖고 있었다. 내 코드베이스에는 품질 점수가 있었고, 그 점수는 세션을 거듭할수록 완벽한 100점을 향해 올라갔다. 나는 커밋 히스토리를 열어 그 선이 올라가는 것을 지켜볼 수 있었다.
2026-06-30 · 트레이딩 강화학습 시스템 만들기나는 수백만 개의 학습 예제로 이루어진 데이터셋을 만들겠다고 나섰다. 파이프라인이 끝났을 때, 그것이 내게 건넨 건 그 수치의 고작 몇 퍼센트였다 — 너무 작아서 오타처럼 보일 정도의 분량이었다. 아무것도 망가지지 않았다. 어떤 에러도 발생하지 않았다. 데이터 생성에 실패한 게 아니었다. 그것은 조용히 자기 자신의 거의…
2026-06-28 · 트레이딩 강화학습 시스템 만들기언젠가 나는 무거운 연산을 CPU에서 GPU로 옮기면서 그것이 날아갈 것이라 기대했다. 그런데 오히려 기어갔다 — 대체하기로 되어 있던 평범한 코드보다 극적으로 느렸다. 나는 속도를 샀는데 어쩐 일인지 느려짐을 설치한 셈이었다.
2026-06-26 · 트레이딩 RL 시스템 구축하기한 백테스트가 내가 바라던 것과 거의 정확히 정반대인 승률을 들고 돌아온 적이 있다. 모델이 대체로 맞기를 바랐던 자리에서, 그것은 대체로 틀렸다 — 그것도 무작위로 틀린 게 아니라, 깔끔하고 대칭적으로 틀려서, 마치 일부러 지려고 애쓰는 것 같았다.
2026-06-24 · 트레이딩 강화학습 시스템 만들기어느 날 밤, 긴 작업이 한창 돌아가던 도중에 컴퓨터 전체가 스스로 꺼졌다가 다시 켜졌다. 프로그램이 아니라 — 기계가. 한순간 프로세스가 돌아가고 있었는데, 다음 순간 나는 깨끗한 로그인 화면을 바라보고 있었다. 마치 누군가 전원 코드를 뽑았다가 다시 꽂은 것처럼.
2026-06-22 · 트레이딩 RL 시스템 만들기내 첫 실거래 봇의 히스토리 어딘가에는 자랑스럽지 못한 커밋이 하나 있다. 길이는 단 두 단어다. 돌아가고 있는 시스템 한복판에서, 문제를 없애버리려고 나는 계좌를 보호하기로 되어 있던 안전 장치에 손을 뻗어 이렇게 썼다. if False.
2026-06-20 · 트레이딩 RL 시스템 만들기한동안 내 모델 중 하나는 천재처럼 보였다. 백테스트는 깨끗했고, 자신감 넘쳤으며, 거의 너무 매끄러웠다. 나는 마침내 제대로 작동하는 무언가를 만들어냈다고 믿고 싶었다.
2026-06-18 · 트레이딩 강화학습 시스템 만들기어느 날 아침, 내 트레이딩 봇의 월간 리포트는 거의 모든 것을 잃었다고 알려왔다 — 불과 몇 주 만에 99%에 가까운 드로다운(낙폭). 머리가 상황을 따라잡기도 전에 속이 철렁 내려앉았다.
2026-06-16 · 트레이딩 RL 시스템 구축기어느 날 밤, 백테스트는 내가 변변찮은 시작 잔고를 2,792조 원으로 불렸다고 알려줬다 — 지구상 대부분 경제권의 연간 생산량을 넘어서는 액수다. 나는 그것을 멍하니 바라봤다. 몇 분 동안, 내 안의 조용하고 탐욕스러운 한 부분이 그게 진짜일 수도 있다는 이유를 찾아 나섰다.
2026-06-14 · 트레이딩 RL 시스템 만들기조기 종료(early stopping)는 학습을 끝낸 모델에 컴퓨팅 자원을 낭비하지 않도록 막아주는 장치다. 그런데 한동안 내 컴퓨팅 자원을 태우고 있던 장본인이 바로 이것이었다 — 좋은 에이전트가 좋아지기도 전에 죽여 버림으로써.
2026-06-11 · 트레이딩 RL 시스템 구축기내가 처음 실전 계좌에 투입한 트레이딩 봇은 거의 전부를 잃었다. 승률 25%, 최대 낙폭 99.99%. 시장이 잔인해서 터진 게 아니다. 대부분의 사람이 첫 봇을 만드는 방식 그대로 — 내 주관으로 얼기설기 엮은 프로토타입으로 — 만들었기 때문에 터졌다.
2026-06-10 · 트레이딩 RL 시스템 만들기