본문 바로가기

실전 원칙

테스트 자동화가 실제 계정 잔고를 참조하면 안 되는 이유 문제 제기: 테스트가 실계좌 잔고를 읽으면 무슨 일이 생기나자동매매나 백테스트, 전진검증(walk-forward)을 만들 때 흔히 저지르는 실수가 있다. 실행 권한만 분리하고 자본 기준은 실제 계좌를 그대로 참조하는 것이다. "어차피 주문은 안 나가니까 괜찮다"고 생각하기 쉽다.하지만 가상 자동매매가 실계좌 잔고를 참조하면 포지션 크기 계산이 운영 계좌 상태에 종속된다. 실계좌 잔고가 오르내릴 때마다 테스트의 가상 성과와 위험 규모가 함께 흔들린다는 뜻이다.왜 위험한가: 재현성과 위험 규모가 무너진다실제 개발 과정에서 국내주식 dry-run 자동매매를 추가하며 확인한 점은 이렇다. 가상 포지션 크기를 실계좌 잔고 기준으로 계산하면 다음 문제가 생긴다.재현 불가: 같은 전략을 같은 시점에 돌려도, 실계좌 .. 더보기
AI 자동화에 사람 검수 단계를 반드시 넣어야 하는 이유 문제 제기: '만드는 것'은 쉽고 '믿는 것'은 어렵다AI에게 자동화 시스템을 맡기면 결과물 자체는 만들어진다. 실제로 자동매매 시스템을 AI로만 개발했을 때도 시스템을 구축하는 것 자체는 어렵지 않았다. 정작 오래 걸린 것은 그다음이었다. 어떤 기준으로 동작할지 정하고, 그게 실제로 통하는지 검증하고 다듬는 과정 말이다.즉, AI 자동화의 진짜 난관은 '만들기'가 아니라 '이게 제대로 도는지 확인하기'다. 그리고 이 확인은 자동화 밖에 있는 사람이 해야 한다.왜 위험한가: 지시대로 됐다고 믿기 어렵다AI에게 그냥 '이렇게 해줘', '이렇게 만들어줘'라고만 지시했더니, 내가 생각했던 방향과 다르게 작업되는 경우가 많았다. 이게 핵심이다. 결과물이 나왔다고 해서 내가 의도한 대로 동작한다는 보장은 없다.의.. 더보기
여러 시스템을 다듬다 공통 매니저를 만든 이유 문제 제기: 하나가 잘 돌면 나머지도 잘 돌 줄 알았다시스템을 하나 잘 만들어 놓으면, 비슷한 대상에 그대로 붙이면 될 것 같습니다. 실제 개발 기록에서도 한국 주식으로 만든 기본 시스템에 코인과 미국 주식을 이어 붙이는 방식으로 확장했습니다.하지만 다듬는 과정에서 문제가 반복됐습니다. 한국 주식은 멀쩡한데 미국 주식에서만 문제가 생기는 일이 계속 나온 것입니다. 원인은 단순했습니다. 세 대상이 서로 다른 환경인데, 처음부터 끝까지 한국 주식 기준으로만 생각했기 때문입니다.왜 위험한가: 같은 수정이 환경마다 다르게 작동한다이 개발 기록에서 문제가 됐던 지점은, 한 곳(한국 주식)의 기준으로 검증한 사고방식을 나머지 환경에도 그대로 적용한 것이었습니다.거래 시간, 통화 단위, 데이터 형식, 규칙이 환경마다.. 더보기
자동화가 아무것도 안 할 때, 조건부터 완화하면 안 되는 이유 문제 제기: 아무 일도 일어나지 않는다자동화를 돌렸는데 결과가 나오지 않을 때가 있다. 매매 봇이 하루 종일 아무것도 사지 않거나, 알림이 오지 않거나, 조건 필터를 통과하는 후보가 하나도 없다. 이때 가장 흔한 반응은 "조건이 너무 빡빡한가 보다"라며 기준을 낮추는 것이다.그런데 조건을 완화하기 전에 던져야 할 질문이 있다. 정말 조건이 문제인가, 아니면 다른 단계에서 후보가 사라지고 있는가? 원인을 모른 채 기준부터 낮추면, 겨우 만들어 둔 안전장치를 스스로 허무는 결과가 된다.왜 위험한가: 완화는 안전 여유를 갉아먹는다실제 운영 기록에서 얻은 원칙이 있다. 국내·해외 자동매매를 함께 관찰하던 중 양쪽 모두 매수가 발생하지 않는 무매수 현상이 나타났다. 이때 매수 기준을 낮추지 않고, 탈락 사유와 기.. 더보기
계좌에 돈이 있어도 주문이 안 되는 원인 체크리스트 문제 제기: 돈은 있는데 왜 안 사지나계좌 잔고는 분명히 충분한데 매수가 이뤄지지 않는 경우가 있습니다. 매수 조건에는 맞아떨어졌는데도 사지지 않으면 보통 '돈이 부족한가?'부터 의심하게 됩니다.하지만 잔고와 무관하게 매수가 되지 않는 상황도 있습니다. 자동매매 프로그램을 만들다가 실제로 겪은 사례를 예로 들면, 계좌에 돈이 있어도 한 주 가격이 잔고보다 비싼 종목은 조건이 맞아도 사지지 않았습니다.왜 위험한가: 시장마다 주문 단위가 다르다제가 겪은 원인은 단순했습니다. 프로그램을 한국 주식 기준으로 만들었는데, 미국 주식에 그대로 적용한 것이 문제였습니다.한국 주식은 보통 1주 단위(정수)로 매수합니다.미국 주식은 종목에 따라 소수점 단위로도 매수할 수 있습니다.제 프로그램은 '무조건 정수 단위'로만 .. 더보기
다른 시장으로 자동화를 옮길 때 먼저 점검해야 할 것들 문제 제기: 잘 돌아가던 게 왜 다른 곳에선 멈추나한 환경에서 완성한 자동화 시스템은 재사용하고 싶어진다. 기본 틀을 그대로 두고 일부만 바꿔 붙이면 새 환경에서도 금방 돌아가기 때문이다. 실제로 필자는 한국 주식용으로 만든 자동매매 틀을 재사용해 코인용을 짧은 시간에 만들었고, 그 다음 날 미국 주식용까지 이어서 만들었다.재사용 덕분에 만드는 속도는 확실히 빨랐다. 다만 '금방 만들어진다'는 것과 '제대로 동작한다'는 것은 다른 이야기였다. 새 환경에는 원래 환경에 없던 규칙이 숨어 있었다. 그 결과 매수 조건을 충족해도 주문이 실행되지 않는 경우가 있었고, 코인에서는 개선 판단에 필요한 근거를 잡기 어려웠다. 재사용을 하지 말자는 게 아니라, 옮기기 전에 무엇을 점검해야 하는지가 이 글의 주제다.왜 .. 더보기
자동화 시스템을 만들기 전 API 가능 여부부터 확인하는 법 전략보다 먼저 확인해야 하는 것자동화 시스템을 만들 때 사람들은 흔히 '무엇을, 어떻게 자동화할지'부터 설계합니다. 하지만 그 앞에 먼저 던져볼 만한 질문이 있습니다. '그 작업을 프로그램이 대신 하는 게 애초에 가능한가?'실제로 주식 자동매매를 만들기로 했을 때, 저는 주식 지식이 거의 없는 상태였습니다. 그럼에도 제일 먼저 한 일은 매매 전략을 짜는 것이 아니라 '프로그램이 대신 사고파는 게 가능한지'를 알아보는 것이었습니다. 저는 이 사례에서 가능 여부를 먼저 확인하는 순서를 택했습니다.왜 API 확인을 건너뛰면 위험한가전략이나 코드를 먼저 완성한 뒤에 '그런데 이걸 자동으로 실행할 방법이 없다'는 사실을 뒤늦게 발견하면, 재작업이 필요해지거나 일정이 크게 지연될 수 있습니다.서비스가 외부 프로그램.. 더보기
AI 결과를 두 개 이상의 모델로 교차 검증하는 방법 문제 제기: AI 한 개 답변만 믿으면 생기는 일AI에게 "이렇게 만들어줘"라고만 요청하면 내가 생각한 방향과 다른 결과가 나오는 경우가 많습니다. 실제로 자동매매 시스템을 AI만으로 개발하던 초기에도, 처음에는 단순히 "이렇게 해줘"라고 지시했다가 의도와 다르게 작업되는 일을 여러 번 겪었습니다.AI 답변은 그럴듯해 보여도 그대로 최종 결론으로 삼기에는 위험할 수 있습니다. 그래서 하나의 모델 답변만 믿기보다, 답이 실제로 맞는지 별도로 확인하는 절차가 필요합니다.왜 위험한가: AI 답변과 실제 동작은 다르다AI가 내놓는 답은 "그럴듯한 텍스트"이지 "검증된 사실"이라는 보장은 없습니다. 특히 다음 상황에서 오차가 커지기 쉽습니다.최신 API나 라이브러리 변경 사항을 모를 때"이 기능은 지원하지 않는다.. 더보기

반응형