실행 비용 · 3년, 10년 국채선물 종가 단일가

종가 단일가에 100계약을 넣으면 체결가가 얼마나 밀리는가

국채선물 종가 단일가에서 우리 주문 크기가 예상 체결가를 몇 틱 움직이는지 실제 단일가 장부로 쟀다. 10년 선물은 100계약에 약 0.8틱으로 문턱 0.5틱을 넘었고, 3년 선물은 0.1틱이었다.

폐기 (H864) 2026년 44거래일 선형 충격 탄력, 날 부트스트랩

세 줄 요약

  1. 10년 국채선물 종가 단일가에 100계약을 더하면 예상 체결가가 한 방향으로 0.81틱(95% 구간 0.65 ~ 0.99) 밀린다. 문턱 0.5틱을 넘으므로 «종가 단일가 충격 0» 가정은 100계약에서 깨진다.
  2. 충격은 크기에 거의 정비례한다. 50계약 0.40틱, 100계약 0.80틱으로 오목하지 않았다. 3년 선물은 같은 크기에서 0.10틱으로 10년의 8분의 1 수준이다.
  3. 판정은 폐기(H864)다. 10년 종가 단일가 전략은 50계약 이상에서 비용을 다시 매겨야 하고, 3년은 지금 가정으로 충분하다.

가설과 결론

가설
H864: 10년 국채선물 종가 단일가에서 100계약 주문의 예상 충격은 0.5틱 미만이다. 보조 가설로 H865(3년의 충격은 10년의 절반 이하), H866(충격은 크기에 오목해 100계약 충격이 50계약의 두 배보다 작다), H867(10년 개장 단일가에서도 100계약 충격이 0.5틱 미만), H868(종가 단일가에서 진입과 청산을 하는 10년 고유 몫 되돌림 전략을 100계약으로 키워도 거래당 순손익이 양)을 두었다.
결론
10년 선물 100계약의 충격은 0.81틱이고 95% 한쪽 상한이 0.96틱이라 H864 는 지지되지 않는다. 3년 선물은 10년의 0.12배라 H865 는 Holm 보정 뒤에도 지지된다. 충격은 오목하지 않고 선형이며(H866 미지지), 10년 개장 단일가는 3.1틱으로 훨씬 크다(H867 미지지). 고유 몫 되돌림은 100계약 충격을 진입과 청산에 모두 물려도 평균 +4.41틱이 남지만 Holm 보정 뒤 p 는 0.12 다(H868 미지지).

왜 이 질문을 했나. 종가 단일가는 15:35 부터 15:45 까지 주문을 모아 15:45 에 한 가격으로 체결한다. 연속 거래처럼 호가 간격(스프레드)을 건너지 않으므로 앞선 백테스트들은 종가 단일가 체결을 «충격 0, 여유분으로 왕복 1틱» 으로 다뤘다. 이 가정은 주문이 작을 때는 맞지만, 주문을 10계약에서 100계약으로 키우면 우리 주문 자체가 수급의 균형을 옮겨 체결가를 밀 수 있다. 단일가에서 체결가는 매수와 매도 누적 수량이 만나는 점이므로, 그 점 근처에 쌓인 잔량이 얇으면 100계약만으로 1틱 이상 움직일 수 있다.

이 실험은 생성형 주문장 모형의 시장 충격을 평가한 논문(arXiv 2610.27100, LOB-Impact Benchmark)에서 출발했다. 그 논문은 생성 모형에 큰 주문을 넣어 충격 지수 δ 가 0.63 ~ 1.21 로 나온다고 보고하고, 모형의 반응을 볼 수 있는 주입과 기계적 효과만 있는 통제(blind control)를 나눈다. 우리는 생성 모형을 학습하지 않고 실제 단일가 장부로 직접 잰다. 시장 반응이 섞인 충격은 방법 A 로, 반응 없는 기계적 충격은 방법 B 로 옮겨 왔다. 결론은 크기를 키우는 결정이 10년 종가 단일가에서는 비용 가정을 바꾼다는 것이다.

용어와 기호

3선, 10선
3년, 10년 국채선물 근월물. 그날 체결량이 가장 큰 월물을 근월로 본다.
틱
가격 최소 변동 단위 0.01 포인트. 3선과 10선이 같다.
종가 단일가
15:35 ~ 15:45 접수한 주문을 15:45 에 한 가격으로 체결하는 방식. 그 가격이 종가다.
개장 단일가
08:30 ~ 08:45 접수, 08:45 에 한 가격으로 체결한다.
예상체결가 e
단일가 접수 중 거래소가 알리는 «지금 마감하면 체결될 가격». 틱 단위로 적는다.
잔량 장부
단일가 접수 중 호가 행이 보여 주는, 가상 체결 뒤 남은 매수와 매도 주문. 다섯 단계 가격과 수량, 총잔량이 있다.
x
총매수잔량 − 총매도잔량(계약). 체결 예정 물량은 양쪽에 같은 크기로 있으므로 x 의 변화 Δx 는 그 사이 새 주문과 취소로 생긴 순매수 주문 흐름이다.
Δe
두 관측 사이 예상체결가 변화(틱).
λ_d
하루 d 의 충격 탄력(틱/계약). Δe 를 Δx 에 원점 통과 최소제곱으로 회귀한 기울기.
λ̄
날 평균 탄력. 날마다 같은 무게로 평균한다.
I(Q)
Q계약 한 방향 주문의 예상 충격 = λ̄ × Q (틱). 왕복이면 두 배.
m(S)
크기 구간 S 의 실측 반응. |Δx| 가 S 에 드는 관측의 sign(Δx) × Δe 평균. S50 = 35 ~ 65계약, S100 = 75 ~ 125계약, S10 = 5 ~ 15계약.
ρ
오목성 비율 m(S100) / m(S50). 선형이면 약 2, 제곱근 법칙이면 약 1.41.
방법 B 최악, 낙관
마지막 장부에 시장가 Q 를 더해 새 체결가를 손으로 다시 잡는 계산. 최악은 이미 체결 예정인 주문이 가격에 둔감하다고 보고, 낙관은 우리 주문이 잔량 쪽과 같을 때 그 가격의 체결 예정 주문이 흡수한다고 본다.
날 부트스트랩
44일을 복원 추출해 λ̄ 를 다시 내는 일을 10,000번 되풀이해 구간과 한쪽 p 를 잡는다.
Holm
가설 다섯 개의 p 를 작은 것부터 (5, 4, 3, ...) 배 하여 다중 비교를 보정하는 방법.
고유 몫 되돌림
앞선 실험의 10선 전략. 주식선물과 달러선물로 설명되지 않는 하루 변화를 종가 단일가에서 거슬러 진입하고 다음 날 종가 단일가에서 청산한다. 2024-07 ~ 2026-10 에 207건.

