라이브 운영 로그 분석

운영계 전략 분석 대시보드

⚠️ SAMPLE / SYNTHETIC DEMO DATA — 이 대시보드의 수치는 전부 가공 생성된 테스트 데이터입니다. 실제 운영 손익이 아니며, 실제 거래를 반영하지 않습니다.
This dashboard is populated with fabricated sample data to demonstrate the parsing/build pipeline only — it is not real trading P&L and must not be treated as a live financial record.
서버전략ETF운영기간합산증거금
ETF+헷지
기대수익 bp
증거금 수익률
턴오버bp bp
편도 체결 1원당
회전 ×
target 대비 편도
장운영 %
config 구간 대비
EOD최대전체5일1일전체5일1일전체5일1일전체5일1일
yuantaklmm완주규모고정헷지IOCKODEX 레버리지08/03~08/07114,178196,429+136.25+136.25+116.65+3.89+3.89+3.20777100100100
yuantatsmm완주규모고정헷지IOCTIGER 반도체TOP1008/03~08/07352,350550,950+65.73+65.73+69.88+5.77+5.77+8.62111100100100
집계 지표 4종은 모두 일자별 산술평균(각 날을 같은 무게로) — 상세표 합계행은 기간 실현치(Σ손익÷Σ턴오버, 턴오버 가중)라 값이 다르다. 정의 차이이지 불일치가 아니다. 각 지표가 무엇을 재는지는 상세 탭 범례에 있다(증거금·턴오버 수익률 → ① 체결손익, 합산증거금 → ③ 증거금, 회전 → 주문·체결)장운영 = config 가 정한 전략 운영 구간(strategy.trade_start_time~trade_finish_time, 예 09:00:30~15:19 = 378.5분) 대비 실제로 운영된 시간. 시작 = max(config 시작, 프로세스 기동) · 종료 = min(config 종료, 첫 halt) 이고, 장중 재시작으로 5분 하트비트가 빈 구간은 뺀다. 장시간 390분이 아니라 그 전략이 호가하기로 한 시간이 분모다프로세스 기동 시각은 전략 로그의 created log file at:(= 첫 5분 하트비트, 1~2초 차)로 잡는다 — 체결과 무관한 직접 증거다. 구간이 열린 뒤 떴으면 그만큼 미운영이다(klmm 2026-08-10 은 09:15:37 기동 → 앞 15분 미운영 → 96%). 1분 이내 차이는 측정 오차로 보고 유예한다조기중단마지막 하트비트(+한 주기 5분)와 마지막 체결 중 늦은 쪽을 '운영했다는 마지막 증거' 로 보고 판정한다. 한쪽만 쓰면 틀린다 — 하트비트만 보면 STRATEGY.log 가 장중에 끊긴 날(samm 07/31 은 10:10 에서 잘렸는데 체결은 14:04 까지)을 조기중단으로 몰고, 체결만 보면 조용한 구간이 미운영으로 잡힌다. 진짜 죽은 날은 둘이 함께 멈춘다(tsmm 2026-08-11 은 하트비트·체결 모두 09:01 에서 끝났고 체결이 5건뿐이다 → 0%). config 구간을 모르는 날은 폴백 구간(09:00~15:30)이 실제보다 길 수 있어 조기중단을 판정하지 않는다완주 = 그 구간을 처음부터 끝까지 운영한 날 = 장운영 100% — ① compliance_halt 0회 ② 지각 기동 없음 ③ 장중 재시작 없음 ④ 조기중단 없음. 상단 종합표 뱃지는 마지막 운영일 기준전체 / 5일 / 1일5일은 5거래일이 실제로 찼을 때만 채운다(2일치를 5일 평균이라 하면 표본 길이를 오해한다). 1일은 마지막 운영일 값이라 운영했다면 항상 채워지고, 운영일이 짧으면 전체와 같은 값이 나온다. 는 값이 정의되지 않은 경우다ETF 행(mamm · 접두) = 멀티에셋 전략은 전략 합산 행 아래에 종목 행을 함께 둔다 — ETF 가 곧 운영 단위라서다. 지표는 그 종목 단위로 계산하고 장운영·완주그 종목의 halt 기준이라 종목마다 다르다(compliance_halt 는 종목별로 걸린다). 전략 행의 장운영은 전 종목 중 가장 이른 halt 기준이다IOC · 헷지 뱃지 = 가장 최근 config 스냅샷에서 켜져 있는 기능(꺼져 있거나 그 전략에 없는 설정이면 달지 않는다). 매매 방식이 달라져 수치를 나란히 놓기 전에 먼저 볼 것 — 구체 값은 각 전략 config drift 탭 맨 앞 컬럼에 있다조작 행을 클릭하면 그 전략 상세로 바뀐다. 최근 거래일에 운영하지 않은 전략·종목은 기본 숨김이며 표 오른쪽 위 스위치로 켠다

