퀀트 운용 기록

퀀트 3전략 운용 방식 해설: 하루 시간표, 안전장치, 그리고 규칙에 추가한 종가베팅

readtest 2026. 10. 3. 08:57

지난 글(퀀트 3전략 운용 시작 선언)에서는 세 전략의 규칙과 백테스트 기대치를 적었다. 이번 글은 그 규칙이 실제로 어떻게 돌아가는지를 정리한다. 자동매매가 하루 동안 무엇을 하는지, 어떤 안전장치가 있는지, 사람이 개입하는 일은 무엇인지, 그리고 /25 이후 규칙에 추가한 내용이다. 규칙을 바꾸면 이유와 날짜를 글로 남기겠다고 했으니 그 약속을 지키는 글이기도 하다.

먼저 밝혀 둘 것

  • 내 돈으로 하는 운용 방식의 기록이며, 특정 종목이나 전략의 매수·매도를 권유하지 않는다.
  • 계좌 금액, 현재 보유 종목, 매수·매도 시점, 실제 체결 결과는 공개하지 않는다. 이 글에는 규칙과 구조만 있다.
  • 운용을 시작한 지 며칠밖에 되지 않았다. 아래 내용은 "이렇게 동작하도록 만들었다"이지 "잘 동작한다"는 확인이 아니다.

1. 전체 구조: 시장마다 엔진을 따로 둔다

자동매매는 하나의 큰 프로그램이 아니라 시장별로 나뉜 엔진 4개와 이를 관리하는 감독 프로그램으로 구성했다. 국내, 미국, 코인 엔진이 각자 시장에 주문을 보내고, 관제 엔진은 세 시장의 잔고와 포지션을 모아서 한 화면으로 보여 준다(조회만 하고 주문은 내지 않는다).

  • 엔진을 나눈 이유: 한 시장의 오류가 다른 시장의 매매를 막지 않게 하려는 것이다. 코인 엔진이 멈춰도 국내 엔진은 계속 돌아간다.
  • 감독 프로그램의 일: 엔진을 실행하고, 비정상 종료하면 자동으로 다시 켠다. 엔진의 기록이 일정 시간 갱신되지 않으면 멈춘 것으로 보고 알림을 보낸다.
  • 코드 수정 반영: 코드를 고치면 문법 검사를 먼저 하고, 오류가 없으면 해당 엔진만 다시 시작한다. 장 마감 직전처럼 매매에 민감한 시간대에는 반영을 미루고 끝난 뒤에 적용한다.
  • 거래 원장: 모든 주문과 신호를 한 곳에 기록한다. 전략별 성과를 따로 집계하려면 주문마다 "어느 전략의 어떤 이유로 낸 주문인지"가 남아 있어야 하기 때문이다. 이 기록이 월간 브리핑의 근거가 된다.
  • 알림: 체결, 오류, 엔진 정지, 신호가 없었던 날의 사유를 메신저로 받는다. 매수가 없는 날에도 왜 없었는지를 알려 주도록 해서, 조용히 고장 난 것과 규칙상 쉬는 것을 구분한다.

2. 하루 시간표

세 시장이 움직이는 시각이 다르다. 아래는 규칙에 정해 둔 시각이며(한국 시간), 국내 전략의 시각은 /25의 규칙에 아래 3절에서 설명하는 추가 규칙을 더한 것이다.

국내 (평일)

시각 하는 일
08:20 전일까지의 일봉으로 후보 종목 기준값을 준비한다.
08:35 돌파 직전 종목의 대기 목록을 만든다(실제 주문 없는 모의 감시용).
08:41 전날 종가베팅으로 산 종목이 있으면 장 시작 전 시장가로 매도 주문을 낸다. 09:00 시가에 체결되며, 체결되지 않으면 장중에 3분마다 다시 시도한다.
09:01 ~ 15:19 돌파 모의 감시가 60초마다 시세를 확인해 기록한다. 실제 보유 종목은 30초마다 손절·익절 조건을 점검한다.
14:15 돌파 전략의 신규 매수를 하루 한 번 검토한다. 사지 않으면 사유를 알려 준다.
15:17 종가베팅 신호를 계산한다.
15:20 ~ 15:27 종가 동시호가에 종가베팅 주문을 낸다.
15:21 ~ 15:28 쓰지 않고 남은 현금을 단기 금리형 ETF에 넣는다.
15:40 체결을 확인해 기록하고, 신호를 최종 종가 기준으로 다시 계산해 15:17 판단과 비교한다.
금요일 16:10 한 주간의 종가베팅·돌파 모의 감시 요약을 받는다.

