Price Impact Estimation — Tính Slippage Trước Khi Swap
Price impact không phải là con số bí ẩn — nó có thể tính toán trước. Biết trước để không bị surprise.
📖 9 phút đọc🔬 Research-grade📅 Cập nhật 13/03/2026✍️ ZRO Research
Tóm tắt · 9 phút đọc
Price Impact Estimation – Tính Slippage Trước Khi Swap — Điểm mấu chốt
Price impact là mức độ giá thay đổi do chính swap của bạn gây ra trong AMM pool. Với Uniswap V2, công thức constant product (x·y=k) cho phép tính chính xác price impact trước khi swap chỉ bằng bốn số: swap amount, pool reserve X, pool reserve Y, và fee. Hiểu công thức này giúp bạn chọn đúng swap size và tránh những trade với cost ẩn quá cao.
I
Price Impact là gì — Chi phí thực ẩn trong mỗi swap
Price impact là mức giá thay đổi do chính transaction của bạn gây ra trong pool AMM. Không phải market movement ngoài — mà là kết quả trực tiếp của việc bạn swap. Swap càng lớn so với pool reserve, price impact càng cao.
Price impact khác với slippage: price impact là expected (có thể tính trước), trong khi slippage là difference giữa expected execution price và actual price do market move trong lúc transaction pending. Price impact = cost ẩn; slippage = risk của timing.
💡
Price Impact vs Fee
Uniswap V2 có fee 0.3% — đây là phần nhỏ của total cost. Với pool $200k TVL và swap $5k, price impact có thể là 2.5% — gấp 8 lần fee. Phần lớn retail chỉ nhìn fee mà bỏ qua price impact — đây là sai lầm phổ biến nhất trong meme trading.
II
Công thức Constant Product — Toán học đằng sau AMM
Uniswap V2 và hầu hết AMM dùng constant product formula: x · y = k, trong đó x và y là reserve của hai token trong pool và k là hằng số không đổi sau mỗi swap.
Constant Product — Price Impact Formula
Pool: x ETH + y TOKEN, k = x × y
Bạn swap Δx ETH vào pool: New x' = x + Δx × (1 − fee) New y' = k / x' = x×y / (x + Δx×(1−fee))
Pool: 100 ETH + 10,000,000 TOKEN (k = 10^9). Bạn swap 5 ETH vào (fee 0.3%):
Bước
Tính toán
Kết quả
ETH vào (after fee)
5 × (1 − 0.003)
4.985 ETH
New ETH reserve
100 + 4.985
104.985 ETH
New TOKEN reserve
10^9 / 104.985
9,525,174 TOKEN
TOKEN nhận được
10,000,000 − 9,525,174
474,826 TOKEN
Spot Price (before)
10,000,000 / 100
100,000 TOKEN/ETH
Execution Price
474,826 / 5
94,965 TOKEN/ETH
Price Impact
(100,000 − 94,965) / 100,000
5.03%
III
Tính Thực tế — Không cần tự tính — tools làm hộ
Mặc dù công thức trên hữu ích để hiểu mechanics, trong thực tế bạn không cần tính tay. Uniswap interface hiển thị "Price Impact" tự động khi bạn nhập swap amount.
Đọc Price Impact trên Uniswap
Khi bạn nhập swap amount trên app.uniswap.org, phần "Price Impact" hiển thị dưới ô swap. Màu sắc: xanh = thấp (<0.1%), vàng = trung bình (0.1–3%), đỏ = cao (>3%). Nếu impact >15%, Uniswap sẽ warning bạn phải confirm thêm.
Trong Uniswap V3, price impact không đơn giản như V2 vì liquidity không phân bổ đều. Trong range active của LP, price impact thấp hơn đáng kể; nhưng nếu swap đủ lớn để price đi ra ngoài range LP, liquidity đột ngột bằng 0 và price impact trở nên cực cao (hoặc swap fail).
⚠️
V3 Tick Boundary Effect
Trong V3, nếu swap của bạn đẩy price vượt qua tick boundary của LP range, thực tế bạn chỉ nhận được liquidity đến điểm đó. Phần còn lại execute với liquidity cực thấp → price impact spike đột ngột. GeckoTerminal depth chart cho thấy rõ điều này: tìm 'cliff' trong depth visualization.
Hệ quả thực tế: với V3 pool, simulate swap trên Uniswap interface là bắt buộc — không thể estimate đơn giản từ TVL như V2. Interface sẽ show chính xác price impact dựa trên actual tick liquidity distribution.
V
Reduce Price Impact — Chiến lược tối ưu
Cách 1: Giảm swap size
Đơn giản nhất: chia swap lớn thành nhiều swap nhỏ hơn (TWAP). Price impact giảm phi tuyến theo size — chia làm 4 lần giảm impact nhiều hơn ¼ so với một lần.
Cách 2: Tìm pool liquidity cao hơn
Cùng một token có thể có pool trên nhiều DEX: Uniswap, SushiSwap, Curve. So sánh TVL và dùng aggregator như 1inch để route qua pool tốt nhất. Aggregator tự động tìm path với price impact thấp nhất.
Cách 3: Dùng DEX aggregator
1inch và CoW Swap split route qua nhiều pool để giảm price impact tổng. Ví dụ swap $10k có thể được split: 60% qua pool A, 40% qua pool B — cả hai pool chịu impact thấp hơn so với dồn hết vào một pool.
✅
1inch vs CoW — Khi nào dùng gì
1inch: tốt cho quick swap, route optimization tức thì. CoW: tốt hơn cho large swap vì dùng intent-based settlement (batch settlement giữa các user, giảm price impact và MEV). Với swap > $5k trên meme pool mỏng, CoW thường cho kết quả tốt hơn.
VI
Price Impact vs Slippage — Phân biệt để không nhầm
Khái niệm
Định nghĩa
Có thể tính trước?
Ai kiểm soát?
Price Impact
Giá thay đổi do swap của bạn
✅ Có
Bạn (chọn swap size)
Slippage
Chênh lệch expected vs actual price
❌ Không (market risk)
Market volatility
Slippage Tolerance
Max chênh lệch bạn chấp nhận
N/A
Bạn set trong UI
Khi Uniswap hiển thị "Minimum received" — đây là output nếu slippage đúng bằng tolerance bạn set. Nhưng price impact đã được tính vào expected output — nên "minimum received" đã bao gồm cả price impact và slippage tolerance rồi.
VII
FAQ — Câu hỏi thường gặp
Price impact là mức giá thay đổi do chính swap của bạn gây ra trong pool. Càng swap nhiều so với pool reserve, giá bạn nhận càng tệ hơn spot price. Price impact khác slippage: impact có thể tính trước, slippage là risk do market move trong lúc pending.
Uniswap V2 dùng constant product x·y=k. Với pool có x ETH + y TOKEN, swap Δx ETH vào: token nhận được Δy = y − k/(x + Δx×(1−fee)). Price impact = (Execution Price − Spot Price) / Spot Price. Uniswap interface tính tự động — không cần tính tay.
Dưới 0.5%: tốt, 0.5–1%: chấp nhận, 1–3%: cân nhắc kỹ, trên 3%: cost cao, cần justify bằng expected profit lớn. Trên 5%: chỉ swap khi không có lựa chọn khác hoặc expected profit đủ lớn để bù.
Có — V3 phức tạp hơn vì concentrated liquidity. Trong range active, impact thấp hơn V2. Nhưng nếu swap đủ lớn để đẩy price ra ngoài range LP, impact tăng đột ngột. Luôn simulate trên Uniswap interface với V3 pool — không thể estimate đơn giản từ TVL.
Ba cách: (1) Chia swap lớn thành nhiều swap nhỏ (TWAP); (2) Dùng aggregator như 1inch để route qua nhiều pool; (3) Tìm pool có TVL cao hơn cùng token. CoW Protocol đặc biệt hiệu quả cho swap lớn vì batch settlement giữa nhiều user.
Không — là hai khái niệm riêng biệt. Price impact được tính vào expected output trước. Slippage tolerance là buffer thêm cho market move trong lúc pending. 'Minimum received' trên Uniswap = expected output (after price impact) × (1 − slippage tolerance).
Tài liệu tham khảo
Nguồn chính
Adams, H. et al. Uniswap v2 Core. 2020. uniswap.org
Zhang, Y. et al. An analysis of Uniswap markets. 2021.