The cumulative volume
The
previous two articles have described how one computes the hierarchy of
theoretical support/resistance (S/R) levels upon which the MIDAS method of technical analysis is based. This
description has intentionally avoided mathematical detail in order to focus on the conceptual foundations. We now
turn to the actual equations and show how they can be readily evaluated in a
spreadsheet.
Suppose
the input data spans a consecutive period of N days. On any given day, say the
i-th, we denote the high, low and volume
as H(i), L(i) and V(i) respectively. These are the data that are
actually used by MIDAS; we do not require the open, close or calendar date. (If the available input data
only gives a single price the close for example - then simply set the high
and low equal to this price; if volume
data is not available, set the volume for every day equal to the same value -
say one share. Having less than
complete input data is less than ideal but not a fatal drawback).
The first
step is to compute for each day the average price P(i):
P(i) =
.5*( H(i) + L(i) )
Next,
compute the cumulative volume for the i-th day, cumvol(i):
cumvol(i)
= cumvol(i-1) + V(i)
That is we
simply add the new day's volume to the cumulative volume at the previous day.
To start this process, we set the
cumulative volume initially to zero so that at the end of the first day
cumvol(1) = V(1). In a similar fashion, also compute the cumulative product of the daily price and
daily volume. Calling this
cumpvol(i),
we have
cumpvol(i)
= cumpvol(i-1) + P(i)*V(i)
Again we
start cumpvol at zero, so that at the end of the first day cumpvol(1) =
P(1)*V(1).
Finally,
the on-balance volume for the i-th day, obv(i), is computed from the equation
obv(i) =
obv(i-1) +sgn(i)*V(i)
where the
"sign" function, sgn(i), is defined by
sgn(i) =
+1 if P(i) > P(i-1)
sgn(i) =
-1 if P(i) < P(i-1)
sgn(i) = 0
if P(i) = P(i-1)
We
arbitrarily choose sgn(1)=1 on the first day so that obv(1)=V(1).
The MIDAS
chart is then constructed by plotting two separate (i.e. non-overlapping)
graphs, one placed vertically above the other
so that their x-axes are parallel. In the upper graph, plot P(i) as the
y- coordinate versus cumvol(i) as the x coordinate. In the lower graph, use the same x coordinate (i.e.
cumvol(i) ) and plot obv(i) as the y coordinate. Thus every day gives rise to a
single x-y point in each of the two
graphs. Connecting the sequential points in each graph thereby traces out
curves of price vs. cumulative volume
in the upper graph and on-balance volume vs. cumulative volume in the lower
graph.
The last
step is to plot the theoretical S/R curves on the same graph that has price vs.
cumulative volume. The equation for computing the value on the i-th day of an
S/R level "launched" on the j-th day ( call this
S/R(i , j)
is simply:
S/R(i , j)
= ( cumpvol(i) - cumpvol(j) ) / ( cumvol(i) - cumvol(j) )
That's all
there is to it! One just interactively chooses a set of launch points until an
S/R hierarchy is (hopefully) found which
makes sense of the historical data, the initial launch point guesses
being the days of observed reversals in trend.
An easy
way of carrying out these calculations in practice is through the use of a
spreadsheet. Below I show how this could be done in Lotus 123 (other
spreadsheets will be similar if not identical).
Simply
enter the input data in the first three columns starting with the second row,
and enter the cell formulas as shown in rows
two and three. COPY the third row downward for as many days (rows) as
there are input data. If an S/R level is to be launched from a given row - say the 9-th - (e.g.
because the value in the "P" column reached a local maximum or
minimum at that row) then in the very
next row (row 10) enter the following formula in column I (the one labelled
S/R#1):
+(F10 -
F$9)/(G10 - G$9)
COPY it
downwards to the last row of the data set. Note that the $ is very important
since it "anchors" the S/R level to the launch point (row 9 in the current example). Additional
S/R levels can be similarly launched in columns J, K, etc. as the occasion demands.
Finally,
using the graphing capabilities of the spreadsheet, create a pair of x-y type
graphs. In both graphs, choose the x coordinate as the "cumvol" column (G in the present example). In
one of the graphs, the price vs. cumvol curve is generated by taking the y coordinate from the "P" column
(column D ) and the S/R curve(s) from columns I (et al). In the other graph,
take the y coordinate from the
"obv" column (column H in the figure).
From a
practical standpoint, the time-consuming element is loading the input data into
the first three columns. Those who are
already using a spreadsheet to perform technical analyses will
presumably have automated this process so the addition of MIDAS should present no difficulties. Others may
be using a commercially available charting software package which both
imports historical data automatically
and allows foruser-defined custom formulae or "indicators". In the
next article I will show how MIDAS can
be integrated into one such package.
POSTSCRIPT:
We are now
approximately at the "midterm" of what I view as a course here at
Cybercollege, one in which you have enrolled by sticking with the articles to this point. Your midterm
"exam" is simply to provide me with some feedback: what you like
and dislike about the articles, any
points you found unclear or particularly enlightening, and in general any
comments which may assist me in making
the remainder of the course as useful as possible to you. On a personal level,
a brief biographical paragraph would
also assist me in visualizing the faces on the other side of my modem...
Thanks.
Category: Methods of technical analysis
|