① 체결손익 — 체결원장 기준 경제손익 분해

일자개시
재고
마감
재고
전일재고캐리
손익
전일재고×(종가−전일종가)
당일재고증감
손익
순매매×(종가−시가)
재고분
수수료
|순매매| 한쪽 약정
매칭 왕복
min(매수,매도)×(평균매도−평균매수)
체결손익
(gross)
= 매칭 왕복 + 잔여재고 시가평가
체결분
수수료
매칭 왕복 양방향
체결손익
(net)
= gross − 체결분 수수료
증거금
수익률
체결손익(net)÷최대합산증거금·bp
턴오버
수익률
net ÷ 전체 체결금액 × ½ · bp
잔여
노출
= 캐리+증감+헷지
외부
대량매매
event_id=0·비-MM
합계+430-940-21+11,435+12,095-705+11,390+579.85+3.92-510+0
일평균 (5일)01+86-188-4+2,287+2,419-141+2,278+136.25+3.89-102+0
최근 5일 평균 (5일)01+86-188-4+2,287+2,419-141+2,278+136.25+3.89-102+0
08/07완주규모고정헷지IOC-14-85+125-6+2,144+1,965-137+1,828+116.65+3.20+40
08/06완주규모고정헷지IOC-4-1+40+105-3+1,921+1,980-128+1,852+119.12+3.53+145
08/05완주규모고정헷지IOC4-4+460-920-8+2,696+3,190-149+3,041+172.29+4.84-460
08/04완주규모고정헷지IOC34+15+50-1+2,185+2,205-140+2,065+105.13+3.67+65
08/03완주규모고정헷지IOC03+0-300-3+2,489+2,755-151+2,604+168.09+4.23-300
규모고정 = 그 종목 첫 거래일재고 구조 변경일도 아닌 날. 재고 수량이 구조적으로 움직이지 않았으므로 당일재고증감이 포지션 세팅에서 오지 않고, 그날 손익을 순수 스프레드로 읽어도 된다(재고 규모가 고정된 날). 뱃지가 없는 날은 재고를 새로 깔거나 target 을 바꾼 날이라 재고 항이 MM 성과가 아니다 — 판정 기준은 전략에 따라 다르다 — 선물 헷지 전략(klmm)은 ETF target 이 헷지 델타를 따라 매일 바뀌므로 target 변동은 순수를 깨지 않고, 헷지 계약수가 달라진 날(개시·리밸런스)만 구조 변경으로 본다. 헷지가 없는 전략은 target inventory(그날 실제 기동값 session_etf_target) 변동을 기준으로 한다. 값을 모르는 날은 판정 불가라 붙이지 않는다. 상단 종합표의 뱃지는 마지막 운영일('1일' 지표와 같은 날)이 순수인지를 뜻한다IOC헷지그날까지 유효한 config 로 판정한다 — 상단 종합표의 같은 뱃지가 '가장 최근 스냅샷' 기준인 것과 달리, 여기서는 기능이 언제 켜졌는지가 일자별로 드러난다전일재고캐리 전일 마감재고 × (종가−전일종가)당일재고증감 = 당일 순매매수량 × (종가 − 시가). 순증재고는 장 초반에 형성돼 하루 내내 노출된다 — klmm-qa 08/07 은 09:41 첫 체결 뒤 09:45 에 10주 도달·종일 유지(시간가중 10.03주)였고, 분 단위 timer 로 구한 실제 시간적분(−16,685원) 과의 오차도 시가 마크가 가장 작았다(5,885원 · 체결평균가 마크는 18,212원)체결손익(gross) = 현금흐름 + 잔여재고 시가평가 = 매칭 왕복 + 잔여재고 시가평가 · 수수료 차감 전. 두 성격이 섞여 있으니 앞 컬럼과 같이 읽어야 한다매칭 왕복 = min(매수주, 매도주) × (평균매도가 − 평균매수가). 재고 마크와 무관하게 정의되는 순수 MM 엣지이며, 날짜·전략 간 비교는 이 값으로 해야 한다. 나머지(gross − 매칭 왕복 = 순매매 × (시가 − 체결평균가))는 잔여재고를 시가로 평가한 몫이라 재고 규모에 좌우된다 — klmm-qa 08/07 은 매칭 왕복 +1,240(편도 0.32bp)인데 gross 는 +13,567(3.5bp)로, 차이 +12,327 은 남은 10주의 평가차이지 더 번 게 아니다. 그중 약 89%는 시장 드리프트, 11%가 실제 스프레드 수취다(30분 버킷 × timer mid 로 분해)수수료 = 약정금액 총액 x 0.5bp(라이브 오설정 무시) — 이 전략 기간 실효 0.500bp. 예전엔 체결 건별로 계산 후 원 미만을 절사했는데, 1주씩 잘게 체결되는 저단가 전략일수록 버려지는 비중이 커져(samm-qa 는 건당 0.761원이라 전량 0원) 전략 간 비교가 왜곡됐다. 실제 위탁수수료는 합산 기준 부과라 총액에 요율을 적용한다수수료 분리 — 매칭 왕복 m주는 사고 되파느라 양방향 약정이 나지만, 남은 |순매매|주는 한쪽 약정만 난다. 앞쪽이 체결분 수수료(스프레드 수취의 비용), 뒤쪽이 재고분 수수료(재고를 만들거나 줄인 비용)다. 두 값의 합은 종전 총수수료와 같다 — 총액은 그대로 두고 귀속만 가른 것체결손익(net) = 체결손익(gross) − 체결분 수수료. 카드·수익률 지표의 분자이며, 재고를 만드느라 낸 수수료는 여기서 빠진다증거금 수익률 = 체결손익(net) ÷ 당일 최대 합산증거금(ETF+헷지) × 10⁴ (bp). * = 그날 ready 타이머가 없어(전략이 fair 미확정 상태로만 기동) 시세가 찍힌 타이머로 증거금을 산출한 날턴오버 수익률 = 체결손익(net) ÷ 전체 체결금액(매수약정+매도약정) × ½ × 10⁴ (bp). 턴오버 1 = 매수 1 + 매도 1 이므로 전체 체결금액으로 나눈 뒤 ½ 를 곱해 턴오버 1회 기준으로 맞춘다. 분모에 잔여분 약정까지 들어가 순매매가 큰 날은 다소 보수적으로(낮게) 나온다잔여 노출 = 전일재고캐리 + 당일재고증감 + 헷지손익(선물) — 수수료 전 델타 손익 기준. 델타헷지가 완전하면 0 에 수렴하며, 남는 값이 곧 헷지 추종 오차외부 대량매매 = tag <strat>0000(event_id=0) 대량 왕복. 전략 코드가 만들 수 없는(항상 event_id≥1) 외부 주체의 주문이라 비-MM합계 = 기간 총합. bp 는 기간 실현치(체결손익(net) 합÷최대합산증거금 · 체결손익(net) 합÷총 편도턴오버, 턴오버 가중)일평균 = 거래일 산술평균(각 날 같은 무게). 금액은 합÷일수, bp 는 일별 bp 의 평균 — 전략 카드 지표가 이 기준이라 합계행 bp 와 값이 다르다(정의 차이)주황 박스 = 최근 5거래일. 카드의 '· 5일' 지표가 본 구간이며, 맨 아래 최근 5일 평균 행이 그 구간의 산술평균전량 중앙 OMS er_history 체결원장으로 직접 재구성 — 계좌손익 = 체결손익 + 전일재고캐리 + 수동 − 수수료 라는 회계 항등식이 정의상 성립해 잔차 0. 재고 수량·마크는 position_book 을 쓰되 손익 금액(accum_net_pnl)은 쓰지 않는다 — 그 값이 같은 블록의 avg_prc·체결수량·금액과 어긋나는 날이 있어서다(yuanta-qa tsmm 2026-08-07 에서 688원)

