TrendFinder Program Screen Shots

On-Going Top Pick Predictions

Download Shiraz Demo Version

  Shiraz TrendFinder Stock Market Analysis Tool

High-Lights
Shiraz TrendFinder is a fully functioned environment for analyzing stock/fund behaviors and estimating these trends.  A quick list of features is described below:
  • Computational network based analysis model
  • Automatic data importing from either Yahoo or local data files
  • Multiple targets support High/Low or Open/Close Estimating
  • Familar spreadsheet interface for data analysis with customized I/O
  • Graphical presentation of results
  • Watchlist document type for managing portfolio lists
  • TrendFinder toolset providing model synthesis and optimization
Overview
Investing in stock and mutual funds has become a common place activity for many people due to inexpensive transaction costs and availability of market information.  With this wealth of information comes the ability to make informed investment decisions based on what one feels are influential parameters on pricing.  The tools most people use: market segment or group index, moving averages and various indicators leave a measure of subjectivity in interpreting the results or drawing conclusions.  This is best described as needing a "trained eye" to see market conditions and any underlying trends.  Shiraz was designed to remove the guesswork in evaluating results based on the inputs presented to the program for analysis.  Once trained to identify any trends or market conditions present in a data set, Shiraz can extrapolate the results for investment speculation.

Trend Modeling
The art of trend-finding or estimation has been described by various mathematical methods as applied in the field of science.  In astronomy, predictions of sunspot activity is common application while here at home earthquake prediction is popular.  The simpler data modeling techniques of least-squares or cubic-spline curve fitting provide a good trend estimate for past data but suffer from predicting future events.  Complex estimation methods of kalman filtering and IMM give a much better estimation capability but rely heavily on expert knowledge from the original model designer.  This incomplete separation of data and knowledge leads to "bias filtering" which serves to color the results and may limit the effectiveness of the prediction.  Shiraz utilizes a neural computational model well suited for being "trained" in the behavior of trends and uses this knowledge base to estimate or predict trends.  Since the method is free of "data coloring" because the model is trained on real data, the only limitations in it's ability to predict will be the order or complexity of the underlying model.  Shiraz can automatically adjust the model parameters based on data input sources and prediction error results.  The user is free to override the automatic feature in the event customization is desired.

Modeling is Shiraz consists of a four part process designed to data capture, data characterization, model optimization (with verified results) and predict trends in future data sequences.  The first step is importing pertainent data from a data source, either Internet or file based.  Capturing of this data can consist of starting with a new model or updating an existing model with the most recent data.  Automatic partioning of the data into vector sets used within Shiraz is applied upon data import to assist the user under nominal conditions.  The next step is data characterization where the trend characteristics of all imported data is investigated to identify the strongest contributers which are then used as model inputs.  Data sets are ranked by auto-correlation (self testing) and cross-correlation (input to target testing) prior to inclusion to the model.  The elimination of possible inputs with low correlation tendencies reduces the "noise" level presented to the model simplifing the complexity.  In the model optimizer step, the selected inputs and targets are used to build the neural computational network for prediction of data.  The neural computational network is trained via a "Stopped Learning Monte-Carlo" approach which eliminates the over-training problems common associated with neural applications.  Trained network prediction properties are evaluated for usefulness and accuracy using a stepped evaluation approach which predicts against known data and result statistics produced.  These statistics are used to adjust the model order and sample window size until satifactory accuaracy has been achieved thereby eliminating cases where no predictive trend exists.  Finally, the data sets are reorganized to allow prediction of future trend states based on the most recent available data.  This process is depicted by the following figure:


Shiraz Internal Basics
Data analysis in Shiraz is built on training a computational network using a "window" of data as a snapshot into a longer sequence.  A simple way to describe this would be to say "I need to predict tomorrows price of Microsoft stock based on last weeks stock prices".  The organization is similar to the commonly used moving average function available on financial website as a tool for stock trend evaluation.  Historical data, such as a daily closing price, is ordered from oldest to most recent and arranged into a data column in the Shiraz grid.  The overall data set length can vary in size based on the number of unique training sub-sets available to present to the network as inputs.  A single goal value, usually the next value in the sequence, is selected as the target value given as the correct output value for a specific input data sub-set.  The size of the input training sub-set is defined by the training window size as detailed below:

The data training subset is presented as an input to the network as well as the next in sequence goal value to be compared to the actual network output value.  A training feedback term is generated based on the error between the goal and network output which serves to slightly adjust the network internal response.  After completion the training subset and goal are moved down to the next position (i.e. next day, week or month) and the process repeated until successful network training is achieved.  Training is processed using the "Training" section of the data to force the response of the network.  A seperate process called testing is used to evaluate the effectiveness of the training based on unseen data in the "Testing" section of data.  When the statistical feedback error within the testing section is below the threshold, training is terminated and completion figures of merit are calculated.  The final guage of modeling accuracy and quality is made using the "Evaluation" section of the data which represents the latest/untrained values.

Is Shiraz Accurate??
The mathematical methods used in Shiraz were developed and maintained using regression test cases to demonstrate predictive abilities of the program.  Specifically, difficult sequences combining two differing trend characteristics are used to verify performance.  Some of these example test cases are shown below along with the predictive results obtained from the program.

Dual target predictions of phase inverted sine waves: (Note effects of two pass WIN/MA estimator on long term extrapolations)



Sine wave with positive incremental slope  offset: (Note model type FIX/MA significant accuracy increase over FIX WIN)