자료

자료는 거래소 시각이 마이크로초까지 찍힌 코스콤 국채선물 호가 행이다. 단일가 접수 중의 행은 매수와 매도가 교차하지 않는다. 자료 점검에서 교차한 행은 하나도 없었고, 예상체결가는 1호가 매수와 1호가 매도 사이(경계 포함)에 99.8% 있었다. 이것은 거래소가 접수 중에 «가상 체결 뒤 남은 잔량» 을 보여 준다는 뜻이다. 한쪽 1호가가 예상체결가와 같으면 그 가격에 그쪽 주문이 남아 있는 것이고, 반대쪽 1호가는 한 틱 이상 떨어져 있다.

예상체결가와 총잔량, 2 ~ 5단 수량이 모두 기록된 날만 쓴다. 수신 장치가 이 필드를 받기 시작한 2026-07-21 ~ 07-28(6일)과 2026-09-08 ~ 11-05(38일), 합계 44일이다. 그 밖의 날은 예상체결가가 비어 있어 쓸 수 없다. 두 세션이 한 날짜로 섞인 07-31 은 원래 제외 목록에 있고 어차피 깊이가 없다. 마지막 예상체결가가 실제 종가와 같은지 1분봉 15:45 봉으로 맞대 보았다. 봉이 있는 37일 모두 같았고, 1분봉 구멍이 있는 7일은 마지막 예상체결가를 종가로 쓴다.

44일 모두 단일가 창의 마지막 행이 15:44:57.8 이후라 마감 직전 장부가 빠진 날은 없다. 11-04 와 11-05 는 다른 수신 사본에서 메운 날이라 행이 약 두 배 촘촘하다. 하위 표본에서 그 이틀을 뺀 판을 따로 보고한다. 근월 교체는 3선 09-14, 10선 09-15 에 있었고 그 이틀도 뺀 판을 낸다. 종가 단일가 체결량 중앙은 3선 8,191계약, 10선 2,932계약이다. 100계약은 10선 단일가 체결량의 약 3.4%, 3선의 약 1.2% 다.

쓴 자료. 결과 런 20261109T000649_main 과 자료 점검 표에서 옮겼다.
자료기간해상도행, 표본비고
코스콤 선물 호가(단일가 창)2026-07-21 ~ 07-28, 09-08 ~ 11-05거래소 시각, 마이크로초44일, 하루 3선 496행, 10선 462행(중앙)예상체결가, 1 ~ 5단 잔량, 총잔량
확증 창(15:40 ~ 15:45)같음행 단위하루 약 235행Δx 75 ~ 125계약 관측 10선 820건
자체 1분봉 15:45 봉같음1분37일(7일 구멍)종가 확인과 단일가 체결량
고유 몫 되돌림 거래 목록2024-07-29 ~ 2026-10-28거래207건진입과 청산 모두 종가 단일가

방법

질문은 «우리가 Q계약을 더하면 종가가 몇 틱 움직이나» 다. 이것을 두 가지로 잰다. 방법 A 는 실제로 다른 참가자들의 주문이 들어올 때 예상체결가가 얼마나 반응했는지를 보고, 그 반응률을 우리 주문에 옮긴다. 방법 B 는 마지막 장부 위에 우리 주문을 얹어 체결가를 직접 다시 계산한다. 방법 A 가 확증이고 B 는 비교다. 판정 문턱, 창, 관측 단위, 검정은 결과를 보기 전에 사전등록 문서로 커밋했다.

방법 A 충격 탄력

단일가 접수 중 행에서 행으로 넘어갈 때마다 두 값을 잰다. 하나는 순주문 흐름 Δx(총매수잔량 − 총매도잔량의 변화)이고 다른 하나는 예상체결가 변화 Δe 다. 체결 예정 물량은 매수와 매도에 같은 크기로 들어 있으므로 Δx 는 체결가가 바뀌어도 흔들리지 않는 «새로 들어온 순매수 주문의 양» 이다. 하루마다 Δe 를 Δx 에 원점 통과로 회귀해 기울기 λ_d 를 얻고, 44일 평균 λ̄ 에 Q 를 곱해 I(Q) 를 낸다.

