by

Robert Murray, Ph.D.

www.omicronrsch.com

(Revised September 28, 2006)

It has been widely believed for
the past century or so that financial returns follow a Random Walk [Bachelier
(1900)]. There is still a lot of
controversy about this. However, it
seems increasingly clear that the characterization of financial returns series
as a Random Walk is a good approximation, but the true situation is far more
complex. A Random Walk (or “Brownian
Motion”) is an example of a *stochastic process*; in fact it is the
simplest form of *stationary stochastic process*. In the Random Walk model, the (logarithmic)
price returns – differences of the logarithmic price from one close to the
next, say – are modeled as independent Gaussian random variables with a
constant mean and variance. The *constant*
mean and variance is what characterizes the process as *stationary*. The constant *mean* of the returns
implies that there is a constant linear trend (in the log prices), and the
constant *variance* of the returns implies that the *volatility* is
constant with time. The fact that the
returns are *independent* random variables means that they are *uncorrelated*. So this is a very simple type of stochastic
process, but it is “too good to be true”.
If the Random Walk model held, with a non-zero, constant trend in the
prices, then the only sensible trading strategy would be the “Buy & Hold”
strategy, corresponding to this constant linear trend. (The expectation value of the gain from
active trading would be zero.)
Unfortunately, the true stochastic process of the returns sequence is a
far more complex, *nonstationary*, time series. The Random Walk model is too simplistic.

If the Random Walk model held, then
markets would be *efficient*, and future prices could not be predicted
from any knowledge of past prices (or any other past information). But the whole objective of **Technical
Analysis** is precisely to find functions of the past price history which
yield information as to future price moves.
Another way of saying this is that **technical indicators** are
functions of the past returns, which are **correlated** with future returns,
over some time horizon. Even though the
markets are very efficient and the returns series is *approximately* a
Random Walk, at least at first glance, even a very small inefficiency and very
small correlation of past returns with future returns would be enough to yield
substantial profits from active trading.
This makes it worthwhile to search for this small correlation between
functions of the past returns and future returns. In the process we can learn more about the exact nature of the
nonstationary stochastic process that describes the financial markets. An early pioneer in this direction was
Benoit Mandelbrot [Mandelbrot & Hudson (2004)], who incidentally was the
mathematician who first “discovered” the concept of **fractals**. The fractal concept is related to certain
types of stochastic processes, known as “long-memory” processes, that are
thought to describe financial time series, as described by Edgar Peters [Peters
(1991, 1994)]. These processes are
characterized by a parameter that Peters calls the “fractional difference
parameter”, but I like to call the *fractal dimension* (even though this
is not strictly correct – it is shorter).

So the problem is to find
functions of past returns, called **technical indicators**, which are *correlated*
with future returns. We can try to
construct various functions of this sort, to give an indication of when to buy
and sell in active trading. An example
of this is the *nonlinear* function of past returns used by Rick
Martinelli in his recent article (June 2006).
However, another related approach is to use filter theory to derive a **Linear
Prediction** filter, which is an algorithm to find an optimal *linear*
function of past returns which yields the best *estimate* of the future
returns themselves, based on correlation in the past data. The standard filter theory assumes the
stochastic process is *stationary*, although this cannot be strictly
true. However, over a certain period of
time, such as 1024 trading days, it might be a reasonable approximation. Or, if it is believed that short-term, time
varying correlation is present, then the filter can be computed over this
shorter time interval using the stationarity assumption, but updated every day,
thereby taking into account the nonstationarity. (This is what would be called an *adaptive filter*.) Martinelli emphasizes a very short-term
range of data of only 3 days, while I emphasize the long-term correlation over
the 1024 day (4 year) time period.

Another view of Technical
Analysis is that it is an attempt to solve the “de-noising” problem of
financial time series. The Random Walk
model states that financial returns are just uncorrelated “white noise”. However, most of us believe that there is an
underlying “signal” buried deep within all the “noise”, and if we knew the true
signal then we would know how to time our trades for maximum profit. If the signal is thought of as the real
price moves which are in response to previous price moves and various external
factors, and if we can separate this underlying signal from the noise, then
there is the possibility of formulating trading rules to take advantage of the
future price moves. So one way to view
Technical Analysis is that it is an attempt to “estimate” this true signal
buried under the noise, in which case the signal constitutes the returns, and
we are attempting to estimate the future values of the signal, or returns, from
their past values. The technical
indicator is thus our best estimate of the “signal” buried underneath the
“noise”. However, this *signal
estimation* is also the purpose of a Linear Prediction filter, to give an *optimal*
*prediction* of the future signal, based on measured correlation in the
past data (or an *optimal* *estimate* of the past signal, in the case
of *optimal smoothing*).

