QuanTek Results

 

This is an extensive set of tests of the QuanTek trading rules, consisting of the short-term trading gains realized in the Diagnostic Test back-testing routine.  These are tests of the three Momentum indicators and the Trading Rules derived from them.  The Momentum indicators are various oscillator-type smoothings of the past prices, smoothed by means of a Savitzky-Golay smoothing filter or various Moving Averages.  These Momentum indicators, designed in the Technical Indicators dialog, are then tested for correlation with future returns in the Correlation Test - Indicators dialog.  If necessary the Lead Time is adjusted for a positive correlation peak under the ZERO line in this dialog, with the correlation between the Momentum indicator and future returns measured over the past data set of approximately 1024 days.  Then these three Momentum indicators are added together with any Momentum Weights that you choose, in the Trading Rules Filtering and Momentum Weights dialog.  Also in this dialog are three settings for the Trading Rules Filtering adjustments, that transform the weighted sum of the Momentum indicators into the actual Trading Rules.  These Trading Rules can then be tested in the Diagnostic Test back-testing routine, under a variety of realistic trading scenarios, for short-term trading gains.  A positive result in this test is a verification of the positive correlation measured in the Correlation Test - Indicators, and this demonstrates that the trading rules are optimized over the past data set of 1024 days.  They may then be expected to remain optimized at least a short time into the future, depending on the degree of persistence of the optimization.

Note: In the Diagnostic Test, the position given by the Trading Rules each day is established, then held for a number of days give by the Time Horizon.  This position is re-established every day according to the value of the Trading Rules for that day.  So for the test, in effect, there are a number of separate positions given by the Time Horizon going together at once.  In a practical trading strategy, of course, the position will not be changed every day if the Time Horizon is greater than one day.  However, this was the most effective way to test the daily Trading Rules values while trying to obtain the best "statistics" in the given data set of 2048 days.  It is also the method that mirrors the method of the Correlation Test - Indicators.  

Model Building & Technical Analysis

A technical indicator may be thought of as a model of future returns based on past returns (or prices).  A technical indicator is some function of the past returns that is supposed to predict the future returns.  The test of the model is the degree of correlation between the technical indicator and the future returns, over some time interval of data.  Then, if the technical indicator is well correlated with the future returns, we may presume that this correlation will continue into the future, or in other words we presume the persistence of correlation for at least some finite time interval in the future.  However, the time series of returns of financial markets are almost certainly non-stationary stochastic processes, so this means that whatever correlation is measured over some past time interval can only be expected to persist over a relatively small future time period.  But, the better the model and the better the correlation of the technical indicator with the future returns, the more reason we have to believe that the model will be accurate for a certain time interval in the future.  So from this perspective, the goal is to try to construct accurate indicators which display the highest degree of correlation with future returns.  Once this correlation is found, between one or more functions of past returns and the future returns, then a set of trading rules may be derived directly from these functions, and these trading rules will be effective by virtue of the correlation with future returns of the functions on which they are based.  This is what QuanTek is designed to achieve -- finding functions of the past returns which are highly correlated with future returns, measuring this degree of correlation, and then deriving effective trading rules from these functions.  

The fact that any (statistically significant) correlation exists at all, between any function of past returns and the future returns, refutes the Random Walk model.  To re-iterate, if the returns were random white noise, then no function of the past returns would show a statistically significant correlation with future returns.  Furthermore, it seems too much to ask that whatever inefficiency does exist in the market be of the same nature for all securities, at all times.  (In other words, the statistics are non-stationary.)  Therefore it makes sense to search for inefficiency in each individual security separately, for a given time interval, and then custom-fit the technical indicators to each security and time interval.  This is in essence what is done when the indicators are made adaptive, with parameters that are adjusted either manually or automatically.  In this way the indicators can be optimized over the past data set, for each security and time interval.  We can then presume that this set of optimized indicators will remain optimum and that the correlation will persist for at least a short time interval into the future.  However, due to the non-stationary nature of the statistics, we cannot count on the same indicators exhibiting correlation with future returns for all time, for every security.  This is made even more implausible given that the Random Walk model asserts that there should be no correlation at all.

Then the problem becomes how to test the persistence of the optimization over time.  This will again involve measuring the correlation of the adaptive technical indicator with future returns.  The indicator can be optimized over one data set, then tested for correlation with future returns over a later data set, and in this way the degree of persistence of the optimization can be measured (over this particular data set).  However, we expect that in general the correlation will persist for only a short time interval into the future.  This then presents a problem when it comes to testing any manual settings of the technical indicators.  Even though we may optimize the indicators so that they display maximum correlation with future returns over a past data set, using manual settings, and we may plausibly expect that this optimization will persist into the immediate future, it appears to be impractical to actually test these manual settings of the indicators.  Only if the settings can be made automatic and re-optimized frequently, say every day, can the optimization be tested.  In that case, the trading rules can be tested over a given range of past data, without making use of the same data to optimize the trading rules.  In the case of manual settings, we have to make use of the past data to select the technical indicator exhibiting maximum correlation with future returns.  In that case, the test of the trading rules derived from this technical indicator only serves to verify the existence of the correlation, which has already been optimized over the same data set.  But these manual settings can still be useful, because at least we know that the indicator is optimized over the past data set.  It is then plausible to presume that the optimization will remain valid for a short time interval in the future as well. 