확증 창은 마지막 5분(15:40:00 ~ 15:44:59.999)이다. 단일가 초반에는 장부가 얇아 예상체결가가 크게 출렁이는데, 우리 주문은 끝까지 남아 마지막 장부와 함께 체결되므로 장부가 두꺼워진 뒤의 반응이 맞는 척도다. 오목성은 선형 회귀로는 볼 수 없으므로 크기 구간 실측 m(S50), m(S100) 을 따로 낸다. 실제로 50계약 남짓, 100계약 남짓한 순주문이 한 번에 들어온 관측만 모아 그때의 반응을 평균한 값이라 모형 가정이 없다.

방법 B 직접 재계산

15:44:59 의 마지막 장부에 시장가 매수 Q 를 더한다. 이미 체결 예정인 주문들이 가격에 둔감하다고 보면 새 체결가는 예상체결가 이상의 매도 잔량을 아래부터 누적해 Q 를 처음 넘는 가격이다. 매도는 대칭이다. 실제로는 지정가가 정확히 예상체결가인 체결 예정 주문이 가격이 움직이면 빠지므로 이 계산은 상한이다. 반대로 우리 주문이 잔량이 남은 쪽과 같은 방향이면 그 가격의 체결 예정 주문이 우리 주문에 자리를 내줄 수도 있어 0 이 될 수 있다. 이것을 낙관 판으로 둔다. 체결 예정 주문의 지정가 구성은 장부에 보이지 않으므로 방법 B 는 경계만 준다. 다섯 단계 밖으로 넘치면 5단 가격에 1틱을 더해 자른다.

검정과 격자

H864 와 H867 은 날 부트스트랩 10,000회에서 I(100) 이 0.5 이상인 비율을 한쪽 p 로 쓴다. H865 는 같은 날 재표본으로 낸 비율 λ̄₃/λ̄₁₀ 이 0.5 이상인 비율, H866 은 ρ 가 2 이상인 비율이다. H868 은 고유 몫 되돌림 207건의 거래당 순손익(총이익 − 기본 비용 1틱 − 2 × I(100))을 월 블록 부트스트랩으로 검정한다. 다섯 p 에 Holm 을 건다. 이 실험은 매매 규칙이 아니라 비용 측정이라 신호 빈도 규칙은 적용하지 않는다.

판정에 쓰지 않는 비교도 미리 정했다. 귀무는 날 안에서 Δx 의 순서를 섞은 순열 1,000회다. 기준선은 충격 0, 고정 1틱, 제곱근 법칙(σ × √(Q/V), V 는 그날 단일가 체결량) 셋이다. 강건성 격자는 창 넷(전체, 마지막 5분, 2분, 1분) × 관측 단위 셋(행, 5초 묶음, 30초 묶음) × x 정의 둘(총잔량, 1 ~ 5단 잔량 합)이다. 하위 표본은 근월 교체 제외, 촘촘한 이틀 제외, 앞뒤 22일, 체결량 상하위, 예상체결가 범위 상위 10% 충격일 제외다.

결과

확증 결과

그림 1 은 하루(2026-10-28)의 종가 단일가를 따라간 것이다. 초반 2분 동안 10선 예상체결가가 종가 대비 40틱 넘게 흔들리다가 마지막 5분(점선 뒤)에는 x 가 오를 때 예상체결가도 계단처럼 올라 종가로 수렴한다. 이 «x 가 움직이면 e 가 따라가는» 관계의 기울기가 충격 탄력이다.

2026-10-28 종가 단일가 동안 예상체결가와 순주문 누적 x 의 경로, 10선과 3선
그림 1. 2026-10-28 종가 단일가. 초록 계단은 예상체결가(종가 대비 틱), 파랑은 x(총매수잔량 − 총매도잔량). 점선은 15:40, 그 뒤가 확증 창이다.

그림 2 는 44일의 마지막 5분 관측을 모두 모은 것이다. 10선은 순주문 100계약에 예상체결가가 평균 약 0.8틱, 3선은 같은 100계약에 약 0.1틱 움직인다. 날별 기울기의 평균은 10선 0.0081틱/계약, 3선 0.00096틱/계약이다. 날 안에서 Δx 순서를 섞은 귀무에서는 기울기의 99% 분위가 10선 0.0005, 3선 0.00006 이라 관측값은 귀무보다 열 배 이상 크다. 44일 모두 두 테너의 기울기가 양이었다. 구간 평균(초록)이 회귀선(빨강)을 따라가므로 선형 근사가 크게 어긋나지 않는다.

마지막 5분 행 단위 순주문 흐름과 예상체결가 변화의 산점도와 탄력 회귀선
그림 2. 15:40 ~ 15:45 행 단위 (Δx, Δe). 회색 점은 무작위 6,000개(예상체결가는 틱 단위라 세로로 조금 흔들어 그렸다), 초록은 Δx 구간 평균, 빨강은 날 평균 기울기 λ̄. 기울기는 결과 파일에서 다시 맞춰 λ̄ 와 같은지 확인했다.
확증 가설 다섯. 날 부트스트랩 10,000회(H868 은 월 블록). 결과 런 20261109T000649_main 의 metrics.json.
가설측정값 [95% 구간]한쪽 pHolm p판정
H864 10선 종가 I(100) < 0.5틱λ̄ × 1000.81 [0.65, 0.99], 한쪽 상한 0.961.0001.000미지지
H865 3선 ≤ 10선의 절반λ̄₃ / λ̄₁₀0.119 [0.091, 0.154]< 0.0001< 0.0001지지
H866 오목(ρ < 2)m(S100)/m(S50), 10선2.00, 한쪽 상한 2.520.491.000미지지
H867 10선 개장 I(100) < 0.5틱λ̄ × 1003.10 [2.38, 3.86]1.0001.000미지지
H868 고유 몫 되돌림 100계약 순손익 > 0거래당 평균+4.41틱, 한쪽 하한 +0.580.0310.124미지지