② 일자별 계좌 실손익 — 체결 · 재고 · 총손익

일자운영시각
첫 체결
시초가
첫 체결가
종가
EOD
개시
재고
마감
재고
체결약정금액체결손익(net)
= ① 과 동일 · 매칭 왕복 − 체결분 수수료
재고손익
= 전일재고캐리 + 당일재고증감
재고분
수수료
|순매매| 한쪽 약정
헷지손익
선물 델타헷지 · 일별
외부
대량매매
event_id=0 · 비-MM
총손익
헷지 제외
총손익
헷지 포함
체결손익
Gross · 잔여재고 종가 평가
거래비용
0.5bp
체결순손익
Net
carry
전일잔고 평가
총손익
Net · 헷지 제외
합계5일5910.15억+11,390-510-21+10,859+10,859+11,155726+10,429+430+10,859
08/07종일09:00:1521,080*21,105*-141170.03억+1,828+40-6+1,862+1,862+2,090143+1,947-85+1,862
08/06종일09:00:2420,985*21,020*-4-11080.03억+1,852+145-3+1,994+1,994+2,085131+1,954+40+1,994
08/05종일09:00:1220,915*21,030*4-41250.03억+3,041-460-8+2,573+2,573+2,270157+2,113+460+2,573
08/04종일09:00:2220,865*20,915*341190.03억+2,065+65-1+2,129+2,129+2,255141+2,114+15+2,129
08/03종일09:00:1721,010*20,910*031220.03억+2,604-300-3+2,301+2,301+2,455154+2,301+0+2,301
왼쪽은 체결 / 재고 축, 오른쪽 음영체결 / 캐리 축이다 — 같은 계좌 손익을 다르게 가른 것이라 왼쪽 총손익(헷지 제외) 과 오른쪽 끝 총손익이 항상 같다(어긋나면 계산이 틀린 것). 오른쪽 축에는 선물 다리를 넣지 않으므로, 헷지까지 더한 계좌 전체는 왼쪽 총손익(헷지 포함) 이다종전엔 왼쪽 첫 열이 체결손익(net) − 재고분 수수료 + 외부 대량매매 를 한 칸에 뭉쳐 놨다. 성격이 다른 셋이라 갈랐다 — 재고분 수수료는 재고를 만들거나 줄이느라 낸 비용이라 재고 쪽이고, 외부 대량매매는 전략이 낸 주문이 아니라 비-MM 이다체결손익(Gross) = 현금흐름 + 순체결수량 × 당일종가 (전략·수동 체결 전부) · 거래비용 = (매수약정 + 매도약정) × 0.5bp, 체결측에만 — ETF 증권거래세는 0이고 슬리피지는 실체결가에 이미 들어 있다 · carry = 전일잔고 × (당일종가 − 전일종가), 체결이 없으므로 비용도 없다carry ≠ 재고손익 — 재고손익은 carry 에 당일 체결분의 시가→종가 변동까지 더한 값이다. 그 몫은 오른쪽 축에서 체결손익 안에 들어간다
왼쪽 3열체결손익 = ① 체결손익(net) + 외부 대량매매 · 재고손익 = 전일재고캐리 + 당일재고증감(체결이 아니라 재고를 들고 있어서 난 몫) · 둘을 더하면 총손익체결손익이라는 말은 두 표에서 가리키는 양이 다르다 — ①의 gross매칭된 왕복분만(잔여재고는 자기 체결평균가로 평가돼 기여 0)이고, 오른쪽 음영의 Gross 는 잔여재고까지 종가로 평가한 값이다. 차이가 곧 당일재고증감시각 그날 첫 체결 시각시초가·종가 KRX 공식 시세(market_ohlc.json), 미제공(*)만 OMS 대체(첫체결·position_book EOD)개시·마감 재고 position_book net_position_vol · 전일 마감 연속 체인계좌손익은 체결원장 현금흐름 + 잔여재고 종가평가라, 종가 마크에 따라 달라진다(잔여재고가 클수록 민감)