I have been experimenting with
various types of Linear Prediction filters using my ** QuanTek**
program, which also contains a variety of statistical tests of the returns
data. A couple of the most important
tests are two different ways of computing the

The **Linear Prediction**
filters I have been experimenting with are themselves based directly on the
Periodogram spectrum or Wavelet spectrum.
This is because the spectrum of the returns series is directly related
to the **autocorrelation sequence** of the series. If the returns are uncorrelated, as in the Random Walk model,
then each return is (perfectly) correlated with itself and the correlation with
all the other returns is zero. Then by
a theorem called the **Wiener-Khintchin** theorem [__Numerical Recipes__
(1992)], the power spectrum is the Fourier Transform of the autocorrelation
sequence. This means that in the Random
Walk model, where the correlation between returns is zero, the power spectrum
will just be a constant for all frequencies – a completely flat spectrum. This is why this spectrum is also known as
“white noise”. So by looking at the
spectrum, we can tell if there is any correlation between returns, from the
deviation of the spectrum from a constant, white noise spectrum. However, there is a major problem, which is
that the true spectrum itself (in the stationary approximation) is buried in
stochastic noise. So if you look at the
Periodogram for a sequence of Gaussian random variables, it will not look flat,
but instead will look completely jagged and random. So the big problem is how to find any “signal” or true
correlation that might exist, buried underneath all this stochastic noise in
the spectrum or the returns series.
Finding this hidden signal is what **Technical Analysis** is all
about, as well as the theory of **Linear Prediction** filters. This is called the *estimation* problem
for the LP filter, and there are different approaches to solving it. It is, however, a difficult problem. (And according to the Random Walk theory of
the market, it is impossible.)

I have experimented with several
different ways of computing or estimating the Linear Prediction filter. The most promising approach so far is based
on the Wavelet spectrum**.** This is
the best way for estimating the fractal dimension of the process, since the
low-frequency end of the spectrum is emphasized in the Wavelet approach, and
this approach is a very natural one for modeling long-memory or
intermediate-memory processes. The
Wavelet power spectrum is computed by taking the DWT transform of the returns
and squaring it to get the power spectrum.
The wavelet decomposition works by dividing the returns series into
wavelet coefficients that depend on both frequency octaves and on time. The time dependence is then averaged over to
get just the spectral power in each frequency octave. Then this Wavelet spectrum is used to estimate the
autocorrelation sequence, by Fourier transforming it, and from this the filter
coeffients are computed by means of a standard method (Wiener-Hopf
equations). This averaging process is
really a method of “de-noising” the power spectrum, and I am getting
consistently good measurements of correlation between the filter output and
future returns using the Wavelet-based Linear Prediction filter. Another approach is the one based on the Periodogram
spectrum, which leads to a standard ARFIMA filter [Peters (1994)]. In this approach I still use the Wavelet
spectrum to (try to) estimate the fractal dimension, but I separately use the
Periodogram spectrum. The fractal
dimension must actually be set manually in this approach. The Periodogram is smoothed by a method,
which is essentially the same as limiting the length of the filter coefficients
to a set of *N* coefficients. I
call this the **Order of Approximation**.
This determines the approximation of the time series by an ordinary AR(*N*)
process. On top of this, I multiply the
response by that of a fractional difference filter with the fractal dimension
which must be set “by hand”. This gives
the “fractionally integrated (FI)” part of the ARFIMA filter. (There isn’t any “moving average” or MA part
– it is really just ARFI.) This
approach gives good results for the “fractionally integrated” or *fractional
difference* part of the filter, provided the *sign* of the fractional
difference parameter or fractal dimension, is estimated (or guessed) correctly
beforehand. However, the estimation of
the parameters for the AR part of the filter is usually not too good. This is what leads me to believe that most
of the “signal” resides in the low-frequency components of the spectrum, and
the high-frequency components are mostly stochastic noise. At least this is the case for linear
functions of the returns, or maybe it is due to the assumption of a *stationary*
process inherent in the Fourier methods.
At the present time I am not seeing much evidence at all of any trend *persistence*
in the data. Most stocks seem to be
displaying a *negative* fractal dimension, which indicates *trend
anti-persistence*. So market
conditions seem to be completely different from those of the late 90’s, which
is another indication of the *non-stationary* aspect of the market returns
series.