미국과 코인

전략 언제, 무엇을
미국 가치주 분기마다 한 번(뉴욕 기준 1·4·7·10월 1~5일, 정규장 중) 리밸런싱한다. 평소에는 5분마다 손절선(-25%)만 점검한다. 한국 시간으로는 밤부터 새벽 사이다.
BTC 추세추종 4시간봉이 마감될 때(UTC 0·4·8·12·16·20시, 한국 시간 09·13·17·21·01·05시) 한 번 판단한다. 포지션이 있으면 60초마다 청산 조건을 확인한다.

코인은 정해진 시각에만 판단하기 때문에 차트를 계속 볼 필요가 없고, 그만큼 감정이 개입할 틈도 줄어든다.

3. /25 이후 규칙에 추가한 것

/25에서 규칙 확정일을 2026년 10월 1일로 적었다. 그 뒤 2026년 10월 2일부터 국내 전략에 아래 두 가지를 실전에 추가했다. 돌파 매매의 진입·청산 규칙 자체는 바뀌지 않았다.

추가 1. 종가베팅 (국내, 쓰지 않는 현금으로)

돌파 전략은 신호가 있을 때만 사기 때문에 현금이 놀고 있는 날이 많다. 그 현금으로 그날 강하게 오른 종목을 종가 동시호가에 사서 다음 날 시가에 파는 단기 매매를 병행한다.

  • 기본 신호(변형 A): 코스닥 지수가 20일선 위, 당일 +4~15% 상승, 현재가가 당일 고가 근처, 양봉, 거래량이 20일 평균의 2배 이상, 거래대금 50억원 이상, 20일선 위.
  • 변형 5개를 병행한다. A에 조건을 하나씩 더한 변형 B~E를 함께 돌린다(B: 20일 신고가, C: 코스피·코스닥 모두 20일선 위, D: 거래량 3배·거래대금 100억원, E: 당일 기관 순매수 양수). 어느 조건이 실제로 도움이 되는지 실전 기록으로 비교하기 위해서다. 성과가 나쁜 변형은 줄이고, 새 변형을 추가하는 식으로 다듬는다.
  • 크기 제한: 변형마다 하루 1종목, 종목당 국내 총자산의 10% 이내. 변형이 5개여도 합산이 한도를 넘지 않게 현금이 모자라면 줄인다.
  • 주문 방식: 종가 동시호가에 신호가 +2% 지정가로 낸다. 종가가 그보다 높게 끝나면 체결되지 않는다(급등 추격 방지). 다음 날 시가 동시호가에 시장가로 판다.
  • 모의 기록을 따로 둔다. 실제 주문 없이 모든 변형의 신호와 이론상 성과를 매일 기록한다. 15:17 판단과 15:40 최종 종가 기준 판단이 얼마나 일치하는지도 남긴다. 장 마감 직전에는 거래량·종가가 확정되지 않아서 신호가 바뀔 수 있기 때문이다.

왜 추가했나, 그리고 한계. 백테스트(실전 규칙을 재현한 6회 평균)에서 돌파 전략과 합치면 연 수익률이 약 6.6%p 올랐다. 그러나 슬리피지를 0.1%로 잡으면 그 효과가 사라졌다. 종가 동시호가와 시가 동시호가에서 실제로 얼마나 불리하게 체결되는지가 결과를 좌우한다는 뜻이다. 그래서 이 매매는 "수익이 날 것이다"가 아니라 "체결 품질을 실제로 확인해 보겠다"는 목적이 크다. 단기 매매라 변동성이 크고, 매일 거래가 발생하므로 거래세 부담도 있다. 기관 수급을 쓰는 변형 E는 15:17 시점의 잠정 수급이라 확정치(백테스트 기준)와 차이가 날 수 있고, 값이 오지 않는 날에는 쉰다.

