Omicron Research Institute

QuanTek Econometrics Software

QuanTek News

QuanTek development:  Here is the latest news regarding the ongoing development of the QuanTek Econometrics program.  A description of the most important features of QuanTek is given below, as well as new features added in subsequent updates and a hint of future plans.  Please download and run QuanTek on your Windows computer, by going to the Download QuanTek page, to try it out using the Sample files.  

Future Plans

I would like to build upon the basic Wavelet Linear Prediction filter design by making this filter adaptive. This means that it adjusts continuously to an incoming stream of data, or in other words it is a type of Kalman filter. This should set the stage for a version of the filter to work with real-time data.

Also the volatility will be taken into account in the Linear Prediction by making use of a GARCH model (Generalized AutoRegressive Conditional Heteroskedasticity). This should improve the predictive power as well as setting the stage for an Options version of QuanTek.

Also the Optimal Portfolio calculation will be updated and made more sophisticated, going beyond the basic Markowitz method that is currently used. This will make the portfolio more resilient by taking into account extreme risks such as market crashes.

More Statistical Tests are planned in the future to try to measure the predictive power of the Wavelet Linear Prediction filter used in the Price Projection.

Also the versions for MetaStock and TeleChart will be resurrected.

QuanTek 3.6 - beta (September (?), 2015)

I would like to go ahead with a new Adaptive Wavelet Linear Prediction filter, which is a Wavelet variant of a Kalman filter. This will make the Price Projection more accurate and hence increase returns and reduce risk in the Optimal Portfolio.

More Statistical Tests are planned, such as Simulated Trading scenarios using various LP filters and Trading Rules.

QuanTek 3.5 - beta (January 10, 2014)

I have added some improvements to the Main Graph, listing the N-day expected return of the Price Projection at the top of the Graph window. I also improved the Portfolio Report, listing the future expected return as well as past average returns over a variety of time scales. I tweaked the Wavelet LP filter for maximum stability and responsiveness, and tweaked the Optimal Portfolio to take into account recent past returns (trend persistence) to increase the stability of the Optimal Portfolio calculation.

I decided to go back to the original form of the Harmonic Oscillator indicator, using the standard Burg Linear Prediction filter. This filter is best for extending cyclic or oscillator-type indicators, whereas the Wavelet Linear Prediction filter is better for estimating the future expected returns. I also tweaked the Buy/Sell signals and rewrote parts of the Help file. This was a substantial improvement to the trading rules.

I developed an encrypted Authorization Key for the program to enable licensing for fixed subscription periods, which uses a personal Pass Code for each subscriber.

Many Help file articles were also rewritten and improved, in particular the Overview of QuanTek article.

QuanTek 3.4 - beta (October 27, 2013)

I have added a second dialog box of Statistical Tests to the Greeting Dialog, which I call the Test Linear Prediction Filters Dialog. This second test dialog contains all the test that require an extended computation of the LP filters going back 2048 days. Then the Greeting Dialog contains the more generic Statistical Tests of the financial data that do not require the 2048-day calculation, along with the tests of the Wavelet routines. The Test Linear Prediction Filters Dialog contains a Correlation Test of the Price Projection from the LP filter with the N-day future returns, to test the effectiveness of the Price Projection and Trading Rules derived from it. 

I have also done more work on the Help file, but more work still needs to be done.

This beta version downloads free Yahoo data as well as parsing ASCII files. 

QuanTek 3.3 - beta (August 10, 2013)

Sorry for the long delay. For this QuanTek 3.3 (beta) version, I have developed a completely new type of Linear Prediction filter based on Wavelets. This is a completely new design (by me), and I believe it is much better suited to financial data than the previous standard filters that are designed for other types of time series. This new Wavelet Linear Prediction filter is designed for non-stationary time series such as financial returns series. It should give a better estimate of the N-day returns, up to 128 days, without "fitting to the stochastic noise" as in the standard filters. This filter is also set up so that it can be generalized to more complex types of filter. The next improvement will be an adaptive version of this filter, and also the filter will be generalized to a multivariate version which does the whole portfolio calculation at once.

A number of Statistical Tests have been devised and included in a Greeting Dialog. These were devised to test the Wavelet routines to make sure they were operating correctly. 

I have also completely re-written the program and greatly expanded the Help files. Now you can see a Help dialog almost anywhere in the program just by right-clicking. The whole program has been streamlined and simplified, to make it easy to use for everyday trading.

This beta version downloads free Yahoo data as well as parsing ASCII files. 

Features of QuanTek 3.0 (September, 2006)