Diagnostic Test - Maximum Correlation (06-11-19)

This test is a series of runs of the Diagnostic Test for each of a set of three Momentum indicators, as well as a mixture of the three, for each of a set of 20 stocks.  The Price Projection filter is chosen in the Hybrid LP Filter dialog, with a time horizon that optimizes the filter performance in the Correlation Test - Filters dialog.  Then for the three Momentum indicators, one each of the three types (Relative Price, Velocity, Acceleration) is chosen in the Technical Indicators dialog.  Each of these is optimized in the Correlation Test - Indicators dialog by adjusting the Lead Time adjustment accordingly.  Then these Momentum indicators are tested individually and as a mixture in the Diagnostic Test.  For this test, no Trading Rules Filtering is used -- all three of the Filtering slider bars are set to zero.  This gives the simple weighted sum of Momentum indicators as the trading rules.

Once a technical indicator is chosen, for example by selecting the filter type, smoothing, and Lead Time setting, no future knowledge is utilized in the Diagnostic Test.  However, the indicator is chosen (among many possible indicators), or optimized, based on the same past data over which the test is conducted, so this choice of indicator is made with the benefit of hindsight.  The following test is therefore merely a test of the effectiveness of the optimization, not a test of the predictive power of the trading rules.  Since the choices of the parameters such as Lead Time are made manually, it would be difficult to devise a test in which these settings are adjusted, say monthly, and the persistence of the settings until the next adjustment is made are tested.  In order to be a fair test of the predictive power of the trading rules, rather than merely the effectiveness of the , it would be necessary to make the Lead Time adjustment adaptive or automatic.  This will be the subject of a future test.  (Leaving the Lead Time on a fixed value would also make it a fair test of the Trading Rules on out-of-sample data, for the particular indicator corresponding to that Lead Time setting.)

This test uses a set of 20 stocks that are included in the Samples folder (version 3.2e).  All 20 stock data sets are at least 2048 days in length, ending on 06-06-23.  Most represent a data set of 2611 days, from 96-02-09 to 06-06-23.  However, only the last 2048 days of data are actually used in the test.

Note: This test uses a set of Momentum indicators which incorporated the Price Projection from the chosen Linear Prediction filter.  This feature was subsequently removed from version 3.2e, which now uses only the Savitzky-Golay smoothing filter for the Momentum indicators.

Short-Term Trading Gains from Diagnostic Test for 20 stocks:

These are SIMPLE annualized returns, normalized to 100% margin leverage (average) -- fully invested.

The Relative Price, Velocity, Acceleration columns are for the corresponding slider bars of the Momentum Weights controls set to 100%.  The Mixture column is for all three slider bars set to 50%.  The Buy & Hold column represents returns from a fixed, constant, fully invested position of 100% long, for reference purposes to compare with the active trading strategies.

The settings for this test are given in the table below this one.

Returns: Rel. Price Velocity Acceleration Mixture Buy & Hold Time Horizon
AAPL 48.29% 57.65% 43.15% 63.25% 47.50% 10 days
CSCO 32.71% 30.87% 32.99% 36.46% 8.88% 40 days
DELL 21.10% 24.81% 26.09% 32.03% -2.37% 14 days
F 24.13% 34.15% 32.71% 41.19% -22.77% 14 days
GM 37.11% 37.43% 12.64% 41.81% -17.32% 40 days
IBM 15.76% 43.18% 47.72% 42.70% 1.26% 32 days
INTC 16.39% 23.74% 9.21% 19.55% -2.24% 64 days
KSS 28.99% 29.33% 22.38% 30.24% -6.00% 40 days
LU 40.11% 123.24% 79.54% 96.20% 7.22% 20 days
LUV 22.96% 26.37% 22.47% 28.78% 2.44% 40 days
MDT 18.79% 18.33% 15.04% 19.14% 4.27% 40 days
MER 10.79% 2.15% 16.21% 13.68% 14.27% 20 days
MOT 38.92% 21.75% 41.59% 41.57% 9.99% 20 days
MRK 22.52% 35.05% 35.00% 36.21% -7.46% 40 days
MSFT 15.26% 27.87% 19.06% 30.38% -2.34% 20 days
SUN 35.50% 37.44% 28.30% 46.03% 32.93% 20 days
SUNW 48.40% 61.92% 55.96% 82.77% -6.63% 20 days
TSN 47.83% 51.03% 40.42% 54.01% 2.09% 40 days
XOM 15.46% 7.35% 12.94% 15.58% 9.60% 40 days
YHOO 51.99% 61.14% 37.47% 56.90% 40.72% 40 days