③ 증거금 — ETF · 헷지 · 합산

일자개시
재고
마감
재고
ETF 증거금
EOD/최대
헷지 증거금
EOD/최대
합산 증거금
EOD/최대
08/07-1484,420 / 126,87029,758 / 29,843114,178 / 156,713
08/06-4-121,020 / 125,85029,638 / 29,61750,658 / 155,467
08/054-484,120 / 146,86029,652 / 29,645113,772 / 176,505
08/043483,660 / 166,96029,490 / 29,469113,150 / 196,429
08/030362,730 / 125,31029,483 / 29,61092,213 / 154,920
ETF 증거금 |보유수량| × ETF가 (현물 100% 현금증거금)헷지 증거금 target × |lev|(2×) × 가격 × 증거금률(7.05%, 미니 KOSPI200(A011F))합산 = ETF + 헷지⚠ 실운영 미헷지(헷지계좌 미사용) — 헷지·합산은 가상 오버레이 기준 필요증거금EOD/최대 = 종가 · 장중최대 포지션

체결 통계

일자운영매수
체결(주)
매도
체결(주)
총체결
턴오버매수
체결(건)
매도
체결(건)
총체결
매수
체결금액
매도
체결금액
총체결
금액
매수
체결율
합계5일3483446922952965917백만7백만15백만
08/07종일706513559581171백만1백만3백만
08/06종일646112556521081백만1백만3백만
08/05종일717915063621251백만2백만3백만
08/04종일686713555641191백만1백만3백만
08/03종일757214762601222백만2백만3백만
매수/매도 체결(주) 방향별 체결 수량 · 총체결(주)턴오버 = 편도 체결수량 ÷ target 수량 = (매수+매도)/2 ÷ target. target 재고를 하루에 몇 번 회전시켰는지매수/매도 체결(건) 방향별 체결 건수 · 총체결(건)체결금액 방향별·총 체결대금매수체결율 누적 매수 체결/제출

주문 통계

일자운영매수
신규
매도
신규
매수
정정
매도
정정
매수
정정/신규
매도
정정/신규
합계5일3503476766
08/07종일7166716
08/06종일66631810
08/05종일78751511
08/04종일68741213
08/03종일67691516
신규 NEW 주문 건수(방향별) · 정정 MODIFY 주문 건수(방향별)정정/신규 방향별 재호가 강도(정정÷신규)전략 주문(er_history event_id≠0)만, 수동 제외

주문 접수 지연 (거래소 접수확인 왕복)

지연 트레이스(ZMQTRACE)가 있는 날이 없습니다.