그림 3 은 크기 구간마다 실측 반응을 로그 축에 그린 것이다. 기울기 1 의 점선(선형)과 기울기 0.5 의 점선(제곱근)을 함께 두었다. 10선 종가(빨강 실선)는 5계약부터 300계약까지 선형 점선 위를 거의 그대로 따라간다. 50계약 구간 평균은 0.40틱, 100계약 구간 평균은 0.80틱으로 비율이 정확히 2.00 이다. 3선 종가는 오히려 조금 가팔라 비율이 2.43 이다. 연속 거래에서 흔히 보는 제곱근 모양의 오목성은 단일가 장부에서 나타나지 않았다.

주문 크기 구간별 예상체결가 반응을 로그 축에 그린 충격 곡선, 선형과 제곱근 기준선 포함
그림 3. |Δx| 구간(1 ~ 4, 5 ~ 14, 15 ~ 34, 35 ~ 64, 65 ~ 124, 125 ~ 249, 250 이상)별 sign(Δx) × Δe 의 날 평균. 가로축은 구간 안 |Δx| 중앙값. 실선은 종가, 점선은 개장 단일가 마지막 5분. 수평선은 0.5틱.

그림 4 는 날별 λ_d × 100 이다. 10선은 44일 중 14일만 0.5틱 아래였고, 중앙값은 0.65틱, 가장 낮은 날 0.14틱, 가장 높은 날 2.42틱이다. 9월 초중순에 1.5 ~ 2.4틱인 날이 몰려 있고 10월에는 0.2 ~ 0.8틱 날이 많다. 시기에 따라 장부 두께가 다르다는 뜻이다. 3선은 44일 모두 0.5틱 아래이고 가장 큰 날이 0.33틱이다. 3선은 어느 날에도 100계약 충격이 0.5틱을 넘지 않았다.

날별 100계약 충격 추정치와 날 평균, 부트스트랩 구간, 0.5틱 문턱
그림 4. 날별 100계약 충격 λ_d × 100(점), 날 평균(빨강 선), 날 부트스트랩 95% 구간(분홍 띠), 0.5틱 문턱(점선). 7월 말과 9월 초 사이는 예상체결가가 기록되지 않은 기간이다.

크기별 비용표

아래 표와 그림 6 은 계약 수별 한 방향 충격을 방법마다 나란히 놓은 것이다. 10선 종가에서 방법 A 의 선형 추정과 크기 구간 실측은 10, 50, 100계약 모두 0.02틱 안에서 맞는다. 방법 B 의 낙관과 최악 사이에 방법 A 가 들어간다. 낙관 판(0.47틱)은 우리 주문이 잔량 쪽과 같을 때 비용이 0 이라고 보는 가장 좋은 경우이고, 최악 판(1.98틱)은 체결 예정 주문이 전혀 움직이지 않는다고 보는 가장 나쁜 경우다. 실제 반응을 담은 방법 A 가 그 가운데인 0.81틱이다. 50계약에서 10선 충격은 0.40틱으로 문턱 아래이므로 문턱을 넘는 크기는 약 60계약 근처다.

크기별 한 방향 충격(틱). 방법 A 선형이 확증, 나머지는 비교. cost_table.csv.
단일가테너방법10계약20계약50계약100계약
종가10선A 선형0.080.160.400.81
종가10선A 구간 실측0.060.400.80
종가10선B 낙관 ~ 최악0.06 ~ 0.890.09 ~ 1.000.27 ~ 1.420.47 ~ 1.98
종가3선A 선형0.010.020.050.10
종가3선B 낙관 ~ 최악0.00 ~ 0.570.00 ~ 0.570.03 ~ 0.650.07 ~ 0.73
개장10선A 선형0.310.621.553.10
개장3선A 선형0.030.050.130.26
주문 크기별 한 방향 충격, 방법 A 선형과 구간 실측, 방법 B 범위
그림 6. 종가 단일가 크기별 한 방향 충격. 회색 띠는 방법 B 의 낙관 ~ 최악, 빨강은 방법 A 선형, 초록 네모는 크기 구간 실측. 왼쪽 10선, 오른쪽 3선(세로축 눈금이 다르다).

강건성과 실행 시점

그림 5 는 사전등록한 격자 가운데 총잔량 정의 12칸이다. 10선에서 0.5틱 아래인 칸은 하나도 없다. 마지막 1분 창이 0.60 ~ 0.77, 마지막 2분이 0.68 ~ 0.73, 마지막 5분이 0.63 ~ 0.91, 단일가 전체 창이 1.02 ~ 1.89 다. 3선은 모든 칸이 0.04 ~ 0.10 이다. 1 ~ 5단 잔량 합을 x 로 쓴 정의는 0 근처나 음수가 나왔다. 가격이 한 틱 움직이면 다섯 단계 창이 함께 옮겨 가면서 잔량 합이 기계적으로 반대로 바뀌기 때문이고, 이 정의는 쓸 수 없는 것으로 판단했다.

