FAQ
Home
Support Center
FAQ
Trading Bots
Futures Algo Orders
How to Use Volume Participation Algorithm on Binance Futures

How to Use Volume Participation Algorithm on Binance Futures

2022-04-13 05:26
The Volume Participation (VP) trading algorithm is an opportunistic algorithmic execution strategy that enables the execution of larger orders with specified urgency level. It aims to perform a trade at a pace that approximately matches a portion of the real-time market volume by respecting the targeted volume participation level.
VP is extremely helpful if you wish to limit the order market impact while targeting the average market trading price over the execution period.
Illustration of Volume Participation Algorithm Execution Patterns

When to use a Volume Participation algorithm?

The Volume Participation algorithm is suitable for an order execution strategy that aims to perform sizable notional orders larger than the available market liquidity while minimizing the impact on the market.
Market Order vs Volume Participation Order Executions
Market SituationMarket OrderVolume Participation Order
Low market volume, stable price Large notional market order may create market price impact that make the executed price unfavorableVP order may execute within the average market price without impacting the market
High market volume, volatile market priceMarket order might be able to capture the market liquidity available immediately. It could also capture the market price movementVP order might not be able to execute in urgency and may result in adverse executed price
Volume Participation Algorithm API Details
New Volume Participation Order Endpoint:
POST sapi/v1/algo/futures/newOrderVp
API details: https://binance-docs.github.io/apidocs/spot/en/#volume-participation-vp-new-order-trade
Customizable Execution Parameters
ParametersDescription
UrgencyParticipation rate relative to Market Volume, Supported urgency type: Low, Medium, High
limitPrice
Order’s limit price
if unspecified, the order will be placed at market price
Other Supplementary Endpoints
EndpointDescriptionLink
DELETE sapi/v1/algo/futures/orderCancel an active orderhttps://binance-docs.github.io/apidocs/spot/en/#cancel-algo-order-trade
GET sapi/v1/algo/futures/openOrdersGet all running orders

https://binance-docs.github.io/apidocs/spot/en/#query-current-algo-open-orders-user_data
GET sapi/v1/algo/futures/historicalOrdersGet historical ordershttps://binance-docs.github.io/apidocs/spot/en/#query-historical-algo-orders-user_data
GET sapi/v1/algo/futures/subOrdersGet respective sub orders for a specified algo IDhttps://binance-docs.github.io/apidocs/spot/en/#query-sub-orders-user_data

Additional Notes on Volume Participation Algorithm

1. What are the order limitations when using the Volume Participation algorithm?

  • Notional Limit - The notional (Order Quantity * `Mark Price (base asset)`) must be higher than the equivalent of 10,000 USDT and lower than the equivalent of 1,000,000 USDT.
  • Eligible Contract Type - Currently, the VP algorithm only supports USD-Margined contracts.

2. What are the expected error responses from the Volume Participation order endpoint?

You may receive the following error responses following an inadequate query.
External codeExternal msg
0OK
-1000An unknown error occurred while processing the request.
-1102A mandatory parameter was not sent, empty/null, or malformed.
-20121Invalid symbol.
-20130Invalid data sent for a parameter.
-2013Order does not exist.
-5007Quantity must be greater than zero.
-20124Invalid algo id or it has been completed.
-20132The client algo id is duplicated.
-20194Duration is too short to execute all required quantity.
-20195The total size is too small.
-20196The total size is too large.
-20198Reach the max open orders allowed.

3. Is Volume Participation a guaranteed execution algorithm?

If the market price moves considerably or liquidity is insufficient during the execution of an order, the algorithm may not achieve full completion.
Thus, execution is and will always be liquidity-dependent with no guarantee for best price execution. For example, if the market becomes distressed, the algorithm may fail to complete the order before the specified end time.
Binance employs multiple risk mitigation strategies, including manual and automated circuit breakers, as well as kill-switch controls. These features can activate in the event of market disruption and/or systems failure, canceling any VP order early in a non-fully filled state.

4. How do I check the status of my volume participation order?

To check the status of a VP order, you can use the query order endpoints (GET sapi/v1/algo/futures/openOrders or GET sapi/v1/algo/futures/historicalOrders).
Please note that no websocket notification will be available for orders filling updates. Besides, receiving "success": true does not mean that your order will be executed.
For instance, should your futures balance be insufficient, or your account be in Reduce Only status, you will receive "success": true, but the order will fail to execute.