접수확인 왕복시간 주문 송신 ~ 거래소 접수확인 ER(tr_type=1) · order_no 매핑p50/p95/p99 버킷 n_rtt 가중(µs) · 실제 거래소 응답(ZMQ 왕복 아님)지연 트레이스(ZMQTRACE)는 SYS.log 기록일만

일자별 운영 요약 — 날짜 클릭 시 하루 상황 그래프

일자상태운영시간
config 구간
장운영
%
시초가종가개시→마감
재고
체결금액매수
체결율
halt
latch
트리거
체결율
throttlerisk차단
status<0
재시작거래소
FILL
08/07완주운영 종일

09:00–15:20
100%21,08021,105-140.03억
08/06완주운영 종일

09:00–15:20
100%20,98521,020-4-10.03억
08/05완주운영 종일

09:00–15:20
100%20,91521,0304-40.03억
08/04완주운영 종일

09:00–15:20
100%20,86520,915340.03억
08/03완주운영 종일

09:00–15:20
100%21,01020,910030.03억
종일 EOD까지 생존 · 조기종료 오전 중 중단 halt @HH:MM compliance_halt latch(매수체결율<0.153) · throttle×N S1 스로틀 운영시간 09:00~15:30 파랑=운영구간·빨강선=halt · halt latch 최초 latch 시각 · 트리거 체결율 latch 순간 매수체결율 risk차단 계좌 risk 한도로 거래소 전송 전 거부(status<0) · 재시작 프로세스 재기동 · 거래소FILL 실제 체결 표의 날짜를 클릭하면 그날 운영·차단·재시작 타임라인 + 매수체결율·포지션 추이가 아래에 나온다.
스냅샷hedge_enabledhalf_spread
08-07False15
08-06False15
08-05False20
08-04False15
08-03False15
매일 아침 스냅샷 config.json에서 운영 중 바뀐 파라미터만 추림변경된 값만 또렷하게 강조하고, 직전 스냅샷과 같은 값은 흐리게 둔다(행 단위가 아니라 값 단위). 흐린 값 중 이월(그날 소스에 그 항목이 없어 직전 값을 끌어온 것)은 셀에 마우스를 올리면 표시된다
생성 2026-08-12 05:48 · 소스 production/yuanta/klmm/parsed · 파서 production/parse_day.py · 빌더 build_dashboard.py. 08/03–08/07 거래일 5개(운영 5) · 서버 yuanta. 라이브 기록이며 백테스트 결과가 아님.
"""

① 체결손익 — 체결원장 기준 경제손익 분해

일자개시
재고
마감
재고
전일재고캐리
손익
전일재고×(종가−전일종가)
당일재고증감
손익
순매매×(종가−시가)
재고분
수수료
|순매매| 한쪽 약정
매칭 왕복
min(매수,매도)×(평균매도−평균매수)
체결손익
(gross)
= 매칭 왕복 + 잔여재고 시가평가
체결분
수수료
매칭 왕복 양방향
체결손익
(net)
= gross − 체결분 수수료
증거금
수익률
체결손익(net)÷최대합산증거금·bp
턴오버
수익률
net ÷ 전체 체결금액 × ½ · bp
잔여
노출
= 캐리+증감+헷지
외부
대량매매
event_id=0·비-MM
합계+460-3,000-18+10,713+13,130-537+12,593+228.57+5.67-2,540+0
일평균 (5일)-30+92-600-4+2,143+2,626-107+2,519+65.73+5.77-508+0
최근 5일 평균 (5일)-30+92-600-4+2,143+2,626-107+2,519+65.73+5.77-508+0
08/07완주규모고정헷지IOC-514+650-2,850-12+1,952+3,950-100+3,850+69.88+8.62-2,200
08/06완주규모고정헷지IOC-6-5-840+70+0+967+860-115+745+22.28+1.62-770
08/05완주규모고정헷지IOC-5-6+450+80-1+1,989+1,940-114+1,826+55.36+3.97+530
08/04완주규모고정헷지IOC2-5+200-560-4+2,931+3,500-94+3,406+99.20+8.66-360
08/03완주규모고정헷지IOC02+0+260-1+2,873+2,880-114+2,766+81.91+6.00+260
규모고정 = 그 종목 첫 거래일재고 구조 변경일도 아닌 날. 재고 수량이 구조적으로 움직이지 않았으므로 당일재고증감이 포지션 세팅에서 오지 않고, 그날 손익을 순수 스프레드로 읽어도 된다(재고 규모가 고정된 날). 뱃지가 없는 날은 재고를 새로 깔거나 target 을 바꾼 날이라 재고 항이 MM 성과가 아니다 — 판정 기준은 전략에 따라 다르다 — 선물 헷지 전략(klmm)은 ETF target 이 헷지 델타를 따라 매일 바뀌므로 target 변동은 순수를 깨지 않고, 헷지 계약수가 달라진 날(개시·리밸런스)만 구조 변경으로 본다. 헷지가 없는 전략은 target inventory(그날 실제 기동값 session_etf_target) 변동을 기준으로 한다. 값을 모르는 날은 판정 불가라 붙이지 않는다. 상단 종합표의 뱃지는 마지막 운영일('1일' 지표와 같은 날)이 순수인지를 뜻한다IOC헷지그날까지 유효한 config 로 판정한다 — 상단 종합표의 같은 뱃지가 '가장 최근 스냅샷' 기준인 것과 달리, 여기서는 기능이 언제 켜졌는지가 일자별로 드러난다전일재고캐리 전일 마감재고 × (종가−전일종가)당일재고증감 = 당일 순매매수량 × (종가 − 시가). 순증재고는 장 초반에 형성돼 하루 내내 노출된다 — klmm-qa 08/07 은 09:41 첫 체결 뒤 09:45 에 10주 도달·종일 유지(시간가중 10.03주)였고, 분 단위 timer 로 구한 실제 시간적분(−16,685원) 과의 오차도 시가 마크가 가장 작았다(5,885원 · 체결평균가 마크는 18,212원)체결손익(gross) = 현금흐름 + 잔여재고 시가평가 = 매칭 왕복 + 잔여재고 시가평가 · 수수료 차감 전. 두 성격이 섞여 있으니 앞 컬럼과 같이 읽어야 한다매칭 왕복 = min(매수주, 매도주) × (평균매도가 − 평균매수가). 재고 마크와 무관하게 정의되는 순수 MM 엣지이며, 날짜·전략 간 비교는 이 값으로 해야 한다. 나머지(gross − 매칭 왕복 = 순매매 × (시가 − 체결평균가))는 잔여재고를 시가로 평가한 몫이라 재고 규모에 좌우된다 — klmm-qa 08/07 은 매칭 왕복 +1,240(편도 0.32bp)인데 gross 는 +13,567(3.5bp)로, 차이 +12,327 은 남은 10주의 평가차이지 더 번 게 아니다. 그중 약 89%는 시장 드리프트, 11%가 실제 스프레드 수취다(30분 버킷 × timer mid 로 분해)수수료 = 약정금액 총액 x 0.5bp(라이브 오설정 무시) — 이 전략 기간 실효 0.500bp. 예전엔 체결 건별로 계산 후 원 미만을 절사했는데, 1주씩 잘게 체결되는 저단가 전략일수록 버려지는 비중이 커져(samm-qa 는 건당 0.761원이라 전량 0원) 전략 간 비교가 왜곡됐다. 실제 위탁수수료는 합산 기준 부과라 총액에 요율을 적용한다수수료 분리 — 매칭 왕복 m주는 사고 되파느라 양방향 약정이 나지만, 남은 |순매매|주는 한쪽 약정만 난다. 앞쪽이 체결분 수수료(스프레드 수취의 비용), 뒤쪽이 재고분 수수료(재고를 만들거나 줄인 비용)다. 두 값의 합은 종전 총수수료와 같다 — 총액은 그대로 두고 귀속만 가른 것체결손익(net) = 체결손익(gross) − 체결분 수수료. 카드·수익률 지표의 분자이며, 재고를 만드느라 낸 수수료는 여기서 빠진다증거금 수익률 = 체결손익(net) ÷ 당일 최대 합산증거금(ETF+헷지) × 10⁴ (bp). * = 그날 ready 타이머가 없어(전략이 fair 미확정 상태로만 기동) 시세가 찍힌 타이머로 증거금을 산출한 날턴오버 수익률 = 체결손익(net) ÷ 전체 체결금액(매수약정+매도약정) × ½ × 10⁴ (bp). 턴오버 1 = 매수 1 + 매도 1 이므로 전체 체결금액으로 나눈 뒤 ½ 를 곱해 턴오버 1회 기준으로 맞춘다. 분모에 잔여분 약정까지 들어가 순매매가 큰 날은 다소 보수적으로(낮게) 나온다잔여 노출 = 전일재고캐리 + 당일재고증감 + 헷지손익(선물) — 수수료 전 델타 손익 기준. 델타헷지가 완전하면 0 에 수렴하며, 남는 값이 곧 헷지 추종 오차외부 대량매매 = tag <strat>0000(event_id=0) 대량 왕복. 전략 코드가 만들 수 없는(항상 event_id≥1) 외부 주체의 주문이라 비-MM합계 = 기간 총합. bp 는 기간 실현치(체결손익(net) 합÷최대합산증거금 · 체결손익(net) 합÷총 편도턴오버, 턴오버 가중)일평균 = 거래일 산술평균(각 날 같은 무게). 금액은 합÷일수, bp 는 일별 bp 의 평균 — 전략 카드 지표가 이 기준이라 합계행 bp 와 값이 다르다(정의 차이)주황 박스 = 최근 5거래일. 카드의 '· 5일' 지표가 본 구간이며, 맨 아래 최근 5일 평균 행이 그 구간의 산술평균전량 중앙 OMS er_history 체결원장으로 직접 재구성 — 계좌손익 = 체결손익 + 전일재고캐리 + 수동 − 수수료 라는 회계 항등식이 정의상 성립해 잔차 0. 재고 수량·마크는 position_book 을 쓰되 손익 금액(accum_net_pnl)은 쓰지 않는다 — 그 값이 같은 블록의 avg_prc·체결수량·금액과 어긋나는 날이 있어서다(yuanta-qa tsmm 2026-08-07 에서 688원)

② 일자별 계좌 실손익 — 체결 · 재고 · 총손익

일자운영시각
첫 체결
시초가
첫 체결가
종가
EOD
개시
재고
마감
재고
체결약정금액체결손익(net)
= ① 과 동일 · 매칭 왕복 − 체결분 수수료
재고손익
= 전일재고캐리 + 당일재고증감
재고분
수수료
|순매매| 한쪽 약정
헷지손익
선물 델타헷지 · 일별
외부
대량매매
event_id=0 · 비-MM
총손익
헷지 제외
총손익
헷지 포함
체결손익
Gross · 잔여재고 종가 평가
거래비용
0.5bp
체결순손익
Net
carry
전일잔고 평가
총손익
Net · 헷지 제외
합계5일7680.11억+12,593-2,540-18+10,035+10,035+10,130555+9,575+460+10,035
08/07종일09:00:1112,300*12,150*-5141540.02억+3,850-2,200-12+1,638+1,638+1,100112+988+650+1,638
08/06종일09:00:2412,210*12,280*-6-51610.02억+745-770-25-25+930115+815-840-25
08/05종일09:00:1512,220*12,140*-5-61560.02억+1,826+530-1+2,355+2,355+2,020115+1,905+450+2,355
08/04종일09:00:2012,150*12,230*2-51390.02억+3,406-360-4+3,042+3,042+2,94098+2,842+200+3,042
08/03종일09:00:1012,000*12,130*021580.02억+2,766+260-1+3,025+3,025+3,140115+3,025+0+3,025
왼쪽은 체결 / 재고 축, 오른쪽 음영체결 / 캐리 축이다 — 같은 계좌 손익을 다르게 가른 것이라 왼쪽 총손익(헷지 제외) 과 오른쪽 끝 총손익이 항상 같다(어긋나면 계산이 틀린 것). 오른쪽 축에는 선물 다리를 넣지 않으므로, 헷지까지 더한 계좌 전체는 왼쪽 총손익(헷지 포함) 이다종전엔 왼쪽 첫 열이 체결손익(net) − 재고분 수수료 + 외부 대량매매 를 한 칸에 뭉쳐 놨다. 성격이 다른 셋이라 갈랐다 — 재고분 수수료는 재고를 만들거나 줄이느라 낸 비용이라 재고 쪽이고, 외부 대량매매는 전략이 낸 주문이 아니라 비-MM 이다체결손익(Gross) = 현금흐름 + 순체결수량 × 당일종가 (전략·수동 체결 전부) · 거래비용 = (매수약정 + 매도약정) × 0.5bp, 체결측에만 — ETF 증권거래세는 0이고 슬리피지는 실체결가에 이미 들어 있다 · carry = 전일잔고 × (당일종가 − 전일종가), 체결이 없으므로 비용도 없다carry ≠ 재고손익 — 재고손익은 carry 에 당일 체결분의 시가→종가 변동까지 더한 값이다. 그 몫은 오른쪽 축에서 체결손익 안에 들어간다
왼쪽 3열체결손익 = ① 체결손익(net) + 외부 대량매매 · 재고손익 = 전일재고캐리 + 당일재고증감(체결이 아니라 재고를 들고 있어서 난 몫) · 둘을 더하면 총손익체결손익이라는 말은 두 표에서 가리키는 양이 다르다 — ①의 gross매칭된 왕복분만(잔여재고는 자기 체결평균가로 평가돼 기여 0)이고, 오른쪽 음영의 Gross 는 잔여재고까지 종가로 평가한 값이다. 차이가 곧 당일재고증감시각 그날 첫 체결 시각시초가·종가 KRX 공식 시세(market_ohlc.json), 미제공(*)만 OMS 대체(첫체결·position_book EOD)개시·마감 재고 position_book net_position_vol · 전일 마감 연속 체인계좌손익은 체결원장 현금흐름 + 잔여재고 종가평가라, 종가 마크에 따라 달라진다(잔여재고가 클수록 민감)

③ 증거금 — ETF · 헷지 · 합산

일자개시
재고
마감
재고
ETF 증거금
EOD/최대
헷지 증거금
EOD/최대
합산 증거금
EOD/최대
08/07-514170,100 / 366,600182,250 / 184,350352,350 / 550,950
08/06-6-561,400 / 147,840184,200 / 186,600245,600 / 334,440
08/05-5-672,840 / 146,520182,100 / 183,300254,940 / 329,820
08/042-561,150 / 158,990183,450 / 184,350244,600 / 343,340
08/030224,260 / 155,870181,950 / 181,800206,210 / 337,670
ETF 증거금 |보유수량| × ETF가 (현물 100% 현금증거금)헷지 증거금 target × |lev|(1×) × 가격 × 증거금률(15.00%, 구성종목 단일주식선물(A004F))합산 = ETF + 헷지⚠ 실운영 미헷지(헷지계좌 미사용) — 헷지·합산은 가상 오버레이 기준 필요증거금EOD/최대 = 종가 · 장중최대 포지션

체결 통계

일자운영매수
체결(주)
매도
체결(주)
총체결
턴오버매수
체결(건)
매도
체결(건)
총체결
매수
체결금액
매도
체결금액
총체결
금액
매수
체결율
합계5일4634499123843847686백만5백만11백만
08/07종일1018218384701541백만1백만2백만
08/06종일949318779821611백만1백만2백만
08/05종일949518976801561백만1백만2백만
08/04종일77841616871139938,8801백만2백만
08/03종일979519277811581백만1백만2백만
매수/매도 체결(주) 방향별 체결 수량 · 총체결(주)턴오버 = 편도 체결수량 ÷ target 수량 = (매수+매도)/2 ÷ target. target 재고를 하루에 몇 번 회전시켰는지매수/매도 체결(건) 방향별 체결 건수 · 총체결(건)체결금액 방향별·총 체결대금매수체결율 누적 매수 체결/제출

주문 통계

일자운영매수
신규
매도
신규
매수
정정
매도
정정
매수
정정/신규
매도
정정/신규
합계5일4704679595
08/07종일109822522
08/06종일961001823
08/05종일95992321
08/04종일84871510
08/03종일86991419
신규 NEW 주문 건수(방향별) · 정정 MODIFY 주문 건수(방향별)정정/신규 방향별 재호가 강도(정정÷신규)전략 주문(er_history event_id≠0)만, 수동 제외

주문 접수 지연 (거래소 접수확인 왕복)

지연 트레이스(ZMQTRACE)가 있는 날이 없습니다.

접수확인 왕복시간 주문 송신 ~ 거래소 접수확인 ER(tr_type=1) · order_no 매핑p50/p95/p99 버킷 n_rtt 가중(µs) · 실제 거래소 응답(ZMQ 왕복 아님)지연 트레이스(ZMQTRACE)는 SYS.log 기록일만

일자별 운영 요약 — 날짜 클릭 시 하루 상황 그래프

일자상태운영시간
config 구간
장운영
%
시초가종가개시→마감
재고
체결금액매수
체결율
halt
latch
트리거
체결율
throttlerisk차단
status<0
재시작거래소
FILL
08/07완주운영 종일

09:00–15:20
100%12,30012,150-5140.02억
08/06완주운영 종일

09:00–15:20
100%12,21012,280-6-50.02억
08/05완주운영 종일

09:00–15:21
100%12,22012,140-5-60.02억
08/04완주운영 종일

09:00–15:20
100%12,15012,2302-50.02억
08/03완주운영 종일

09:00–15:20
100%12,00012,130020.02억
종일 EOD까지 생존 · 조기종료 오전 중 중단 halt @HH:MM compliance_halt latch(매수체결율<0.153) · throttle×N S1 스로틀 운영시간 09:00~15:30 파랑=운영구간·빨강선=halt · halt latch 최초 latch 시각 · 트리거 체결율 latch 순간 매수체결율 risk차단 계좌 risk 한도로 거래소 전송 전 거부(status<0) · 재시작 프로세스 재기동 · 거래소FILL 실제 체결 표의 날짜를 클릭하면 그날 운영·차단·재시작 타임라인 + 매수체결율·포지션 추이가 아래에 나온다.
스냅샷hedge_enabledhalf_spread
08-07False10
08-06False10
08-05False20
08-04False10
08-03False10
매일 아침 스냅샷 config.json에서 운영 중 바뀐 파라미터만 추림변경된 값만 또렷하게 강조하고, 직전 스냅샷과 같은 값은 흐리게 둔다(행 단위가 아니라 값 단위). 흐린 값 중 이월(그날 소스에 그 항목이 없어 직전 값을 끌어온 것)은 셀에 마우스를 올리면 표시된다
생성 2026-08-12 05:48 · 소스 production/yuanta/tsmm/parsed · 파서 production/parse_day.py · 빌더 build_dashboard.py. 08/03–08/07 거래일 5개(운영 5) · 서버 yuanta. 라이브 기록이며 백테스트 결과가 아님.
"""