Assume that you are an Institutional investor and now your goal is to purchase 3,00,000 shares of Yes Bank from the stock exchange. How you will purchase 3,00,000 shares at the optimal price from the market without impacting the share price largely? Impacting the share price largely is going to increase your transaction cost or market impact cost largely. If you are willing to purchase 3,00,000 shares of yes bank in one shot, it is gonna cost you a huge transaction cost because of market liquidity concerns. In such a scenario, volume participation trading algorithms like VWAP comes handy to get yes bank shares at an optimal transaction cost without largely impacting the market.
Before getting into the VWAP strategies, you need to understand that placing a Limit order in the market doesn’t contribute much to the market direction but the Market order does. Current Market Orders from other market participants and Standing Limit orders supplies liquidity to the Institutional Investors. Standing limit orders could be Retail traders Limit orders to purchase a stock, sell a stock and it could be stoploss orders, cover orders or your price target based limit orders, bracket orders. To learn much about type of orders visit here. By identifying the liquidity/illiquidity zones in the market and by following VWAP trading procedures one can reduce his trading cost largely.
In finance terms, volumeweighted average price (VWAP) is defined as the ratio of the value traded to the total volume traded over a particular time horizon (usually one day). It is a measure of the average price at which a stock is traded over the trading horizon.
How VWAP is calculated

 VWAP can be calculated as follows:
 Average of high,low and close for intraday period is calculated as (High+Low+Close)/3
 Obtained price from step 1 is multiplied with period’s volume
 Cumulative total price is created
 Cumulative volume is created
 cumulative(price X volume) is divided by cumulative volume
