Volume Adjusted Moving average - 2nd round
Author: topcat77
Creation Date: 8/28/2009 10:14 AM
profile picture

topcat77

#1

I believe that the following represents the methodology for VAMA (Dick Arms's
moving average).Published descriptions are sparse and not necessarily coherent.
The only hard point of reference is the Fidelity ATP indicator which this methodology matches, with one important point of difference - there is a lookback period for each bar (see below)

VAMA:

Volume Adjusted Moving Average is a volume weighted average where the price of each bar is weighted by a multiple (or fraction) of the volume attached to its closing price. That weighting multiple is the ratio of the volume for each bar divided by a constant which, in turn, is: the(average volume for the specified lookback period x 0.67). This constant is called the "volume increment". Essentially the weighting multiple represents the number of "volume-increments" contained in each bars' volume.

The user-defined "period" for the average is not in fact a period at all (as understood, for example, by a 20-bar moving average) but instead represents the maximum number of "volume increments" over which the average is to be calculated. So, for example, a setting of "17 VAMA" means that the average is calculated over the first 17 volume-increments counting backward from the last (that is, most recent) bar. If the most current series of bars houses above average volume, those 17 volume-increments will be contained in less than the last 17 bars - meaning that closing prices for only,say, the last 12 bars are included in the calculation. Equally, in a low-current-volume environment the period ( i.e the number of bars) needed to absorb 17 volume increments can number well over the last 17 bars. Since the sum of the volume-increments must add up to the user-specified limit, the oldest of the bars will always have a fractional weighting ( which represents the balance required to bring the aggregate to the limit - 17 in my example).

Calculation:

User Inputs:
- Lookback period for volume: 6 months, for example
- Vama limit : 17, for example

Method:

1 Calculate average volume for the lookback period
2 Multiply average volume by 0.67: this is the constant called volume-increment
3 Calculate volume-weighting-ratio for each bar. This is : Volume / Volume Increment and represents the number of volume-increments contained in each bar's volume
4 Working backward from the last bar (the most recent bar), aggregate the volume-weighting-ratios until the (user-specified)Vama limit is reached. The oldest bar will therefore use only a fraction of its volume-weighting-ratio such as allows the aggregate to reach 17 (in my example). ( As an example, if, at the 13th bar back from the current bar, the aggregate of the volume-weighting-ratios for bars 1-13 counting backward is 16.25 then the 14th bar back is assigned the fraction 0.75)This constitutes the set of bars which are included in the averaging calculation
5 VAMA equals the sum of (closing price of each bar in the set x its volume-weighting-ratio) / user-defined Vama limit - 17 in my example)

Apologies for being pedantic - this is (hopefully) in the cause of clarity; I know that much of this ground is covered in a 2005 thread and I hope that this adds to it.

In response to Cone's earlier dismissal of the concept because it violated peeking, the lookback for each bar cures the problem ( which probably was only
an issue because of careless convention; or perhaps this is used as a heuristic because continuously calculating a lookback 6-month moving average for each bar may be processor intensive)

I have Exel spreadsheets for SPY and JPM that show calculations for the last month.

One difference between VAMA and a Volume Weighted Moving average is that VAMA uses a price-set that attaches to a defined quantity of volume , Volume Weighting uses a price-set that attaches to a fixed period. In a high-volume surge (or a low-volume drift)this can become a useful difference (and the average can become a useful tool).

I use the indicator as one of a set of averages for a trending strategy that I would like to migrate to WL if/when it can get coded into the indicator library.