Slippage Modeling in Production: A Practical Framework
Date: 2026-02-21
Category: finance / execution / research
Why this matters
๋ฐฑํ
์คํธ๊ฐ ์ค์ ์ด์ฉ์ผ๋ก ๋์ด๊ฐ ๋ ๊ฐ์ฅ ํฌ๊ฒ ๊นจ์ง๋ ์ง์ ์ค ํ๋๊ฐ ์ฌ๋ฆฌํผ์ง๋ค.
ํนํ ์ค์ํ ์ํ์์ ์ ํธ ์์ฒด๋ ์ ํจํ๋ฐ ์ฒด๊ฒฐ ๋น์ฉ์ด ๊ธฐ๋์์ต์ ์ ์ํ๋ ๊ฒฝ์ฐ๊ฐ ํํ๋ค.
ํต์ฌ์ โ๊ณ ์ bps ์ฐจ๊ฐโ์์ ๋ฒ์ด๋, ์๋ 4๊ฐ์ง๋ฅผ ๋ถํดํด์ ๋ชจ๋ธ๋งํ๋ ๊ฒ์ด๋ค.
- Half-spread cost (์ฆ์์ฑ ๋๊ฐ)
- Temporary impact (์งง์ ์๊ฐ๋ ์ถฉ๊ฒฉ)
- Permanent impact (์ ๋ณด/์ฌ๊ณ ์ ๋ฌ ํจ๊ณผ)
- Fill uncertainty (๋ถ๋ถ์ฒด๊ฒฐ/๋ฏธ์ฒด๊ฒฐ๋ก ์ธํ ๊ธฐ๋๊ฐ ์๊ณก)
1) ์ฌ๋ฆฌํผ์ง์ ๊ธฐ๋ณธ ๋ถํด
์์ฌ๊ฒฐ์ ์์ ์ mid๋ฅผ (m_0), ์ค์ ์ฒด๊ฒฐ๊ฐ๋ฅผ (p_{fill}), ์๋์ (Q)๋ผ ๋๋ฉด:
Buy ๊ธฐ์ค ์คํ๋น์ฉ(ํตํ ๋จ์): [ C = Q \cdot (p_{fill} - m_0) ]
bps ๊ธฐ์ค ๋น์ฉ: [ c_{bps} = 10^4 \cdot \frac{p_{fill} - m_0}{m_0} ]
์ค๋ฌด์์ ๊ธฐ๋๋น์ฉ์ ์๋ ํํ๋ก ์ชผ๊ฐ๋ฉด ์์ ์ ์ด๋ค. [ \mathbb{E}[c_{bps}] = c_{spread} + c_{temp} + c_{perm} + c_{timing} ]
์ฌ๊ธฐ์ timing์ โ์ ํธ ๋ฐ์~์ฃผ๋ฌธ ์งํ๊น์ง ์ง์ฐโ์ ๋ฐ๋ฅธ ๋๋ฆฌํํธ๋ฅผ ๋ปํ๋ค.
2) ์คํ๋น์ฉ์ 1์ฐจ ์ค๋ฌด ๋ชจ๋ธ
2.1 ์ ํ + ์ ๊ณฑ๊ทผ ํผํฉ ๋ชจ๋ธ
์ด์ฉ์์ ์์ฃผ ์ฐ๋ ํํ: [ c_{bps} = a + b \cdot \frac{q}{ADV} + d \cdot \sigma \sqrt{\frac{q}{ADV}} + \epsilon ]
- (q): ํด๋น ์ฌ๋ผ์ด์ค(๋๋ ํ๋ฃจ) ์ฒด๊ฒฐ ์๋
- (ADV): ํ๊ท ์ผ ๊ฑฐ๋๋
- (\sigma): ์ผ์ค ๋ณ๋์ฑ (๋๋ ๋จ๊ธฐ realized vol)
- (a): ๊ณ ์ ๋น(half-spread, fees ๋ฑ)
- (b): ์ ํ ์ ๋์ฑ ์๋ชจ ํญ
- (d): square-root impact ๊ฐ๋
ํด์ ํ
- ์๋/๊ณ ์ ๋ ๊ตฌ๊ฐ: (a)๊ฐ ์ง๋ฐฐ์
- ์ค๊ฐ ๊ตฌ๊ฐ: ์ ํ ํญ์ด ์ปค์ง
- ๋๋/์ด๋ฒคํธ ๊ตฌ๊ฐ: (\sqrt{q/ADV}) ํญ์ด ๊ธ๊ฒฉํ ์ค์
2.2 ์ํ ๋ณ์ ์ถ๊ฐ
๊ฐ์ ์ฃผ๋ฌธ ํฌ๊ธฐ๋ผ๋ ์์ฅ ์ํ์ ๋ฐ๋ผ ๋น์ฉ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๋ค.
๊ถ์ฅ ์ค๋ช ๋ณ์:
- ์๋ ์คํ๋ ๋ (spread / mid)
- ์ฃผ๋ฌธ์ฅ ๊น์ด(Top N levels notional)
- ๋จ๊ธฐ ๋ณ๋์ฑ
- ์ฒด๊ฒฐ ์๊ฐ(์คํ/ํด๋ก์ฆ/์ ์ฌ)
- ๋ด์ค/์ด๋ฒคํธ ๋๋ฏธ
- ๋ณธ์ธ ์ฐธ์ฌ์จ(Participation rate)
3) Fill ๋ชจ๋ธ์ ๋ฐ๋์ ๋ถ๋ฆฌ
์ฌ๋ฆฌํผ์ง ์ฐ๊ตฌ๊ฐ ํํ ์คํจํ๋ ์ด์ ๋ โ์ฒด๊ฒฐ๋๋ค๊ณ ๊ฐ์ โํ๋ ๋ฐ ์๋ค.
3.1 ์ ๋ถ๋ฆฌ๊ฐ ํ์ํ๊ฐ
์ ํธ๊ฐ ์ข์๋ ๋ฏธ์ฒด๊ฒฐ ๋น์จ์ด ๋์ผ๋ฉด ์ค์ PnL์ ๋ฌ๋ผ์ง๋ค.
- ๋์ alpha ๊ตฌ๊ฐ์ผ์๋ก ๋ฐ๋๋ก ์ฒด๊ฒฐ์ด ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง์
- ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฐฑํ ์คํธ๊ฐ ์ฒด๊ฒฐ ์ ํํธํฅ(selection bias)์ ๊ฐ์ง ์ ์์
3.2 ์ต์ ๊ตฌํ
- Fill probability model: (P(fill | x))
- Conditional cost model: (c_{bps} | fill=1)
์ต์ข ๊ธฐ๋๋น์ฉ: [ \mathbb{E}[c] = P(fill)\cdot \mathbb{E}[c|fill] + (1-P(fill))\cdot c_{miss} ]
์ฌ๊ธฐ์ (c_{miss})๋ ๋ฏธ์ฒด๊ฒฐ๋ก ์ธํ ๊ธฐํ๋น์ฉ(๋ค์ ๋ฐ ์ฌ์ง์ ๋น์ฉ ๋ฑ).
4) ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์ค๊ณ (์ค์ )
4.1 ์ต์ ์ด๋ฒคํธ ์คํค๋ง
์ฃผ๋ฌธ ๋จ์๋ก ์๋๋ฅผ ์ ์ฅ:
- decision_ts, submit_ts, ack_ts, fill_ts
- side, qty, limit/market, tif
- decision_mid, submit_mid, fill_price
- spread, top-of-book depth, intraday vol
- queue position proxy (๊ฐ๋ฅํ๋ฉด)
- filled_qty, cancel_qty, replace_count
4.2 ์ฐ์ถ ์งํ
- Decision-to-fill slippage (๊ถ์ฅ ๊ธฐ๋ณธ KPI)
- Arrival cost, Implementation shortfall
- Fill ratio, time-to-fill
- Participation vs cost curve
5) ์บ๋ฆฌ๋ธ๋ ์ด์ ๋ฃจํ
- ์ข ๋ชฉ๊ตฐ/์ ๋์ฑ ๋ฒํท ๋ถ๋ฆฌ (large/mid/small)
- ์ต๊ทผ 20~60 ๊ฑฐ๋์ผ ๋กค๋ง์ผ๋ก ํ๋ผ๋ฏธํฐ ์ถ์
- Out-of-sample๋ก ๋น์ฉ ์์ธก์ค์ฐจ ๋ชจ๋ํฐ๋ง
- ์์ธก์ค์ฐจ๊ฐ ์๊ณ์น ๋์ผ๋ฉด ํ๋ผ๋ฏธํฐ ์ฌํ์ต
- ์ ๋ต ํฌ์ง์ ์ฌ์ด์ง์ ๋น์ฉ๋ถํฌ(ํ๊ท +์์๋ถ์) ๋ฐ์
์ค์: ํ๊ท ๋น์ฉ๋ง ์ฐ์ง ๋ง๊ณ , 75~95% ๋ถ์ ๋น์ฉ๋ risk budget์ ๋ฐ์.
6) ๋ฆฌ์คํฌ ์ ์ด ๊ท์น ์์
- ์์ ๋น์ฉ์ด ๊ธฐ๋์ํ์ 40% ์ด๊ณผ ์ ์ฃผ๋ฌธ ์ถ์
- ์ฐธ์ฌ์จ ์ํ ๋์ ์กฐ์ : ๋ณ๋์ฑ ๊ธ๋ฑ ์ cap ํํฅ
- ์ฅ ์คํ/ํด๋ก์ฆ ํน์ ๊ตฌ๊ฐ์ ๋ณ๋ ๋ชจ๋ธ ์ฌ์ฉ
- ๋ฏธ์ฒด๊ฒฐ ๋์ ์ โ์ถ๊ฒฉ ๊ธ์งโ ๊ท์น์ผ๋ก ์ฒด๊ฒฐ ๊ฐ๋ ์ ํ
7) ๋ฐฑํ ์คํธ ํตํฉ ์ฒดํฌ๋ฆฌ์คํธ
- ์ ํธ ์์ฑ ์์ ๊ณผ ์ฃผ๋ฌธ ์์ ์ ๋ถ๋ฆฌํ๋๊ฐ?
- ์ฒด๊ฒฐ ํ๋ฅ ์ ๋ชจ๋ธ๋งํ๋๊ฐ?
- ๋น์ฉ์ ์ ๋์ฑ/๋ณ๋์ฑ ์ํ์ ์กฐ๊ฑด๋ถ๋ก ์ถ์ ํ๋๊ฐ?
- ๋น์ฉ ๋ถํฌ์ ๊ผฌ๋ฆฌ(์์ ๋ถ์)๋ฅผ ๋ฐ์ํ๋๊ฐ?
- ์ค๊ณ์ข ์ฒด๊ฒฐ ๋ก๊ทธ๋ก ์ฃผ๊ธฐ์ ์ฌ๋ณด์ ์ค์ธ๊ฐ?
8) ์ค๋ฌด ๊ฒฐ๋ก
์ฌ๋ฆฌํผ์ง ๋ชจ๋ธ์ โ์ ๋ตโ๋ณด๋ค โ์ด์ ๊ฐ๋ฅํ ์ค์ฐจ๊ด๋ฆฌ ์์คํ โ์ด ํต์ฌ์ด๋ค.
- ๋จ์ ๊ณ ์ bps ๋ชจ๋ธ์ ์ด๊ธฐ sanity check์๋ง ์ฌ์ฉ
- ์ค์ ์ด์ฉ์ ์ํ์กฐ๊ฑด๋ถ ๋น์ฉ + fill ๋ถ๋ฆฌ + ๋กค๋ง ์ฌํ์ต์ด ์ต์์๊ฑด
- ์ ๋ต ํ์ง๋ณด๋ค ์คํ ํ์ง์ด PnL์ ๊ฒฐ์ ํ๋ ๊ตฌ๊ฐ์ด ๋ถ๋ช ํ ์กด์ฌ
๊ฒฐ๊ตญ ์คํ๋น์ฉ ๋ชจ๋ธ์ ๋ฐฑํ ์คํธ ์ฅ์์ด ์๋๋ผ, ์ฌ์ด์ง/์ฃผ๋ฌธ๊ฐ๋/๋ฆฌ์คํฌ ํ๋๋ฅผ ํต์ ํ๋ ์ด์ ์์ง์ด๋ค.