창과 관측 단위에 따른 100계약 충격 격자 열지도, 10선과 3선
그림 5. 창(세로) × 관측 단위(가로)별 I(100), 총잔량 정의. 확증 칸은 15:40 ~ 45, 행 단위. 색 범위는 10선 0 ~ 2틱, 3선 0 ~ 0.2틱.

창의 차이는 곧 실행 시점의 차이다. 주문을 단일가가 막 열린 15:35 에 넣으면 그 뒤 장부가 얇은 시간을 통과하며 반응이 크다(전체 창 1.89틱). 15:44 이후에 넣으면 0.60틱이다. 방법 B 를 15:40 의 장부에 걸면 10선 100계약 최악이 6.2틱으로 마지막 장부(2.0틱)의 세 배다. 단일가 주문은 늦게 넣을수록 싸다.

하위 표본별 100계약 충격(틱, 방법 A 선형). subsets.csv.
하위 표본날 수10선3선
전체440.810.10
근월 교체 이틀 제외420.780.09
촘촘한 이틀 제외420.800.10
앞 22일221.050.11
뒤 22일220.570.08
단일가 체결량 하위 절반190.810.07
단일가 체결량 상위 절반180.720.11
충격일(범위 상위 10%) 제외38 ~ 390.740.08

하위 표본 어디에서도 10선은 0.5틱 아래로 내려가지 않았다. 가장 작은 것이 뒤 22일의 0.57틱이고, 앞 22일은 1.05틱이다. 단일가 체결량이 많은 날이 적은 날보다 약간 작지만 차이는 0.1틱이다. 체결량보다 예상체결가 근처 잔량의 두께가 충격을 정한다는 해석과 맞는다. 체결량 정보가 1분봉 구멍 때문에 37일에만 있어 그 두 줄의 날 수는 합이 37이다.

전략 손익 다시 매기기

고유 몫 되돌림 207건은 진입과 청산이 모두 10선 종가 단일가다. 거래당 총이익은 평균 7.03틱이다. 계약 수 Q 의 충격을 진입과 청산에 한 번씩 물리고 기본 비용을 뺐다. 100계약, 기본 1틱이면 7.03 − 1 − 2 × 0.81 = +4.41틱이 남는다(월 블록 한쪽 p 0.031, 하한 +0.58). Holm 보정 뒤 p 는 0.124 라 H868 은 지지되지 않았다. 원래 전략의 유의성도 크지 않았으므로 충격을 더하면 문턱 근처로 내려오는 것이 자연스럽다.

계약 수와 기본 비용에 따른 고유 몫 되돌림 거래당 순손익
그림 7. 10선 고유 몫 되돌림 207건의 거래당 순손익(틱/계약). 빨강은 방법 A 충격, 회색은 방법 B 최악, 선 모양은 기본 비용 0.5, 1, 2틱.

방법 B 최악(한 방향 1.98틱)을 물리면 100계약 기본 1틱에서 +2.07틱(p 0.19)으로 줄어든다. 연도별로 보면 100계약, 기본 1틱에서 2024년 +0.76틱(43건), 2025년 +4.33틱(88건), 2026년 +6.58틱(76건)이다. 2024년은 충격을 물리면 거의 0 이다. 큰 충격일 2024-08-05 한 건을 빼면 평균 +3.92틱이다. 단일가에는 스프레드가 없으므로 기본 비용을 0.5틱으로 보면 +4.91틱(p 0.019)이다.

탐색 결과

다음은 계획에 없던 탐색이라 판정에 쓰지 않는다. 첫째, 충격이 종가까지 남는지 보았다. 행의 Δx 에 대해 그 행 직전부터 마감까지의 예상체결가 변화를 회귀하면 10선 100계약당 1.27틱이다. 순간 반응 0.81틱의 1.58배(구간 1.04 ~ 2.33배)라 충격은 단일가 안에서 되돌아가지 않는다. 1보다 큰 것은 순주문이 같은 방향으로 이어지는 자기상관 때문이며, 우리 주문이 추종 주문을 부른다는 증거는 아니다. 날 단위로 15:40 ~ 15:45 의 순주문 합과 예상체결가 변화를 날 사이 회귀한 값도 10선 1.09틱(0.72 ~ 1.42), 상관 0.81 이다.

순간 충격, 종가까지 남은 충격, 날 단위 집계 충격을 비교한 막대그림
그림 8. 100계약당 충격 세 가지. 순간(확증 λ̄ × 100), 종가까지 남은 몫, 날 단위 집계 회귀. 세로축은 로그.

둘째, 구간 평균을 로그로 회귀한 충격 지수 δ 는 10선 종가 1.02, 3선 종가 1.28 이다. 출처 논문의 생성 모형 지수(0.63 ~ 1.21)와 제곱근 법칙(0.5)보다 크다. 셋째, 방법 B 최악에서 방향을 나누면 마지막 잔량 쪽과 같은 방향의 100계약은 10선 3.0틱, 반대 방향은 0.9틱이다. 3선은 1.3틱 대 0.14틱이다. 10선 마지막 장부에서 잔량 반대편 1호가까지 거리의 중앙은 1틱이다. 넷째, 제곱근 법칙 기준선은 10선 100계약 13.4틱으로 지나치게 컸는데, σ 를 단일가 창 전체의 흔들림으로 잡아 초반의 얇은 장부가 σ 를 부풀렸기 때문이다.

