본문 바로가기

전체 글

예측 기능을 만들었다면 연결보다 적중률 집계가 먼저다 예측을 만들면 곧장 연결하고 싶어진다규칙이든 모델이든 예측 기능을 만들면 가장 먼저 하고 싶은 일은 그 신호를 실제 동작에 연결하는 것이다. 방향을 맞히는 로직을 짰으니, 그 방향대로 진입하는 매매에 바로 붙이면 성과가 날 것 같다. 하지만 이 순서를 뒤집으면 나중에 두 가지 질문을 구분할 수 없게 된다. '예측이 맞았는가'와 '연결한 전략이 돈을 벌었는가'는 다른 질문인데, 처음부터 붙여 버리면 둘이 하나의 결과로 뭉쳐 버린다.실제 개발에서도 이 순서를 지켰다. 장초반 5분봉으로 단기 방향을 예측하는 관찰 도구를 먼저 만들었고(EP.12), 그 뒤 누적 적중률을 집계하고 나서야 삼성전자·SK하이닉스 방향 신호를 가상단타 진입에 연결했다(EP.16). 연결이 마지막에 온 것은 우연이 아니라 검증 순서 때.. 더보기
EP.27 S5 립싱크 실수: 클론 음성 단순 remux의 함정 들어가며 · 왜 입모양이 어긋났나AI 영상 파이프라인에서 음성 교체는 흔한 작업이다. 그런데 이번에는 단순한 판단 실수 하나로 결과물을 통째로 폐기해야 했다. S5로 만든 네이티브 오디오 영상에 클론 음성만 remux(오디오 트랙 갈아끼우기)로 붙였더니, 영상 속 인물의 입모양과 소리가 어긋난 것이다.이 글은 그 실수를 그대로 기록하고, 왜 단순 remux가 립싱크를 깨뜨리는지, 그리고 앞으로 어떻게 크레딧을 지키며 같은 실수를 피할지를 정리한 짧은 빌드로그다.무엇을 확인했나 · 어긋난 입모양작업 흐름은 이랬다. 이미 네이티브 오디오가 들어간 영상이 있었고, 여기에 별도로 생성한 클론 음성 파일만 얹어 오디오 트랙을 교체(remux)했다. 재생해보니 소리는 나오는데 영상 속 입 움직임과 음성 타이밍이 맞.. 더보기
테스트 자동화가 실제 계정 잔고를 참조하면 안 되는 이유 문제 제기: 테스트가 실계좌 잔고를 읽으면 무슨 일이 생기나자동매매나 백테스트, 전진검증(walk-forward)을 만들 때 흔히 저지르는 실수가 있다. 실행 권한만 분리하고 자본 기준은 실제 계좌를 그대로 참조하는 것이다. "어차피 주문은 안 나가니까 괜찮다"고 생각하기 쉽다.하지만 가상 자동매매가 실계좌 잔고를 참조하면 포지션 크기 계산이 운영 계좌 상태에 종속된다. 실계좌 잔고가 오르내릴 때마다 테스트의 가상 성과와 위험 규모가 함께 흔들린다는 뜻이다.왜 위험한가: 재현성과 위험 규모가 무너진다실제 개발 과정에서 국내주식 dry-run 자동매매를 추가하며 확인한 점은 이렇다. 가상 포지션 크기를 실계좌 잔고 기준으로 계산하면 다음 문제가 생긴다.재현 불가: 같은 전략을 같은 시점에 돌려도, 실계좌 .. 더보기
EP.26 자동화 알림에서 '해야 할 일'과 '관찰 결과'를 분리하는 법 문제: 알림이 뒤섞이면 사람이 오해한다자동화 시스템을 운영하다 보면 하나의 알림 채널로 여러 종류의 메시지가 들어온다. 실제로 무언가를 승인해야 하는 '행동 요청'과, 시스템이 그냥 기록하는 '관찰 결과'가 같은 채널에 섞이는 순간, 사람은 어느 것에 반응해야 하는지 판단하기 어려워진다.필자는 매매 봇의 관찰(shadow) 모드를 운영하면서 이 문제를 직접 겪었다. 실제 주문을 내지 않는 관찰 상태였는데도, 추천·스캔·수동매매 관련 메시지가 실험 알림과 함께 도착했다. 실제 행동을 요청하는 메시지와 실험용 관찰 알림을 눈으로 구분하기가 쉽지 않았다.왜 위험한가행동 요청과 관찰 결과가 섞이면 두 방향으로 사고가 날 수 있다.잘못된 승인: 관찰용 알림을 실제 지시로 착각해 하지 않아도 될 조작을 하게 된다... 더보기
EP.25 백테스트 미래참조 버그, 결과가 뒤집힌 날 들어가며: 그럴듯한 숫자를 의심하기퀀트 백테스트를 만지다 보면 결과가 좋게 나올수록 오히려 조심해야 하는 순간이 있습니다. 이번 글은 매매 당일 자기 종가로 레짐(regime)을 라벨링하던 미래참조(look-ahead) 버그를 발견하고 고친 기록입니다. 고치고 나니 레짐 필터의 효과가 부풀려져 있었을 뿐 아니라, 최고와 최악의 순서까지 반대로 뒤바뀌었습니다.이 글은 완결된 전략 소개가 아니라, 하나의 검증 실패와 수정 과정을 남기는 개발 기록입니다.문제: 레짐과 수익률이 같은 하루를 봤다build_backtest는 각 매매일에 regime_by_date[매매일] = 그 매매일의 지수 등락률로 레짐 라벨을 붙이고 있었습니다. 문제는 수익률도 같은 날 시가→종가로 측정했다는 점입니다. 즉 레짐과 수익률이 같.. 더보기
새 자동화 기능은 실제 장부와 분리한 관찰 모드부터 돌려라 문제 제기: 새 기능을 실제 장부에 바로 붙이면 생기는 일새로운 자동화 전략이나 규칙이 떠오르면 곧바로 실제 시스템에 연결하고 싶어진다. 하지만 성격이 다른 가설을 기존 전략에 그대로 섞으면, 결과가 좋아도 나빠도 어느 규칙이 원인이었는지 분리할 수 없다.실제 개발에서 개장 급등주를 노리는 공격적 단타 가설을 별도 장부(Shadow Open)로 격리해 검증한 적이 있다. 기존 포지션 장부에 바로 섞었다면 손익과 실패 원인을 구분하지 못했을 것이다. 이 글은 그 경험에서 얻은 '관찰 모드 먼저' 원칙을 일반적인 자동화 작업에 적용할 수 있게 정리한 것이다.왜 위험한가: 원인 분리 불가와 되돌리기 어려움손익·실패 원인의 오염: 새 규칙과 기존 규칙의 결과가 한 장부에 섞이면, 성과의 원인을 특정 규칙에 귀속.. 더보기
EP.24 스캘핑 섀도우 3종 하루 완성기: KR·US·Coin 동시 구현 들어가며: 왜 3종을 하루에 붙일 수 있었나이번 작업의 핵심은 새 전략을 짠 게 아니라, 이미 계약(contract)으로 분리해둔 장부 인프라 위에 전략만 얹은 것입니다. 기존 4장부 도구(book_report·equity_graph·reset·review_delivery)를 슬러그만 shadow_scalp로 바꿔 전면 재사용했고, 그 덕에 신규 코드가 전략(rules)·비용(engine)·데이터 어댑터에 집중될 수 있었습니다.결과적으로 설계 문서(SCALPING_SHADOW_DESIGN.md) 작성 → 3개 레포 병렬 구현 → 리뷰·테스트 → push까지를 하루에 마쳤습니다. 이 글은 그 과정을 시장별로 정리한 개발 기록입니다.설계: 각 시장 2,000만원 가상 장부 + 장마감 리뷰세 시장 모두 공통 .. 더보기
AI 자동화에 사람 검수 단계를 반드시 넣어야 하는 이유 문제 제기: '만드는 것'은 쉽고 '믿는 것'은 어렵다AI에게 자동화 시스템을 맡기면 결과물 자체는 만들어진다. 실제로 자동매매 시스템을 AI로만 개발했을 때도 시스템을 구축하는 것 자체는 어렵지 않았다. 정작 오래 걸린 것은 그다음이었다. 어떤 기준으로 동작할지 정하고, 그게 실제로 통하는지 검증하고 다듬는 과정 말이다.즉, AI 자동화의 진짜 난관은 '만들기'가 아니라 '이게 제대로 도는지 확인하기'다. 그리고 이 확인은 자동화 밖에 있는 사람이 해야 한다.왜 위험한가: 지시대로 됐다고 믿기 어렵다AI에게 그냥 '이렇게 해줘', '이렇게 만들어줘'라고만 지시했더니, 내가 생각했던 방향과 다르게 작업되는 경우가 많았다. 이게 핵심이다. 결과물이 나왔다고 해서 내가 의도한 대로 동작한다는 보장은 없다.의.. 더보기

반응형