The parameters for the above indicators, listed below, were optimized so that the indicators had maximum positive correlation with future returns.  The main parameter to be adjusted was the Lead Time.  Each choice of parameters corresponds to a distinct indicator, so a choice has been made of the most effective indicator with the highest degree of correlation with future returns.  The optimization of the parameters is presumed to be valid a short time into the future, say one time horizon.

Momentum Indicator Settings for 20 stocks:

These are the Momentum Indicator and Filter settings for the table of short-term trading gains from the Diagnostic Test given just above.

The columns represent the Lead Time setting of the corresponding Momentum indicators, and the setting of the Change Sign of Indicator check box (in parentheses).  The default settings for the Lead Time and Change Sign are, for a time horizon of N days:    Relative Price:    -N(-),    Velocity:    0(+),    Acceleration:    -N(+)

The Smoothing represents the setting of the Savitzky-Golay smoothing filter for the first component of the indicator, and the Filter represents the type of Linear Prediction filter used.  The default Filter and Time Horizon settings are the Wavelet filter and 20 days, respectively.

Settings: Rel. Price Velocity Acceleration Smoothing Filter Time Horizon
AAPL +43(+) +12(+) +21(-) 10 days Wavelet 10 days
CSCO +30(+) -25(+) -52(+) 40 days Wavelet 40 days
DELL +26(+) -13(+) -28(+) 14 days Wavelet 14 days
F -40(-) -80(-) -40(+) 14 days Wavelet 14 days
GM -28(+) +24(-) -18(-) 40 days Wavelet 40 days
IBM -49(-) +19(+) +48(-) 32 days Fourier 32 days
INTC -100(-) -30(+) -65(+) 64 days Wavelet 64 days
KSS +10(+) -26(+) -51(+) 40 days Wavelet 40 days
LU -11(-) -24(-) -14(+) 20 days Fourier 20 days
LUV -11(+) -61(+) -91(+) 40 days Fourier 40 days
MDT +14(+) -42(+) -12(-) 40 days Fourier 40 days
MER -85(-) 0(+) -27(-) 20 days Fourier 20 days
MOT +30(-) -20(-) +54(+) 20 days Wavelet 20 days
MRK -15(+) -70(+) -94(+) 40 days Wavelet 40 days
MSFT -36(-) 0(+) -16(+) 20 days Wavelet 20 days
SUN -39(-) -9(+) -30(+) 20 days Wavelet 20 days
SUNW +71(-) +50(-) -47(+) 20 days Wavelet 20 days
TSN -3(+) -65(+) -1(-) 40 days Wavelet 40 days
XOM -45(-) -8(+) -43(+) 40 days Wavelet 40 days
YHOO +21(+) -41(+) -4(-) 40 days Wavelet 40 days

Note: For INTC and MSFT the settings are not too far from their default values.

Note: The three indicators for KSS, MRK really had some nice correlation peaks (mainly in the past data)!

Note: For MER there were hardly any correlation peaks at all!

Note: For F the Price Projection was ineffective.  The technical indicators were based solely on past data, as evidenced by the fact that all three values of Lead Time are very far on the negative side.

Note: For GM the Wavelet spectrum was ambiguous, and the Wavelet filter estimated the wrong sign of the "Fractal Dimension".  This is compensated for in the Velocity indicator (which uses a positive Lead Time) by the Change Sign of Indicator (-).  The other two indicators also have their sign changed from the normal sign.

Note: For LU we had trouble finding good LP filter settings.  We finally settled on the Toeplitz FFT filter with Order of Approximation setting of 128 and Fractal Dimension setting of +0.10.  All three Lead Time settings are negative, so the LP filter doesn't matter much anyway.

Note: For IBM, LUV, MDT the Wavelet filter gave the wrong sign for the "Fractal Dimension".  The filter was changed to the Toeplitz FFT filter with Order of Approximation setting of 10 and Fractal Dimension setting of -0.10.  This seems to give a very good result.

Note: For MER the Wavelet filter again gave the wrong sign.  But good results were achieved with the Toeplitz FFT filter with Order of Approximation setting of 10 and Fractal Dimension setting of +0.10.

Note: For MOT, MRK, SUNW, TSN the Wavelet filter again gave the wrong sign.  This will be compensated for by changing the sign of the indicators.  But it looks like the estimate of the "Fractal Dimension" is not very reliable in many cases.  Or perhaps the problem lies with our assumption of a stationary process, whereas in fact the financial data have non-stationary statistics.  Anyway, it might simplify things to leave the Price Projection out of the Momentum indicators.  Otherwise, the Fractal Dimension would have to be adjusted by hand for optimum performance, thereby leading to another parameter that must be adjusted manually.

Note: The Wavelet filter gave exceptional performance for MSFT, SUN, YHOO.

As always, "Past performance is no guarantee of future results."

Please read and understand the Disclaimer.

Go back to the Home Page.

Last modified 11/27/2006 .

Copyright 2007 Omicron Research Institute.  All Rights Reserved.