실패 진단

여기부터는 결과를 본 뒤 더한 탐색이며 판정을 바꾸지 않는다. 10선 100계약이 왜 0.5틱을 넘는지, 그리고 날마다 왜 0.14틱에서 2.42틱까지 갈리는지 보았다. 마지막 5분 동안 예상체결가 ±2틱 안에 남아 있던 잔량(매수와 매도 합)의 평균을 그날의 «두께» 로 두고 날별 충격과 맞대었다. 10선은 순위상관 −0.58(p 0.00003, 44일)로 두꺼운 날일수록 충격이 작다. 단일가 체결량과는 −0.17(p 0.31)로 관계가 없었고, 그날 예상체결가가 얼마나 흔들렸는지와는 +0.41(p 0.005)이었다.

날별 100계약 충격과 예상체결가 근처 잔량 두께의 산점도, 10선과 3선
그림 9. 가로축은 마지막 5분 예상체결가 ±2틱 안 잔량 평균(로그), 세로축은 날별 100계약 충격(로그). 파랑은 앞 22일, 빨강은 뒤 22일. 회색 점선은 λ × 두께가 그 테너의 중앙값으로 일정할 때의 선. 점선 수평선은 0.5틱. 탐색.

두께의 중앙은 10선 217계약, 3선 1,814계약으로 여덟 배 남짓 차이가 난다. 그런데 λ 와 두께를 곱한 값의 중앙은 10선 1.61, 3선 1.57 로 거의 같다. «예상체결가 ±2틱 안 잔량만큼 주문을 넣으면 약 1.6틱 움직인다» 는 한 관계가 두 테너의 차이를 함께 설명한다. 앞 22일과 뒤 22일의 차이도 같은 방향이다. 두께 평균이 208계약에서 262계약으로 두꺼워졌고, 이 관계로 예측한 100계약 충격은 0.86틱에서 0.67틱으로 줄어든다(실측 1.05틱과 0.57틱). 10선 100계약이 0.5틱 아래가 되려면 두께가 약 320계약 이상이어야 하는데 44일 중 그런 날은 6일뿐이다. 실패의 원인은 신호가 아니라 장부의 두께이고, 주문 크기를 그날 두께에 맞추면 비용을 다스릴 수 있다는 뜻이다.

날별 충격 λ_d 와 그날 특성의 순위상관(탐색). depth.json.
특성10선 순위상관 (p)3선 순위상관 (p)
예상체결가 ±2틱 안 잔량−0.58 (0.00003)−0.21 (0.18)
예상체결가 ±1틱 안 잔량−0.58 (0.00003)−0.30 (0.049)
단일가 체결량(37일)−0.17 (0.31)+0.36 (0.028)
단일가 중 예상체결가 범위+0.41 (0.005)+0.35 (0.021)

나누기와 지정가

실행을 바꾸면 비용이 얼마나 주는지 두 가지로 보았다(탐색). 첫째는 연속 거래와 나누기다. 15:34:59, 단일가가 열리기 직전의 연속 거래 장부를 Q계약만큼 걸어 올라가면 미드 대비 계약당 비용이 10선 10, 20, 50, 100계약에 0.68, 0.74, 0.98, 1.39틱, 3선은 0.52 ~ 0.54틱이다. 단일가 쪽 비용을 날별 λ_d × q 로 두고 100계약을 두 곳에 나누어 계약당 평균 비용을 날마다 계산했다. 10선은 단일가 70계약과 연속 거래 30계약에서 0.64틱으로 가장 싸고, 전량 단일가 0.81틱보다 0.17틱, 전량 연속 거래 1.39틱보다 0.75틱 싸다. 3선은 전량 단일가 0.10틱이 가장 싸다.

100계약을 종가 단일가와 연속 거래로 나눌 때 계약당 비용 곡선
그림 10. 100계약 중 종가 단일가로 낸 수량(가로)에 따른 계약당 한 방향 비용. 나머지는 15:34:59 연속 거래 장부를 걸어 체결한다고 본다. 44일 평균. 탐색.

다만 연속 거래 쪽 체결가는 종가가 아니라 15:34:59 미드 근처다. 10선에서 그 미드와 종가의 차이는 44일 평균 −0.91틱, 표준편차 7.0틱이라 평균 비용은 거의 그대로지만 나눈 30계약의 손익은 종가 기준 전략과 거래마다 어긋난다. 종가에서 진입하고 종가에서 청산하는 전략에는 이 흔들림이 비용만큼 중요하다.

둘째는 단일가 안의 지정가다. 마지막 장부에서 매수 지정가를 예상체결가 그대로 두면 충격은 0 이지만, 최악 가정에서 10선 100계약이 다 체결되는 날은 16%, 평균 체결 비율은 30% 다. 한 틱 위에 두면 다 체결되는 날 53%, 두 틱 위면 72% 다. 3선은 한 틱 위에서 90% 가 다 체결된다. 10선에서 지정가로 충격을 묶으면 큰 주문의 일부를 놓친다.

단일가 지정가의 체결(최악 가정, 마지막 장부, 탐색). auction_limit.csv.
테너지정가50계약 평균 체결50계약 전량 체결 날100계약 평균 체결100계약 전량 체결 날
10선예상체결가39%27%30%16%
10선+1틱78%70%68%53%
10선+2틱89%82%83%72%
3선예상체결가49%47%47%43%
3선+1틱96%93%94%90%

