限价单成交价格不一致?
链上交易(DEX)与中心化交易所(CEX)交易的机制不同, 导致了在链上交易时挂单价格与最终成交价格之间的差异。
• 中心化交易所订单簿机制: 在CEX中,交易是通过订单簿机制进行的。买卖双方挂单时,价格是由订单簿上的挂单直接决定的。当你挂一个限价单时,比如$0.001的买单,只要卖单满足这个价格,交易就会按你的挂单价格成交。 价格在这种情况下是固定的,成交时的价格就是你挂单的价格,且订单会按数量匹配,成交时不会发生滑点。 • 去中心化交易所自动做市商(AMM)模型: 在链上交易中,DEX大多使用自动做市商(AMM)模型。这种模型通过流动性池来确定价格,价格根据池中的代币比例动态变化。常见的AMM模型如Uniswap或Sushiswap使用的「恒定乘积」公式(x * y = k),其中x和y是两种代币的数量,k是常数。 由于AMM的机制,挂单时的价格取决于流动性池中代币的当前比例,而不是你挂单的价格。因此,当你挂$0.001的单时,交易时实际的价格可能会发生变化,特别是如果你交易的数量较大,池中的代币比例被显著改变,最终成交价格可能比你预期的价格更高/低(比如$0.0015)。
滑点(Slippage)
• 滑点的定义:滑点是指在你发起交易时,实际成交价格与你预期的价格之间的差异。滑点在去中心化交易所中非常常见,尤其是当你进行大额交易时,滑点更为明显。 • 滑点的原因:滑点发生是因为AMM模型中的价格是根据流动性池中的代币比例动态变化的。当你进行交易时,你的交易影响了池中的代币比例,因此价格会发生变化。如果池中的流动性不足(池中代币较少),你的交易会对价格产生较大影响,导致成交价格低于预期。 • 滑点的控制:大多数DEX平台会让你设置一个滑点容忍度。如果你没有设置足够高的滑点容忍度,交易可能失败,或最终成交价格可能与挂单价格有明显差异。通常滑点设置可以在0.1%到50%之间,如果滑点容忍度较高,你的交易可能会以较低的价格成交。
流动性问题
• 流动性深度:链上交易的成交价格与流动性池的深度密切相关。如果流动性池中的代币数量充足,你的交易不会显著改变池中的代币比例,成交价格也较为接近你的挂单价格。但如果流动性不足,你的交易将显著影响池中代币的比例,导致价格迅速变化。 • 流动性池:AMM模型的价格是由池中的两种代币的数量决定的。当你在池中买入或卖出时,池中的代币比例会发生变化,价格也随之波动。这就是为什么你挂$0.001的单时,实际成交价格可能是$0.0015的原因。
Gas费和交易优先权
• Gas费用的影响:在链上交易时,Gas费用会影响交易的速度和优先级。如果你设置了较低的Gas费用,可能会导致交易延迟,这意味着在价格波动较大的市场中,你的交易可能在较晚的区块中执行,价格已经与挂单时不同。 • 链上确认时间:链上交易的执行时间取决于网络的拥堵程度和你支付的Gas费用。在交易时间内,价格可能会发生变化,尤其是在流动性池较小、波动性较大的市场上。
AMM模型中的价格影响
• 大额交易对价格的影响:如果你在AMM模型中进行大额交易,会显著影响池中的代币比例,导致价格偏离。假设你想以$0.001买入大量代币,池中代币比例会因你的买入而发生变化,导致实际成交价格更低。 • 价格曲线的影响:AMM的价格变化不是线性的。当交易量较小时,价格变化较小;但随着交易量增加,价格会呈曲线变化,因此大额交易会导致价格远离你最初挂单的价格。
所以限价单成交价格与设定的不一致是正常现象。如果您想减少在链上交易时的价格偏差,您可以: 1. 选择流动性充足的池子。 2. 设置可以接受的滑点(可能会导致交易失败)。 3. 小额交易。 4. 选择极速模式。
Last updated