QuanTek enables you to design your own custom technical indicators and trading rules, and to test these indicators and trading rules for effectiveness.  The technical indicators are based upon a variety of Linear Prediction filters and the Savitzky-Golay smoothing filter.  Used together, these two digital filters yield a wide variety of oscillator-type indicators.  QuanTek also incorporates a variety of statistical tests to test the effectiveness of these indicators.  There are several correlation tests to test the correlation between the indicators or the LP filter output with future returns directly.  There is also a back-testing routine called the Diagnostic Test to test the Trading Rules derived from the indicators in several realistic trading scenarios with values of the time horizon for trading from 1 to 40 days.  Also included are displays of the spectrum of returns, based on either the standard Periodogram or the Wavelet spectrum.  These are included because these spectrum measurements are the basis of several of the Linear Prediction filters in QuanTek.

This version of QuanTek underwent much testing and development of the Linear Prediction filter routines, in particular the development of a Wavelet LP filter.  To go along with this, we added a Hybrid LP Filter dialog, to enable setting the choice of Filter Type, Order of Approximation, and Fractal Dimension for each security data file individually.  These filters and their parameters can be tested from within this dialog by calling the Correlation Test - Filters dialog, to measure the correlation between the raw Price Projection (returns) output of the LP filter with the future returns, for a variety of choices of the time horizon.

Also a Correlation Test - Filters dialog was developed in order to test directly the predictive properties of the various Linear Prediction filters.  In this version, six different LP filters were included, and any one of these filters can be selected to use for computing the Price Projection and Trading Rules.  However, it was found necessary to be able to set the filter parameters manually, for each security individually, in particular the Fractal Dimension.  This has been done in the subsequent version of QuanTek by bringing back the Hybrid LP Filter dialog, in addition to a choice of the six different filter types

The Time Horizon adjustment could now be made separately for each security, rather than one setting for the whole program.  This is important because each security has its own optimum time horizon for best performance of the Price Projection.  Now this may be set either in the Correlation Test - Filters dialog when testing the filters or in the Correlation Test - Indicators dialog when testing the indicators. 

A new dialog box, called the Trading Rules Filter & Momentum Weights dialog, was added, where the Trading Rules can be selected and displayed.  The new selections for the Trading Rules include three new controls, called the Increment, the Threshold, and the Compression.  In addition the three Momentum Weights, which are the weights of the three Momentum indicators in the Trading Rules, are set from this dialog.  This new dialog is also called from the Diagnostic Test, so a set of Trading Rules based on the three saved Momentum indicators can be set and back-tested independently from the data file itself.

QuanTek now works with either TeleChart or MetaStock data, or directly with ASCII files in a variety of formats.

Here were some of the new features of QuanTek 3.0:

  • Price Projection: A Price Projection is computed using one of a choice of Linear Prediction filters, and displayed on the Main Graph.  This Price Projection is also used as part of the computation of the Momentum indicators and Trading Rules.  One of the LP filters uses the Wavelet spectrum, one uses the Periodogram spectrum, and one computes the autocorrelation directly.  At present, all of these filters assume a stationary stochastic process over the past 1024 days, which seems a reasonable approximation to the true non-stationary stochastic process underlying the financial markets.  You can experiment with the results of using the different LP filters. Linear Prediction: The Hybrid LP Filter dialog is used to set the Linear Prediction filter for each security separately.  The type of filter may be chosen, as just described, and two parameters which are called the Order of Approximation and the Fractal Dimension can be set.  The Order of Approximation selects the degree of smoothing of the filter spectrum, by setting the length of the series of LP coefficients.  The Fractal Dimension sets the low-frequency response of the filter, corresponding to modeling the time series as a fractionally differenced (FD) or long-memory process.  The Hybrid LP Filter dialog also has attached to it a dialog box which displays the correlation between the filter output (returns) , and the future returns.  Using this Correlation Test - Filters dialog, the predictive power of each filter can be tested directly for any settings of the filter type and parameters.
  • Momentum Indicators: The main feature of QuanTek is that you can design and test yourself a wide variety of technical indicators based on the Linear Prediction filter and the Savitzky-Golay smoothing filter.  These consist of practically every conceivable oscillator-type indicator that can be made out of the past price data.  These indicators can then be tested for correlation with future returns using the statistical tests in QuanTek.  After a set of three of these indicators is designed, the Trading Rules indicator is formed by a weighted sum of these three indicators, with various filter rules applied.  The effectiveness of the final Trading Rules indicator can be tested in a variety of realistic trading scenarios by means of the Diagnostic Test.
  • Statistical Tests: There are two correlation tests which measure correlation with future returns of the technical indicators and the output of the Linear Prediction filter.  These give a direct indication of the effectiveness of these two methods of estimating future returns.  There is also a Diagnostic Test, which is a back-testing routine to test the Trading Rules in a variety of realistic trading scenarios, for a given time horizon.  Two of the statistical tests are the standard Periodogram spectrum and the Wavelet spectrum, which are two different methods for computing the power spectrum of the stock (log) price returns.  These give another indication of the possible presence of correlation in the returns data.
  • Main Graph: The scrolling graph has been improved, with four different scales that cover the whole data set.  Now there is no limit to the time span of historical data that can be displayed.  This also makes it possible to do a better statistical analysis, using deep historical data.  The graphs are now available in either black or white background.  The black background looks great!  These four graph scales display the Price Projection, various buy/sell signals, Bollinger Bands, and on the highest scale is a Candlestick Graph.  
  • Portfolio Optimization: QuanTek also incorporates a portfolio optimization routine, making use of the Markowitz method.  The correlation between the returns of all the securities in the portfolio (data files in a folder) is computed and used, along with the expected return for each security derived from the Price Projection, to compute the optimal portfolio which should maximize returns and minimize risk.  The parameters for risk aversion and margin leverage can be set by the user, to achieve portfolios with different degrees of risk vs. return.  