The Wavelet filter works very
well on its own, with the same default settings all the time. It is able to estimate the fractional
difference parameter or fractal dimension (implicitly, through the Wavelet
spectrum) and correctly take into account the “long-memory” or
“intermediate-memory” behavior of the returns series. So, the results of the correlation test are a fair test of the
predictive powers of this filter. This
filter is indeed able to find the “signal” buried in the “noise”, due to the
Wavelet decomposition of the returns series.
The filter based on Fourier techniques, on the other hand, suffers from
the defect that the fractional difference parameter or fractal dimension must be
set “by hand”. It is crucial to get the
correct sign of this parameter; otherwise the prediction of the filter will be
anti-correlated with future returns, not correlated, as we would wish. But the estimation of the fractional
difference parameter relies on an analysis of the data we are trying to
predict, or in other words, on *future knowledge*. So in this sense, the test of this filter is
not quite “fair”, in that the results are based on the correct knowledge
beforehand of the sign of the fractional difference parameter. This is a major defect of the Fourier-based
Linear Prediction filter, but since it is a standard method for time series
analysis, it is interesting to study for purposes of comparison of techniques. However, for financial time series, which
are almost certainly *non-stationary*, we prefer to place our faith in the
Wavelet techniques.

Here is a very nice example of a stock whose returns display
a significant *negative* fractal dimension. In the top display is shown the actual measured DWT spectrum,
while in the bottom display is shown the spectrum corresponding to a pure
fractionally integrated process with *fractal dimension* equal to
–0.16. This spectrum is obtained by
specifying the FFT filter, with Order of Approximation of zero and Fractal
Dimension setting of –16, denoting the value –0.16. (Note that only the lower frequency half of each spectrum is
displayed in the graphs.):

Notice how the spectrum rolls off
fairly smoothly at low frequencies in the actual spectrum in the top display,
which is approximated pretty well by the spectrum of the “intermediate-memory”
process in the bottom display. (The
approximate one standard-error bars for each frequency octave of the DWT
spectrum are show in dark yellow.) The
bottom display shows the spectrum derived from the FFT filter coefficients with
the settings shown, by the so-called Maximum Entropy Method [__Numerical
Recipes__ (1992)]. However, the
Wavelet (DWT) filter uses the spectrum exactly as shown in the top display,
with no need to set the fractal dimension by hand, so for these reasons I view
it as a better approach. But to display
the spectrum of representative ARFIMA filters in the bottom display, the FFT
filter settings can be used. (Note that
this spectrum uses 2048 days, or 8 years, worth of data, assumed *stationary*
over this time interval.)

By contrast, here is the Periodogram spectrum for the same stock:

From the standard theory of the
Periodogram [Brockwell & Davis (1991)], it is necessary to *smooth*
the Periodogram in order to reduce the standard deviation of the result. The above is smoothed over a 6-day period,
but this smoothing can be selected over a wide range. Also, the result can be compared with the spectrum of a series of
Gaussian random variables. In the above
spectrum, it is much harder to see the roll-off at low frequencies, which is
(evidently) the most important part of the “signal”. The other peaks and valleys are (I think) just random noise,
although the Kolmogorov-Smirnov test indicates a 98.79% probability that this
spectrum is that of a non-random returns series. (It is non-random to the 1.21% significance level.) Note: The bottom display shows an
alternative (standard) method of computing the spectrum, which is derived from
the coefficients of a standard Linear Prediction filter computed from the
Levinson-Durbin (or Burg) method, using again the Maximum Entropy Method [__Numerical
Recipes__ (1992)]. It is because of
the random noise in the Periodogram and the inherent assumption of a *stationary*
time series that the Fourier methods are not so good for financial time
series. They are more suited to
situations like electronic signals, where everything is periodic and the
statistics do not change with time.

So the important and non-trivial
problem is how to separate the “signal” from the “noise” in financial time
series. This is the main crux of the
matter. The effectiveness with which
this is done can be measured by measuring the **correlation** between the
output of the Linear Prediction filter, or the technical indicator, and future
returns, over some time horizon for trading.
We are finding that for short time horizons, for example 1 day, the
correlation is usually masked by stochastic noise and is usually not
evident. But by taking longer time
horizons, most of the stochastic noise can be averaged out, and then some
non-trivial correlations emerge between the longer-term Price Projection, or
longer-term smoothings of the technical indicators, and the longer-term future
returns. (It could be that the
shorter-term correlations are being averaged over because of the stationarity
assumption.) Here is a display of the
correlation between the past returns and future Price Projection (returns),
with the future returns, for the same stock as before:

