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

Internally the QuanTek program has been extensively modernized, but the user interface (UI) looks much the same as the original version from the late '90s. This needs to be modernized from the old Multiple Document Interface (MDI) interface to a newer Tabbed Interface. Also, a couple of the dialogs and views will be replaced by a Data Grid View.

I would like to build upon the basic Adaptive Wavelet Linear Prediction filter design by making use of a wider variety of regressors or technical indicators, and do further testing and tweaking of these filters. This should also 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 Adaptive Wavelet LP filter 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.

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

Also the versions for MetaStock and TeleChart will be resurrected, but first a version for MarketXLS.

Features of QuanTek 3.8 (October 31, 2017)

A new Adaptive Wavelet Linear Prediction filter has been developed that seems to provide good results. This filter solves some issues with the previous filter design. We intend to refine and develop this filter further in future updates. 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.

Also the Optimal Portfolio calculation was updated and refined, going beyond the modified Markowitz method that was previously used. I had to develop a new modified version of the Markowitz method that was suitable for individual portfolios (see the article in the Help file). This corrects a fundamental issue with the standard Markowitz method.

I have also introduced a new set of Help dialogs. Eight of these are shown from the Welcome to QuanTek! dialog, which is available from the Main Window, and another eight are shown from the Data analysis - Graphs & Trading Rules, which is available from the Graph Window. These Help dialogs present a summary of key features of the QuanTek program, and also provide links to the main Help file. The entire Help file was also rewritten and improved, in particular four of the five articles, which present an overview and theory behind the QuanTek program.

This version downloads free Yahoo data as well as parsing ASCII files. The historical data is parsed from Yahoo *.csv files from their website, but the daily update may be done automatically. The time for the daily update may be set, and then the download is done automatically even while the computer is asleep.

Features of QuanTek 3.1 - 3.7 (2010-2016)

This has been a series of beta versions, in which I have essentially rewritten and modernized the whole program. Many of the numerical routines and data download routines were obsolete and needed to be updated. The ASCII parse routines were also updated and improved, in particular to implement the parsing of free Yahoo data.

In addition, a set of Wavelet routines was implemented, incorporating Wavelet smoothing in various displays, as well as a new Adaptive Wavelet Linear Prediction filter design. This design is more appropriate for financial data than conventional designs, such as the Standard LP  filter that we still use, because it minimizes "fitting to the noise" and helps to separate the "signal" from the "noise" in financial data.

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

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.

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.