In the above figure yellow colored line is the VWAP line. Chart is shown for BANKNIFTY FUTURES 1 min timeframe.
VWAP Strategies
Based on price movement and volume,VWAP moves accordingly. It start to move from the open price itself. Noise is completely eliminated in a stock as it relies on cumulative values.
Some of the strategies are
1.Downward Bias(downtrend)
Here price is below the VWAP values. Most of the institutions decide the buying zone when the price tends below VWAP, so that one can accumulate their positions at these points. In other sense shortterm traders interpret the trend as bearish and look for short positions.
2.Upward Bias(uptrend)
Upward bias occurs when the price is above the VWAP. In this point institutional traders tries to short their positions. But Short term traders take this note as bullish and take long positions.
3.Strong Trend Days
Usually, in strong trend days the price will be consistently above or below the VWAP.
4.Ranging Day
Here VWAP will run in the middle of the price ,tends in sideways
VWAP – Amibroker AFL Code
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrowschartShowDates);
_N(Title = StrFormat("{{NAME}}  {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle  ParamStyle("Style")  GetPriceStyle() );
_SECTION_END();
_SECTION_BEGIN("VWAP");
vwap=0;
function Lastthursday()
{
Daysinmonth = IIf( Month() == 1 OR Month() == 3 OR Month() == 5 OR Month() == 7 OR Month() == 8 OR Month() == 10 OR Month() == 12, 31, 30 );
Daysinmonthfeb = IIf( Year() % 4 == 0 AND Year() % 100 != 0, 29, 28 );
Daysinmonthfinal = IIf( Month() == 2, Daysinmonthfeb, Daysinmonth );
returnvalue = IIf( Daysinmonthfinal  Day() < 7 AND DayOfWeek() == 4, 1, IIf( Daysinmonthfinal  Day() < 8 AND DayOfWeek() == 3 AND Ref( DayOfWeek(), 1 ) != 4 AND Day() != Daysinmonthfinal , 1, 0 ) );
return returnvalue;
}
Period = ParamList( "Base", "DailyWeeklyMonthlyLastthursdayYearly", 1 );
if(Period=="Daily" )
{
Bars_so_far_today = 1 + BarsSince( Day() != Ref(Day(), 1));
StartBar = ValueWhen(TimeNum() == 091500, BarIndex());
TodayVolume = Sum(V,Bars_so_far_today);
average = (H+L+C)/3;
IIf (BarIndex() >= StartBar, VWAP = Sum (average * V, Bars_so_far_today ) / TodayVolume,0);
}
if(Period=="Weekly" OR Interval()==24 * 3600 )
{
Bars_so_far_today = 1 + BarsSince(DayOfWeek() < Ref( DayOfWeek(), 1 ));
StartBar = ValueWhen(TimeNum() == 091500, BarIndex());
Vol = TimeFrameGetPrice("V", inWeekly, 0);
TodayVolume = Sum(Vol,Bars_so_far_today);
average = (H+L+C)/3;
IIf (BarIndex() >= StartBar, VWAP = Sum (average * Vol, Bars_so_far_today ) / TodayVolume,0);
}
if(Period=="Monthly" )
{
Bars_so_far_today = 1 + BarsSince(Month() != Ref(Month(), 1));
Vol = TimeFrameGetPrice("V", inMonthly, 0);
StartBar = ValueWhen(TimeNum() == 091500, BarIndex());
TodayVolume = Sum(Vol,Bars_so_far_today);
average = (H+L+C)/3;
IIf (BarIndex() >= StartBar, VWAP = Sum (average * Vol, Bars_so_far_today ) / TodayVolume,0);
}
Plot (VWAP, "Vwap",colorYellow);
_SECTION_END();
Applications of VWAP
1.Liquidity
VWAP is used by the institutions to identify the liquid and illiquid price points for a specific security in a short span of time.
2.Trading Efficiency
After holding a security irrespective of buying or selling , generally institutions and individuals compare the price with VWAP values .An executed order is said to be a good one if a order is buyed below the VWAP or a order is sold above the VWAP. This trading efficiency has impact in the trading costs and execution in turn.
3.Algorithmic Trading
Algorithmic trading,is one of the trading method for Online traders to enter trading orders which is a pre programmed instructions taking time,price and volume into account.Algorithmic trading is otherwise called as program or system trading. Algorithmic trading are developed using advanced mathematical models .VWAP is the mostly used parameter in algorithmic trading especially in volume related algorithms( VWAP target execution algos). In general to reduce transaction costs,market risk algorithmic trading is used by investment banks, pension funds, mutual funds, institutional traders.
4.Timing Tool
One can be able to set a benchmark in the trades within a certain time interval over the volume distribution. Some of the professional brokerage firms gives a Guaranteed VWAP for institutional traders, which executes the trade at VWAP price. Also they are providing VWAP target execution mostly based on volume participation algorithms
5.Tool for Retail traders
To obtain a constant returns or to be profitable, discretionary traders looks for large money flows. So discretionary traders use VWAP for determination.For instance if the price crosses the VWAP in upside it opts for a long position. Current and past VWAPS acts as a support and resistance levels.
Limitations of VWAP
1.VWAP is more an analysis tool
2.At the end of the day ,VWAP will be flattened out and limit its use to retail traders
3.VWAP is more reliable for intraday stronger average volume trading days and it is less for normal average volume days
4.VWAP does not provide entry or exit signals, stop loss or target levels
Conclusion
VWAP is best suited for intraday analysis.Helps in determining the intraday trend.As VWAP ois a cumulative indicator, the number of price points increases throughout the day. VWAP lags price which increases as the day extends. Therefore retails traders enjoy the benefits early in the trading session and institutional traders finds it benefitted at the end of the day.
Thanks great thing about institutional order provided can this can be use as daily basis?
Resp sir, I have query regarding real time data software is that which is the best software for Indian stock market including f&o stocks with live trade data rates. Also tell us the charges of those software. Its my kindly request to u. Hope u will guide me properly.
Hi Rajendran
When I choose ‘Last Thursday’ to find vwap for a series, a messsage comes that ‘vwap’ is not defined. However, I could plot for daily,weekly and monthly options. Please help me on this.
Shankar
Would be great if you can add the 1SD, 2SD so that it gives a good view of support and resistance level.
How do I write this formula for 2 days