** QuanTek** is a

** QuanTek** now works with either

For more information on all the features of ** QuanTek**,
please download the program and consult the

One of the best features of ** QuanTek** is
the

The **Main Graph** has five different scales, and
enough ranges on each scale to cover the whole 2048-day data set.
There are different **Trend Lines**, **Moving
Averages**, **Bollinger Bands, Buy/Sell Points**,
**Buy/Sell Signals, Long/Short Signals**, and **Candle Sticks** on the different scales. On each
scale is the **Price Projection** from the **
Wavelet Adaptive Filter**, showing the future **
expected return** on the time scale of your choosing.

The **Price Projection** is computed from a **
Wavelet Adaptive Filter** of our own design, which is a
**Least Mean Square (LMS)** type using regressors or**
Technical Indicators **obtained by means of **Wavelet
Smoothing**. The use of the **wavelet**
decomposition results in a dramatic simplification of the filter
design, and aids in separating the weak "signal" present in the data
from the "noise". Basically, the **wavelet**
decomposition separates the signal with respect to both frequency
and time, with the frequency separation in octaves and the time
separation longer on the low octaves and shorter on the high
octaves. This is a natural separation for many real-world signals,
as the only part of the signal that is actually relevant to the
present time is that which occured most recently, on the order of
the most recent few cycles on each octave. Then the **Adaptive
filter** can utilize the most recent part of the signal on
each octave level for regression. At present we use the **
wavelet decomposition** of three different combinations of
the price data, which we call the **Relative Price**
(detrended prices), the **Velocity** (returns or 1st
difference of prices) and **Volatility** (absolute
deviation of prices). Use of the most recent values of the **
Relative Price**, **Velocity**, and **
Volatility** indicators as the regressors for the **
Wavelet Adaptive Filter** results in a vast simplification of
the filtering problem, as these three indicators are automatically
orthogonal (uncorrelated) on each wavelet level. In addition, using
the **Volatility** as one of the regressors makes the
filter an implementation of **GARCH (Generalized
Auto-Regressive Conditional Heteroskedasticity)**.

The **Price Projection** also displays **Error
Bars** which represent the **expected N-day
future price range** for

The **Price Projection** from the **Wavelet
Adaptive Filter** is optimized for a **Trading Time
Scale** from 1 to 128 days (10 days or greater recommended
using daily data), which you specify. This governs how rapidly the
**expected returns** change, and as a consequence how
rapidly the **Optimal Portfolio** changes. It also
governs the rapidity of the **Trading Rules**.

The **Optimal Portfolio** in ** QuanTek**
is computed using a modified

The **Portfolio Report** is an **RTF**
file that you can display at any time (after computing the **
Optimal Portfolio**). It shows the securities in the current
**Portfolio** folder along with the past returns on
several time scales, the future **expected return** on
the chosen trading **Time Scale**, and the **
standard deviation (volatility)**. Next it displays the
**model portfolio** which consists of the number of
shares long or short of each security "owned", the market value of
the shares, the actual price, and the basis price. Next some
portfolio information is displayed such as the account equity and
the total long and short market value. Finally the **optimal
portfolio** is displayed with the number of shares of each
security and percentage of equity, to compare with the corresponding
numbers in the **model portfolio**. It also displays
the **Sharpe Ratio** for each security, which is a
measure of the ratio of **expected return** to **
risk**. Finally the results of the **Optimal Portfolio**
calculation for the overall portfolio as a whole are displayed,
consisting of the **Expected Return** and **
Standard Deviation** for the whole portfolio, along with the
**Margin Leverage**. All this information is extremely
useful for making trading decisions. The **RTF** file
can be saved to disk and consulted later.

Most of this information can also be viewed in a dialog box
called the **Short-Term Trades** dialog. This dialog
also has a useful feature displaying the expected future price and
range of prices * N* days in the future,
where

* QuanTek* has several

Two other statistical tests are the **Wavelet Analysis**
and **Wavelet Variance** dialogs. These are mainly used
to test whether the **Wavelet** routines are
functioning correctly, and to display their output graphically. The**
Wavelet Analysis** dialog** **displays the
output of the **Wavelet** filters in terms of the
**wavelet coefficients** and the **
multi-resolution analysis (MRA)**. The **Wavelet
Variance** dialog uses the actual price data to compute its
**wavelet variance** and then display a **
covariance matrix** based upon it.

