滑点管理 slippage

滑点管理是一个用于估计、最小化和保护交易执行中滑点风险的技能,涉及订单分割、价格影响分析、优化执行策略和滑点保护设置等关键技术,适用于量化金融和算法交易领域。

算法交易 0 次安装 0 次浏览 更新于 3/5/2026

name: slippage description: “滑点估计、优化和保护交易执行” emoji: “📉”

滑点 - 完整API参考

估计、最小化和保护所有交易平台上的滑点。


聊天命令

估计滑点

/slippage estimate "特朗普" YES 5000    估计5000美元订单的滑点
/slippage BTCUSDT 1.5 BTC              估计期货滑点
/slippage ETH 50 --dex uniswap         估计去中心化交易所滑点

分析订单簿

/slippage depth "特朗普"                显示订单簿深度
/slippage impact 10000                  价格影响大小
/slippage levels "特朗普"               显示不同大小的滑点

优化执行

/slippage optimize "特朗普" YES 10000   寻找最佳执行方式
/slippage split 50000                  最优订单分割
/slippage timing "特朗普"               滑点最低的最佳时间

保护设置

/slippage max 1%                        设置最大滑点容忍度
/slippage protect on                    启用滑点保护
/slippage revert-threshold 2%           如果滑点超过则取消

TypeScript API参考

创建滑点管理器

import { createSlippageManager } from 'clodds/slippage';

const slippage = createSlippageManager({
  // 默认容忍度
  defaultMaxSlippage: 0.01,  // 1%

  // 保护
  enableProtection: true,
  revertThreshold: 0.02,  // 如果超过2%则取消

  // 数据源
  orderbookDepth: 20,  // 分析的级别
  refreshInterval: 1000,  // ms
});

估计滑点

const estimate = await slippage.estimate({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  size: 5000,
});

console.log(`预期滑点: ${estimate.slippage}%`);
console.log(`价格影响: ${estimate.priceImpact}%`);
console.log(`有效价格: ${estimate.effectivePrice}`);
console.log(`最佳价格: ${estimate.bestPrice}`);
console.log(`最差价格: ${estimate.worstPrice}`);
console.log(`信心: ${estimate.confidence}%`);

分析订单簿深度

const depth = await slippage.analyzeDepth({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
});

console.log('订单簿深度:');
console.log(`  0.5%流动性: $${depth.liquidityAt05Pct}`);
console.log(`  1%流动性: $${depth.liquidityAt1Pct}`);
console.log(`  2%流动性: $${depth.liquidityAt2Pct}`);
console.log(`  总深度: $${depth.totalDepth}`);

