币安现货推出了针对API用户的时间加权平均价格(TWAP)交易算法。借助币安这一内部算法交易功能,用户可以将大额订单拆分成金额较小的订单并定期自动执行,从而最大限度地降低价格冲击。
时间加权平均价格(TWAP)是一种算法交易执行策略,旨在让平均执行价格趋近于指定时段内的时间加权平均价格。
交易者往往通过部署TWAP策略以降低大额订单带来的市场冲击。为优化交易的平均价格,TWAP交易算法会在指定时段内将订单拆分后再予以执行。
在以下情况中,TWAP可提供更划算的执行价格,因此备受青睐:
TWAP算法执行模式的示例如下:
POST /sapi/v1/algo/spot/newOrderTwap
参数 | 描述 |
符号 | 交易合约(例如BTCUSDT) |
方向 | 交易方向(例如买入或卖出) |
数量 | 交易数量(必须介于等值1,000 USDT至100,000 USDT之间) |
订单期限 | 以秒为单位的TWAP订单期限(300秒或86,400秒)
|
限价 | TWAP订单的限价(默认情况下,该订单将以市场价格下达) |
端点 | 描述 | 链接 |
DELETE /sapi/v1/algo/spot/order | 取消进行中的订单 | https://binance-docs.github.io/apidocs/spot/en/#cancel-algo-order-trade-2 |
GET /sapi/v1/algo/spot/openOrders | 获取所有运行中的订单 | https://binance-docs.github.io/apidocs/spot/en/#query-current-algo-open-orders-user_data-2 |
GET /sapi/v1/algo/spot/historicalOrders | 获取历史订单 | https://binance-docs.github.io/apidocs/spot/en/#query-historical-algo-orders-user_data-2 |
GET /sapi/v1/algo/spot/subOrders | 获取指定算法ID的相应子订单 | https://binance-docs.github.io/apidocs/spot/en/#query-sub-orders-user_data-2 |
所有TWAP订单成交后,方可查询交易详情。仅显示部分成交订单,您可以查看交易数量、平均交易价格以及交易手续费等具体信息。
如果查询不恰当,您可能会收到以下错误响应信息:
外部代码 | 外部消息 |
0 | 查询成功 |
-1000 | 处理请求时出现未知错误 |
-1102 | 必填参数未发送、为空或格式不正确 |
-20121 | 合约无效 |
-20130 | 发送的参数数据无效 |
-2013 | 订单不存在 |
-5007 | 数量必须大于零 |
-20124 | 算法ID无效,或算法ID已完成 |
-20132 | 客户算法ID重复 |
-20194 | 期限过短,无法全数执行所要求的数量 |
-20195 | 订单规模过小 |
-20196 | 订单规模过大 |
-20198 | 您已达到允许的最大开仓订单限额 |
TWAP订单无法保证一定执行。订单会根据市场流动性和波动性尽最大可能成交。
如果订单执行期间市价大幅波动或市场流动性不足,则算法未必能完全执行所有订单。
因此,订单执行始终由市场流动性决定,且无法保证会以最佳价格执行。例如,如果市场陷入低迷,则算法可能无法在指定结束时间前成交订单。
欲查看TWAP订单状态,您可以使用查询订单端点(GET /sapi/v1/algo/spot/openOrders或GET /sapi/v1/algo/spot/historicalOrder)。
请注意: