Time-Weighted Average Price (TWAP) is a trading algorithm based on the weighted average price used for the execution of bigger orders without excessive impact on the market price.

What Are TWAP (Time-Weighted Average Price) Orders

TWAP (Time-Weighted Average Price) is an algorithmic trade execution strategy that aims to achieve an average execution price close to the time-weighted average price of the user-specified period. A TWAP strategy is often used to minimize a large order’s impact on the market by dispersing the large order into smaller quantities and executing them at regular intervals over time.TWAP is favored to provide a better execution price in the following scenarios:

  • Order size larger than available liquidity on the order book.
  • Anticipation of high price volatility period with no clear up or downward trend.

How to Use TWAP

The most common use of TWAP is for distributing big orders throughout the trading day.

For example, you want to buy 100,000 shares of Apple.

Putting one big order would probably impact the market causing the price to rise. To prevent this, you can define a period over which you want to buy shares.

The TWAP also will slice the big order evenly into smaller ones and execute them over a defined period.

TWAP can be used as an alternative to VWAP, but because of its simplicity, there are some pitfalls.

Even if you slice big orders, since you do it evenly, there is still the possibility of trading during a low liquidity period where your sliced-up orders would still impact the market.

This is why using TWAP is recommended over short periods or on assets that don’t have any volume profile available.

Randomized Orders

Trading in such a predictable way can lead to a situation where other traders or predatory algorithms would detect your strategy and start to “game” you.

You can add randomness by focusing on percentage completion over time rather than fixed quantities.

In practice, it means that when we have run 1-hour TWAP, you don’t slice the order into even parts. Instead, you target percentage completion.

For example, you can target to have 25% of the strategy completed by the first 15 minutes, 50% by the second, and 75% by the third.

This gives more freedom to that size of orders and allows your orders to look more random and less predictable.