console.log('
按大小滑点:');
for (const level of depth.slippageLevels) {
  console.log(`  $${level.size}: ${level.slippage}%滑点`);
}

价格影响分析

const impact = await slippage.priceImpact({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  sizes: [1000, 5000, 10000, 25000, 50000],
});

console.log('价格影响分析:');
for (const level of impact.levels) {
  console.log(`  $${level.size}:`);
  console.log(`    滑点: ${level.slippage}%`);
  console.log(`    影响: ${level.impact}%`);
  console.log(`    有效: ${level.effectivePrice}`);
}

优化执行

const optimized = await slippage.optimize({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  size: 25000,
  maxSlippage: 0.01,
});

console.log('优化执行:');
console.log(`  策略: ${optimized.strategy}`);  // 'single' | 'split' | 'twap'
console.log(`  预期滑点: ${optimized.expectedSlippage}%`);
console.log(`  与简单对比: ${optimized.naiveSlippage}%`);
console.log(`  节省: $${optimized.savings}`);

if (optimized.strategy === 'split') {
  console.log('
订单分割:');
  for (const order of optimized.orders) {
    console.log(`  ${order.size} @ ${order.limitPrice} (${order.delay}s延迟)`);
  }
}

订单分割

const split = await slippage.splitOrder({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  totalSize: 50000,
  maxSlippagePerOrder: 0.005,  // 每单最大0.5%
  minOrderSize: 1000,
});

console.log(`分割成${split.orders.length}个订单:`);
for (const order of split.orders) {
  console.log(`  $${order.size} - 预期${order.expectedSlippage}%`);
}
console.log(`总预期滑点: ${split.totalSlippage}%`);
console.log(`执行时间: ${split.estimatedTime}s`);

TWAP执行

const twap = await slippage.twapSchedule({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  totalSize: 100000,
  duration: 3600,  // 1小时
  intervals: 12,   // 12个订单
});

console.log('TWAP计划:');
for (const order of twap.orders) {
  console.log(`  ${order.time}: $${order.size}`);
}
console.log(`预期平均滑点: ${twap.expectedSlippage}%`);

最佳时间分析

const timing = await slippage.analyzeTiming({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  size: 10000,
});

console.log('低滑点最佳时间:');
for (const window of timing.bestWindows) {
  console.log(`  ${window.time}: 平均${window.avgSlippage}%滑点`);
  console.log(`    流动性: $${window.avgLiquidity}`);
}

console.log('
最差时间:');
for (const window of timing.worstWindows) {
  console.log(`  ${window.time}: 平均${window.avgSlippage}%滑点`);
}

滑点保护

// 设置保护参数
slippage.setProtection({
  maxSlippage: 0.01,           // 最大1%
  revertThreshold: 0.02,       // 如果超过2%则取消
  notifyThreshold: 0.005,      // 0.5%时提醒
  retryOnRevert: true,         // 取消后用更小的规模重试
  retryReductionPct: 50,       // 减少50%的规模
});

// 受保护的执行
const result = await slippage.executeProtected({
  platform: 'polymarket',
  market: 'trump-win-2028',
  side: 'YES',
  size: 10000,
});

console.log(`执行: ${result.executed}`);
console.log(`实际滑点: ${result.actualSlippage}%`);
console.log(`受保护: ${result.protected}`);
if (result.reverted) {
  console.log(`取消: ${result.revertReason}`);
}

去中心化交易所滑点(加密货币)

const dexSlippage = await slippage.estimateDex({
  chain: 'ethereum',
  dex: 'uniswap',
  tokenIn: 'USDC',
  tokenOut: 'ETH',
  amountIn: 50000,
});

console.log('去中心化交易所滑点估计:');
console.log(`  预期输出: ${dexSlippage.expectedOut}`);
console.log(`  最小输出(1%滑点): ${dexSlippage.minOut1Pct}`);
console.log(`  价格影响: ${dexSlippage.priceImpact}%`);
console.log(`  路径: ${dexSlippage.route.join(' → ')}`);

历史滑点

const history = await slippage.getHistory({
  platform: 'polymarket',
  period: '30d',
});

console.log('历史滑点:');
console.log(`  平均滑点: ${history.avgSlippage}%`);
console.log(`  最大滑点: ${history.maxSlippage}%`);
console.log(`  超过1%的交易: ${history.tradesOver1Pct}`);
console.log(`  总滑点成本: $${history.totalCost}`);

滑点因素

因素 影响 缓解措施
订单大小 越大滑点越多 分割订单
流动性 薄弱滑点越多 先检查深度
波动性 高滑点越多 使用限价单
一天中的时间 非高峰时间滑点多 在高峰时间交易
市场类型 新市场滑点多 避免流动性差的市场

保护模式

模式 行为
warn 提醒但执行
confirm 需要确认
block 超过则取消
retry 用更小的规模重试

最佳实践

  1. 总是先估计 — 交易前检查滑点
  2. 分割大订单 — 减少对薄弱订单簿的影响
  3. 使用限价单 — 防止意外的滑点
  4. 交易流动性市场 — 成交量高=滑点低
  5. 监控执行 — 跟踪实际与预期滑点