Next there are two statistical tests that show a standard
spectral decomposition of the price returns. The **Periodogram
Spectrum** displays a standard **Fourier**
spectrum of the returns. This is a standard computation in **
time-series analysis**. The **Wavelet Spectrum**
displays the corresponding **Wavelet** spectrum of the
returns, averaged over time, so there is one average value per
frequency octave. Theoretically, if the returns data are correlated
(assumed stationary, so the correlation is time-independent), then
the correlation would show up in a non-constant spectrum of the
returns. On the other hand, if the spectrum is constant, then the
returns are "white noise", in accordance with the **Random
Walk** model. Actually, though, the theoretical variance of
the spectrum is about 100%, so it is hard to tell from the spectral
graph alone whether there are really any meaningful correlations in
the data. (Also, the correlation is not expected to be stationary.)
This is why the **Correlation** test described above is
more relevant for non-stationary correlations.

Finally, there is the **Correlation -- Returns**
dialog. This dialog measures the **correlation**
directly between two securities, or the same security, in which you
can vary the time lag between the two. The result is displayed in
the form of a **scatter graph**, with a point on the
graph for each point of the data. If there is **correlation**,
it can be seen as a non-uniform distribution of the points on the
graph. The actual degree of **correlation** is
displayed, computed three different ways, along with the confidence
level that the correlation is not spurious. There is also another
dialog connected with this one, that displays the **
auto-correlation **or** cross-correlation**
**sequence** between the same two securities, as a
function of time lag. This **correlation** uses the
**Fourier** **transform** method. The
**Correlation -- Returns** dialog could be useful for
choosing securities in the **portfolio** to achieve
maximum **diversification**, since to achieve this it
is important to find pairs of securities that are **
anti-correlated**.

** QuanTek development:** This is a summary of the
history of the

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

The new ** QuanTek **version

There are also several new **statistical tests**,
including a **Simulated Trading**
scenario utilizing the **Long/Short Signals** and daily
trading. This tests the improvement of (simple) returns due to
**Active trading**, compared to the (simple) returns
due to **Buy & Hold** **Passive investing**.
There are also new **correlation** tests involving the
**regressor** (and other) indicators. The **Main
Graph** has also been updated and a fifth scale has been
incorporated.

Also the V**olatility** has been taken into account as a
**regressor** in the **
Adaptive Wavelet LP **filter which makes it into 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**.

Due to the fact that **Yahoo** discontinued its free
data services, it became necessary to find some new data sources for
* QuanTek*. The best free data service that
we have found so far is

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. It was necessary 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

This version downloads **free data** from **Alpha
Vantage**, inexpensive data from **EOD Historical Data**, as well as parsing
**CSV** files in a variety of formats. The program
is set up to download **Historical**, **Daily
Updat**e, **Intra-Day Update** data and also
**Fundamental** data (not utilized at present). The
historical data are downloaded one security at a time, but the daily update
(actually for the past 100 days) may be done automatically for the
whole portfolio (one security per minute). The time for the daily update
each evening may be set,
and then the download is done automatically even while the computer
is asleep.

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**.

The old version of the **Trading Rules** from
** QuanTek 3.2** using

In addition, a set of **Wavelet** routines was
implemented, incorporating **Wavelet smoothing** in
various displays, as well as the 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.

** QuanTek** enables you to design your own custom

This version of ** QuanTek** underwent much testing and development of the

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

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

Here were some of the new features of ** QuanTek**:

**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)**orprocess. The*long-memory***Hybrid LP Filter**dialog also has attached to it a dialog box which displays the**correlation**between the filter output**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 ofis that you can design and test yourself a wide variety of*QuanTek***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. After a set of three of these indicators is designed, the*QuanTek***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:**also incorporates a*QuanTek***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**.

* StockEval* was a preliminary version of our stock trading
program, designed to incorporate up-to-date methods of computation and
a

* StockEval* used only data from

These were the main features of ** StockEval**:

**Price Projection:**The main**technical indicator**in theprogram was a**StockEval****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**EWMA**s 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-Golay**digital 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 inwas a standard, publicly available**StockEval****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:**Theprogram featured a set of three novel**StockEval****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 ofwas 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.**StockEval****Portfolio Optimization:**also incorporated a**StockEval****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**.

*Go back to ***Home Page**