The way this display works is as
follows. The **Time Horizon** is set
for 10 days. Therefore, the correlation
of the 10-day forward average of returns, for each day in the past, and for
each day of the future Price Projection (returns) is computed with the 10-day
forward average of the actual future returns.
This past and future correlation is displayed on the graph, with number
of days in the past or future indicated on the horizontal axis. The correlation under the ZERO line means
the correlation between the immediate 10-day forward average of the Price
Projection (returns) and the 10-day forward average of the future returns. It can be seen that there is a nice positive
peak under this line and extending several days into the future of the Price
Projection. However, also noteworthy is
the very large *negative* correlation peak about 22 days in the *past*,
between these past returns and future returns.
This negative correlation goes along with the negative fractal dimension
noted earlier, and is indicative of *anti-persistence* or a *return to
the mean* mechanism. So a very
effective technical indicator could be constructed by taking a 10-day simple
moving average, from 22 days in the past to 11 days in the past (inclusive),
and using (the negative of) this as an indicator of the future trading
position, to be held for the next 10 days.
This technical indicator would not even depend on the output of the
Linear Prediction filter at all. But
this indicator would be likely to work only in the current market environment,
with those stocks that display a *negative fractal dimension*. In fact, it can only really be applied to
this particular stock, in this particular time frame. In other markets, such as the trending market of the late 90’s,
an indicator based on *trend persistence* rather than *anti-persistence*
would be called for (for most stocks).

The actual Price Projection from
the Wavelet LP filter is perhaps the most important technical indicator of all
in the ** QuanTek** program.
This Price Projection can be used to

It can be seen that this Price
Projection does have some structure, even for a large, heavily traded company
like XOM. For a smaller, more volatile
and more thinly traded company, the correlation in the past returns will be
greater, and the Price Projection will show correspondingly more structure. Also the “return to the mean” mechanism is clearly
visible in this Price Projection, corresponding to the negative “fractal
dimension”. Then due to the correlation
test just described, we can be assured that this Price Projection has at least
some validity as a prediction of future price action. Of course this is only an *estimate* – it is impossible to
take into account all the factors affecting stock price and make a *deterministic*
prediction of future price moves. Stock
prices move according to a *stochastic* process.

This Wavelet filter is based on
the assumption of *stationarity*, because the Wavelet spectrum has been
averaged over time in each frequency octave.
However, the wavelet approach is very well suited to describing *nonstationary*
time series as well, since the wavelet basis retains a time dependence in each
octave. I are currently working on such
a version of the Wavelet filter, in which the spectrum is *not* time
averaged. But the filter will make use
only of the DWT components in the most recent past, because the ones in the distant
past will not affect the present. Each
frequency octave of the spectrum should control the Price Projection out to a
number of days *N*, where *N* is the period corresponding to each
frequency octave. So the shorter-term
projection should be more volatile, since it is based on more high-frequency
DWT components, and it will smooth out further into the future on the Price
Projection, as only the lowest-frequency DWT components have an effect. It is for this reason that the Wavelet
approach is well suited for many types of time series appearing in practice,
while the Fourier approach is really only suited to time series that are known
to be periodic over a long period of time, such as might be encountered in
electronic circuits for example.
Another approach is that of the *Kalman filter*. The Kalman filter is basically a method for
the *recursive* calculation of a smoothing or prediction, using only past
data, leading to a *causal* indicator or Price Projection. However, the essential problem in Technical
Analysis is really the *de-noising* problem and *signal estimation*,
which is best done using Wavelet methods, and at present it is not at all clear
how to combine the Wavelet methodology with that of the Kalman filter. The Wavelet methods do not seem to lend themselves
very readily to a *recursive* calculation using a Kalman filter (although
I may change my mind about this later).

Louis Bachelier, “Théorie de la Spéctulation”,

Anneles de l’Ecole Normale Superiure (1900)

Peter J. Brockwell & Richard A. Davis,

__Time Series: Theory and Methods, 2 ^{nd} ed.__,

Springer-Verlag (1991)

Ramazan Gencay, Faruk Selcuk, & Brandon Whitcher,

__An Introduction to Wavelets and Other Filtering Methods
in Finance and Economics__,

Academic Press (2002)

Benoit Mandelbrot & Richard Hudson, __The (Mis)Behavior
of Markets__,

Basic Books (2004)

Rick Martinelli, “Harnessing The (Mis)Behavior of Markets”,

*Technical
Analysis of Stocks & Commodities*, June 2006, p.21

Donald B. Percival & Andrew T. Walden,

__Wavelet Methods for Time Series Analysis__,

Cambridge University Press (2000)

Edgar E. Peters, __Chaos and Order in the Capital Markets__,

John Wiley & Sons (1991)

Edgar E. Peters, __Fractal Market Analysis__,

John Wiley & Sons (1994)

William H. Press, Saul A. Teukolsky, William T. Vetterling, & Brian P. Flannery,

__Numerical Recipes in C, The Art of Scientific Computing,
2 ^{nd} ed.__,

Cambridge University Press (1992)

Robert Murray earned a Ph.D. in theoretical particle physics
from UT-Austin in 1994. He obtained a
stockbroker license at about the same time, and started his software company, *Omicron
Research Institute*, soon afterward.
The ** QuanTek** Econometrics program started out as