# Day Trading Software VWAP Calculation Differences – Iterative VWAP Versus Cumulative VWAP

The Volume Weighted Average Price (VWAP) of a stock, in basic terms, is the “average” price of the stock relative to the amount of volume it has traded during the day. With greater emphasis on monitoring VWAP due to algorithms impacting intraday trading activities, you might be surprised to learn that many day trading software firms do not use a standardized calculation of VWAP! While both calculations will produce similar results, you may wish to contact your day trading software firm to ask which VWAP calculation they use if your day trading style warrants monitoring VWAP. Chances are that the representative on the other end of the line may not know which calculation is used, so be prepared to wait a few hours (or even days!) before you get an answer.

The “cumulative” VWAP is considered to be the “most accurate” calculation as it changes with every transaction. The formula is:

The Sum of all transactions’ (Volume in shares x Price traded) divided by the Cumulative Volume. For example, let’s say the stock has 5 trades on the day so far:

• \$20.05 1000 shares
• \$20.06 800 shares
• \$20.04 100 shares
• \$20.03 2000 shares
• \$20.03 3000 shares

The VWAP would be:

{(\$20.05 x 1000) + (\$20.06 x 800) + (\$20.04 x 100) + (\$20.03 x 2000) + (\$20.03 x 3000)} / (1000 + 800 + 100 + 2000 + 3000)

This translates into:

(20050 + 16048 + 2004 + 40060 + 60090) / (6900) = 20.0365. Therefore \$20.0365 would be the “Cumulative VWAP”

The “iterative” VWAP calculation is sometimes used by software firms as it is easier to maintain in the database and prevents the overall software from running slower than optimal speed. It uses the last value of VWAP as the basis for calculating the VWAP on the next trade. Using the same example as above:

• 1st Iteration: (20.05 x 1000) / 1000 = 20050 / 1000 = \$20.05
• 2nd Iteration: \$20.05 + {(20.06 – 25.05) x 800)} / (1000 + 800) = 20.0544
• 3rd Iteration: 20.0544 + {(20.04 – 20.0544) x 100} / (1800 + 100) = 20.0536
• 4th Iteration: 20.0536 + {(20.03 – 20.0536) x 2000) / (1900 + 2000) = 20.0311
• 5th Iteration: 20.0311 + {(20.03 – 20.0311) x 3000) / (3900 + 3000) = 20.0306