Features of StockEval (1998-2001)

StockEval was a preliminary version of our stock trading program, designed to incorporate up-to-date methods of computation and a scientific basis for technical analysis.  This program featured the use of the Savitzky-Golay digital smoothing filter, as a replacement for moving averages, and a Linear Prediction filter to estimate future returns up to 100 days in the future.  This resulted in a novel set of technical indicators which featured zero time lag, and a more straightforward interpretation than the usual ones.  We experimented with several different approaches to Price Projection, each of which captures certain aspects of the overall problem, as it turns out.   

StockEval used only data from Dial/Data or ASCII files.  (It was written originally for Dow Jones data, and still had some legacy features from that, including the capability to log on to any database via modem as a Telnet program.)  

These were the main features of StockEval:

  • Price Projection: The main technical indicator in the StockEval program was a Price Projection, in which future prices are estimated up to 100 days in the future.  Two of the main approaches we tried were a regression of the future returns on a set of exponential moving averages of the past prices, and the Linear Prediction routine.  The first method used a set of exponentially weighted moving averages on different time scales, and the differences between EWMAs on adjacent time scales were taken as the basis functions (essentially MACD indicators).  The future one-day returns were then regressed on these basis functions, and the whole procedure was extrapolated into the future one day at a time.  This method apparently gave reasonable results.  However, a simpler method is to utilize the standard Linear Prediction method, which is somewhat equivalent, although it leads to a "noisier" outcome due to a greater number of parameters being fitted.  Both of these methods gave good results on the Diagnostic Test (a back-testing routine), but the excess noise in the trading rules on short time scales was a difficult problem.  However, after applying the Savitzky-Golaydigital smoothing filter to get rid of the short-term stochastic noise, the results were definitely positive, and led to rather spectacular short-term trading gains according to the Diagnostic Test, in the strongly trending market of the late '90s.
  • Linear Prediction: The Linear Prediction filter used in StockEval was a standard, publicly available LP filter which models the time series as an auto-regressive (AR) process.  This filter was used with the maximum number of parameters (1024) in order to try to get the best possible long-term prediction.  (The short-term stochastic noise was then filtered out using the Savitzky-Golay smoothing filter.)  However, after analyzing this particular filter, it turns out that it is actually adaptive in a certain sense (when used with the full set of parameters), in that it gives greater weight to the most recent data.  This explains why we were getting pretty good results on the short-term trading rules as well, as measured in the Diagnostic Test.
  • Harmonic Oscillator: The StockEval program featured a set of three novel technical indicators based on the Savitzky-Golay digital smoothing filter, which we call the Harmonic Oscillator indicators.  The Savitzky-Golay filter can compute derivatives (rates of change) of the smoothed prices, and these smoothed prices and their first and second derivatives were used to construct the set of Harmonic Oscillator indicators with zero lag and a more straightforward interpretation than the normal ones.  From these indicators, a set of trading rules was derived.  These trading rules gave good results on the Diagnostic Test, although they only applied to a trading scenario in which the position is varied smoothly by making a small adjustment every day (which would only be practical for large portfolios).
  • Main Graph: The Main Graph of StockEval was rather novel.  It was a scrolling graph of the entire data set, presented in one long "panorama" which you could scroll across.  There were four different scales on the graph, separated by a factor of two, and the horizontal and vertical axes both scaled the same way, so that the slope of the graph was preserved when rescaled.  The price axis of the graph was logarithmic, so a constant distance along the vertical direction represented a constant percentage change.  This made it possible to judge the relative performance of different stocks directly "by eye", just by comparing directly the slopes of the graphs (a feature not seen in the usual stock price graph).  Underneath the log prices, the log volumes were plotted, relative to a reference line that represented the average log volume.  This made it easier to see when the volume is larger or smaller than its average value.
  • Portfolio Optimization: StockEval also incorporated a portfolio optimization routine, making use of the Markowitz method.  The correlation between all the stocks in the portfolio (stock data files in a folder) was computed and used, along with the expected return derived from the Price Projection, to compute the optimal portfolio which would maximize returns and minimize risk.  The parameters for risk aversion and margin leverage could be set by the user, to achieve portfolios with different degrees of risk vs. return.