마지막으로 고유 몫 되돌림 거래가 불리한 날에 몰리는지 보았다. 44일 안에 그 전략의 진입이나 청산이 있는 34개 다리에서 우리 방향이 마지막 잔량 쪽과 같은 비율은 정확히 50% 이고, 그 방향의 방법 B 최악 100계약은 평균 1.91틱(전체 1.98틱), 그날 100계약 충격은 0.71틱(전체 0.81틱)이다. 전략이 특별히 얇은 날이나 불리한 방향에 몰리지 않으므로 전체 평균 충격을 그대로 물리는 재평가가 맞다. 제곱근 법칙을 하루 단위(σ 는 44일 종가 변화 표준편차, V 는 하루 거래량)로 다시 계산하면 100계약 충격은 10선 1.70틱, 3선 0.39틱으로 실측의 두 배에서 네 배다.

해석

10선과 3선의 차이는 단일가 체결량 차이(약 2.8배)보다 훨씬 크다(약 8.4배). 단일가에서 체결가를 정하는 것은 하루 전체 물량이 아니라 예상체결가 바로 옆에 쌓인 잔량이다. 3선은 예상체결가 근처 1호가에 수백 계약이 쌓이고 10선은 수십 계약이다. 10선 100계약은 예상체결가 옆 한두 단계를 다 먹고 다음 단계로 넘어가는 크기다. 그래서 10선에서는 주문 크기가 비용을 바꾸고, 3선에서는 거의 바꾸지 않는다.

충격이 오목하지 않은 이유도 같은 데서 나온다. 연속 거래에서 큰 주문의 충격이 제곱근처럼 휘는 것은 주문을 나누어 내는 동안 상대 잔량이 다시 차기 때문이다. 단일가는 한 번에 체결되므로 우리 주문 뒤로 잔량이 다시 차는 시간이 없다. 장부를 그대로 걸어 올라가면 잔량이 고르게 쌓인 구간에서는 충격이 크기에 정비례한다. 실측 비율 2.00 은 그 그림과 맞는다. 그러므로 10선 종가 단일가 비용은 «계약당 약 0.008틱» 으로 크기에 비례해 늘린다고 보는 것이 맞다.

전략 쪽으로 옮기면, 거래당 총이익이 큰 고유 몫 되돌림은 100계약 충격(왕복 약 1.6틱)을 물어도 이익이 남는다. 하지만 총이익이 2 ~ 3틱인 다른 10선 종가 단일가 전략은 50계약 이상에서 비용을 다시 매겨야 한다. 10선 개장 단일가는 100계약에 3.1틱이라 큰 주문을 개장 단일가로 내는 것은 피해야 한다. 3선 종가 단일가는 100계약까지 0.1틱이라 기존 «왕복 1틱» 가정 안쪽이다.

한계

이 결론이 틀릴 수 있는 이유를 구체적으로 적는다.

표본이 44일, 한 해의 넉 달뿐이다. 앞 22일 1.05틱과 뒤 22일 0.57틱이 크게 갈려 시기 변동이 크다. 2024 ~ 2025년의 10선 장부가 지금과 같은 두께였다는 보장이 없다. 고유 몫 되돌림 재평가는 2024 ~ 2026년 거래에 2026년 충격을 그대로 덧씌운 것이다. 뒤 22일만 믿으면 10선 100계약은 0.57틱으로 문턱 바로 위이고, 장부가 더 두꺼워지면 0.5 아래로 내려올 수 있다. 100일이 쌓이면 다시 판정해야 한다.

회귀는 인과가 아니다. 순주문이 가격을 따라 들어오면(추종) 탄력이 부풀고, 가격에 맞서 들어오면(유동성 공급) 줄어든다. 우리 주문도 다른 참가자가 보고 반응하므로 반응이 섞인 값이 맞는 척도라고 보았지만, 마지막 1초에 넣는 주문은 반응을 받지 않는다. 그때 충격은 방법 B 의 낙관과 최악 사이(0.47 ~ 1.98틱)이고 그 폭이 넓다. 총잔량에는 예상체결가에서 먼 주문도 들어 있어 시장성 주문 하나의 충격은 λ̄ 보다 클 수 있다.

방법 B 는 경계만 준다. 체결 예정 물량의 지정가 구성이 장부에 보이지 않는다. 10선 100계약은 19% 의 날에 다섯 단계 밖으로 넘쳐 최악값도 잘렸다. 단일가에 임의 종료 규칙이 있는지는 이 실험에서 확인하지 못했지만 44일 모두 마지막 행이 15:44:57 이후였고 마지막 예상체결가가 종가와 같았다.

결과를 본 뒤 바꾼 것은 없다. 확증 정의와 문턱은 결과 전에 커밋한 그대로다. 영구 몫, 날 단위 집계, 충격 지수, 방향 의존은 계획에 없던 탐색이다. 제곱근 기준선은 계획대로 계산했으나 결과를 보니 σ 정의가 부적절했다. 비용 가정에 대해서도 적는다. 고유 몫 되돌림의 기본 비용 1틱은 단일가에 스프레드가 없는데도 둔 여유분이고, 10선의 연속 거래 스프레드는 3선보다 넓으므로 연속 거래로 나누어 내는 대안의 비용은 따로 재야 한다.

다음에 해 볼 것