추가 2. 놀고 있는 현금을 단기 금리형 ETF에 넣기

  • 종가베팅 주문을 낸 뒤에도 남은 현금은 CD금리를 추종하는 ETF로 넣어 둔다. 일정 금액(약 10만원)은 현금으로 남긴다.
  • 다음 날 돌파 전략의 매수나 종가베팅에 현금이 필요하면 부족한 만큼만 이 ETF를 먼저 팔고, 대금이 잔고에 들어온 것을 확인한 뒤 주식을 산다. 팔기에 실패하면 가진 현금 안에서만 산다.
  • 백테스트에서는 현금을 그냥 두는 것보다 연 0.3%p 정도 나았다(6개 구간 중 5개에서 우위). 효과가 작다. 이자를 더 받자는 것보다 현금이 놀지 않게 한다는 정도의 의미다.

4. 안전장치

자동매매에서 가장 무서운 것은 "규칙대로 안 돼서 생기는 손실"이다. 그래서 전략 규칙과 별도로 오류를 막는 장치를 겹겹이 둔다.

대상 장치
국내 증권사가 알려 주는 최대 매수 가능 수량으로 주문 수량을 제한한다(상한가 증거금 오류 방지).
국내 하루 신규 매수 종목 수와 총 매매 횟수에 한도를 두고, 당일 실현 손실이 한도에 닿으면 그날 매매를 멈춘다.
국내 매도한 종목은 3일간 다시 사지 않는다. 매수 직후 나온 매도 신호는 두 번 연속 확인한 뒤에야 실행한다.
국내 시장 필터가 약세이거나, 지수 데이터가 오류이거나 오래되었으면 신규 매수를 보류한다(판정 불가는 쉬는 쪽으로).
국내 매도 주문을 낸 종목은 3분간 같은 주문을 다시 내지 않는다(체결 대기 중 중복 주문 방지).
미국 구매력이 필요 금액의 95%에 못 미치면 리밸런싱 주문 전체를 취소한다. 손절 주문 후 6시간 동안 같은 종목에 다시 주문하지 않는다.
미국 매매 상태 파일은 주문 접수가 아니라 실제 체결 잔고로 갱신한다.
코인 모든 청산 주문은 "포지션을 줄이기만 하는 주문"으로 낸다. 잔고가 최소 주문 규모에 못 미치면 진입하지 않는다.
전체 엔진이 죽거나 멈추면 자동 재시작하고 알림을 보낸다.

5. 자동화가 못 막는 것

  • 코인 스탑 주문은 봇이 직접 낸다. 거래소에 미리 걸어 둔 스탑이 없어서 봇이나 연결이 멈춰 있으면 손절이 작동하지 않는다. 가장 큰 구조적 약점이다.
  • 시세·API 장애. 증권사나 거래소 서버가 느리거나 데이터가 틀리면 판단도 틀릴 수 있다. 판정이 불가능하면 쉬도록 만들어 두었지만 모든 경우를 막지는 못한다.
  • 코드 버그. 새 매매 로직은 실계좌와 분리된 환경에서 먼저 시험하지만, 실제 시장의 모든 상황을 시험할 수는 없다. 그래서 새 규칙은 모의 기록을 거친 뒤 실전에 넣으려고 한다.
  • 체결 품질. 백테스트는 슬리피지를 가정할 뿐이다. 종가·시가 동시호가의 실제 체결은 앞에서 말한 종가베팅의 성패를 좌우한다.
  • 사람이 하는 일. 자동화가 있어도 사람이 해야 할 일이 있다. 알림이 이상할 때 확인하고, 계좌 입출금과 이체를 하고, 규칙 변경 여부를 판단하는 일이다. 돈이 오가는 행동은 사람이 직접 한다.

6. 앞으로의 기록

기록 방식은 /25에서 정한 대로다. 월 1회 브리핑을 쓰고, 운용 3개월이 쌓이기 전에는 성과를 평가하지 않으며, 첫 성과 브리핑은 2027년 1월 이후다. 금액과 현재 보유 종목은 공개하지 않는다. 종가베팅은 변형별로 실전과 모의 성과를 쌓은 뒤 어느 변형이 남고 어느 변형이 빠졌는지를 그때그때 기록하겠다. 규칙을 바꾸면 이 글처럼 이유와 날짜를 남긴다.


※ 본 글은 개인의 투자 운용 방식에 대한 학습·기록이며, 특정 종목이나 자산의 매수·매도를 권유하지 않습니다. 자동매매와 레버리지 선물 거래는 원금 손실 위험이 매우 큽니다. 백테스트는 과거 데이터에 기반한 것으로 생존편향과 과최적화의 한계가 있고, 과거 성과가 미래를 보장하지 않습니다. 투자 판단과 책임은 투자자 본인에게 있습니다.

반응형