첫째, 나누기를 실제 체결로 확인한다. 탐색의 70 대 30 배분(계약당 0.64틱)은 15:34:59 장부가 그대로 있다는 가정이다. 15:30 ~ 15:34:59 에 30계약을 나누어 낼 때 장부 회복을 포함한 실제 체결가를 같은 44일 체결 틱으로 재고, 종가와의 추적 오차가 전략 손익 분산을 얼마나 키우는지와 함께 0.17틱 이득이 남는지 본다.

둘째, 잔량 두께로 크기를 정한다. «λ × ±2틱 잔량 ≈ 1.6» 관계로 15:44:50 의 두께에서 충격 0.5틱 이하가 되는 계약 수만 단일가에 넣고 나머지를 연속 거래로 돌리는 규칙을 사전등록한다. 함께, 15:44:50 의 마지막 잔량이 우리와 반대 쪽일 때만 종가 단일가로 내고 같은 쪽이면 크기를 줄이는 규칙이 방법 B 기준 편도 0.9틱 대 3.0틱의 차이를 얼마나 거두는지 고유 몫 되돌림 거래로 잰다. 2027년 1분기에 표본이 100일을 넘으면 H864 를 다시 판정한다.

산출물

모든 수치는 아래 결과 폴더의 파일에서 옮겼다. 코드는 저장소 실험 폴더의 code 아래에 있고, 같은 명령으로 다시 돌리면 같은 날 목록과 같은 난수 씨앗으로 같은 값을 낸다.

  • 사전등록protocol.md
  • 분석과 판정analysis.md
  • 자료 점검code/s0_check.py, results/_check/data_check.csv
  • 본 런code/s1_main.py, results/20261109T000649_main/ (metrics.json, day_stats.csv, cost_table.csv, grid.csv, subsets.csv, curve.csv, repricing_0229.csv)
  • 탐색code/s2_persist.py, persist.json, aggregate_days.csv
  • 깊이 보강(탐색)code/s3_depth.py, results/20261109T002243_depth/ (depth.json, depth_days.csv, split.csv, auction_limit.csv, trades0229_overlap.csv)
  • 그림code/render_figures.py
  • 재현uv run python code/s1_main.py 다음 uv run python code/s2_persist.py results/<런>

Appendix

A. 데이터셋 실물

2026-10-28 10선 종가 단일가의 마지막 네 행이다. 예상체결가 107.05 에 매수 잔량이 남아 있고(1호가 매수 = 예상체결가), 매도 1호가는 5틱 위 107.10 이다. 마감 직전 몇 초 동안 107.05 매수 잔량이 182 에서 211 로 늘며 x 가 −84 에서 −55 로 오른다.

코스콤 호가 행 실물(단일가 창, 10선, 2026-10-28). 열 일부.
거래소 시각ex총매수총매도매수1수량매수2수량매도1수량매도2수량
15:44:58.040766107.05−848,1268,210107.05182107.0493107.10168107.1162
15:44:58.748157107.05−748,1368,210107.05192107.0493107.10168107.1162
15:44:59.000421107.05−608,1508,210107.05206107.0493107.10168107.1162
15:44:59.305115107.05−558,1558,210107.05211107.0493107.10168107.1162

B. 모델 입출력 실물

학습한 모델은 없다. 규칙의 입력은 행 단위 (Δx, Δe) 쌍이고 출력은 날별 기울기와 방법 B 재계산값이다. 같은 날 10선 확증 창에는 220쌍이 있었고, 그중 |Δx| 가 75 이상인 처음 여섯 쌍과 그날의 출력은 아래와 같다.

입력 실물(2026-10-28 10선, 15:40 ~ 15:45, |Δx| ≥ 75 인 처음 여섯 쌍).
Δx(계약)100150−130150300118
Δe(틱)02−2321
출력 실물(2026-10-28 종가 단일가). day_stats.csv.
테너행 수λ_d × 100m(S50)m(S100)잔량 쪽B 최악 매수, 매도 100B 낙관 매수, 매도 100단일가 체결량종가
10선4730.620.320.69매수5, 00, 02,884107.05
3선5020.110.000.15매수1, 00, 010,085103.20

이날 10선은 잔량이 매수 쪽에 남았으므로 우리가 100계약을 사면 최악 판에서는 매도 1호가 107.10 까지 5틱을 올라간다. 팔면 남은 매수 잔량 211계약이 받아 주므로 0 이다. 방향에 따라 최악 충격이 이렇게 갈리는 것이 탐색에서 본 «같은 방향 3.0틱 대 반대 방향 0.9틱» 의 원인이다.

C. 실험 설정

설정. 사전등록 문서와 s1_main.py 의 상수.
항목값
확증 창종가 15:40:00 ~ 15:44:59.999, 개장 08:40:00 ~ 08:44:59.999, 창 시작 직전 행을 기준점으로
관측 단위, x 정의행 단위, 총매수잔량 − 총매도잔량
회귀날마다 원점 통과 최소제곱, 날 평균
크기 구간S10 5 ~ 15, S50 35 ~ 65, S100 75 ~ 125계약
부트스트랩날 단위 10,000회, 월 블록 10,000회(H868), 씨앗 20261108
순열 귀무날 안 Δx 섞기 1,000회
격자창 4 × 단위 3 × x 정의 2
주문 크기10, 20, 50, 100계약
다중 비교H864 ~ H868 Holm, α 0.05
재평가 비용기본 0.5, 1, 2틱 + 2 × 한 방향 충격