Code covered by the BSD License
 Technical Analysis ToolGUI for viewing simple technical analysis indicators for a time series.
 axislocations_set(obj)
tatool helper function to set axes locations to their expected locations
 axislocations_store(obj)
tatool helper function to store current axes locations and so that
 bollingerul(data,period,n...Function to calculate the upper and lower bollinger bands for a vector
 cci(data,period)
Function to calculate the Commodity Channel Index of a data set
 createmenubar(hfig)
Function to create the tatool menubar.
 dema(data,period)
Function to calculate the double exponential moving average of a data set
 dpo(data,period)
Function to calculate the detrended price oscillator of a data set.
 ema(data,period)
Function to calculate the exponential moving average of a data set
 etb(data,period,percent)
Function to calculate the envelopes(trading bands) for a data series
 getclassfromworkspace(cla...tatool helper function for getting the name of all variables of a
 getdatastruct(hf)
tatool helper function to get all of the data from all of the axes and
 getvarfromworkspace(WS,va...TATOOL helper function to get a variable with the given name from the
 importMATLABts(obj,eventd...tatool helper function to import a MATLAB timeseries object
 importarray(obj,eventdata)tatool helper function to import an array of time series data
 importfints(obj,eventdata)tatool helper function to import a Financial Time Series object
 importinit(obj,tats)
tatool helper function to complete the initialization of the main UI
 importnew(obj,tats)
tatool helper function to complete the initialization of the main UI
 importstruct(obj,eventdata)tatool helper function to import a structure containing time series data
 importyahoo(obj,eventdata)tatool helper function to import data from http://finance.yahoo.com
 indicatordlg(varargin)
This is a modification of the MATLAB function listdlg (for the UI)
 isscalarinteger(in)
tatool helper function to determine whether the input is a scalar integer
 istats(instruct)
tatool helper function to determine whether the input is a technical
 lri(data,period)
Function to calculate the linear regression indicator of a data set.
 macd(data,p1,p2,p3)
 modifytatsforplotting(tat...tatool helper function for taking a time series with multiple columns of
 momentum(data,period)
Function to calculate the Momentum of a data set
 plottats(tats)
Function to plot a technical analysis time series structure as created
 positionverticalscrollbar...tatool helper function to
 reorderaxes(obj)
tatool helper function for allowing the user to reorder the axes. Note
 reorderdlg(varargin)
This is a modification of the MATLAB function listdlg
 resetzoom(obj)
tatool helper function
 resizecb(obj,eventdata)tatool helper function for resizing the figure (tatool) window.
 roc(data,period,format)
Function to calculate the RateofChange of a data set
 rsi(data,period)
Function to calculate the Relative Strength Index of a data set
 scrollcb(obj, eventdata)tatool helper function to handle the callback for the vertical and
 setdatelimits(xdata,ydata...function setdatelimits(xdata,ydata,uxdmin,uxdmax)
 setdaterange(rangestr,ran...function setdaterange(rangestr,rangenum)
 sma(data,period)
Function to calculate the simple moving average of a data set
 tatool(flag)
This is the entry point function to create a tatool, technical analysis
 uimenueditcb(obj,eventdat...tatool helper function for the edit pulldown menu
 uimenufilecb(obj,eventdata)tatool helper function for processing the file menu callbacks
 uimenufileexportcb(obj,ev...tatool helper function for processing the file export menu callbacks
 uimenufileimportcb(obj,ev...tatool helper function for processing the file menu callbacks
 uimenuhelpcb(obj,eventdat...tatool helper function for processing the callbacks for the main help
 uimenuindicatorscb(obj,ev...tatool helper function for processing the addition or removal of the
 uimenutimerangecb(obj,eve...tatool helper function for plotting specific time ranges
 varnamedlg(varargin)
This is a modification of the MATLAB function listdlg (for the UI)
 wildersmoothing(data,peri...Function to perform Wilder Smoothing on a data set
 wma(data,period)
Function to calculate the weighted moving average of a data set
 yahoodlg(varargin)
This is a modification of the MATLAB function listdlg (for the UI)
 ALLFUNCTIONS.m
 ReadMe.mTechnical Analysis Tool (TATOOL) is designed to allow the user to

View all files
Technical Analysis Tool
by
Phil Goddard
29 Mar 2006
(Updated
18 Mar 2013)
GUI for viewing various simple technical analysis indicators of a time series

ReadMe.m 
% Technical Analysis Tool (TATOOL) is designed to allow the user to
% quickly calculate, display and compare various financial technical
% analysis indicators.
%
% Help for TATOOL is currently quite limited. What follows is a brief
% description of loading, manipulating and exporting data. A list of
% known issues is also given at the end.
%
% DIRECTORIES
% TATOOL requires both the .../tatool and .../tatool/analysisfcns
% directories to be on the MATLAB path.
%
% IMPORTING DATA
% The first thing that needs to be done is for time series data
% to be loaded. Other functionality is disabled until this is done.
% There are potentially 5 options for importing data (under the File>Import menu).
% The options are:
% 1. A ticker symbol from http://finance.yahoo.com (Only works if you have
% an internet connection.)
% 2. A 2 column numeric array of the form [dates_column data_column]
% 3. A structure with a field called dates and another called
% close or price.
% 4. A MATLAB timeseries object. (Only works in version 7.2 or above.)
% 5. A Financial Time Series Object with a field called close or
% price. (Pre ver 7.2: For those licenced to use the FTS Toolbox.
% Post ver 7.2: For those licensed to use the Financial Toolbox.)
% Note that the current version of TATOOL only looks for time series data called
% close or price. A later version will handle open, high, low and
% close series'.
%
% CORE FUNCTIONALITY
% Once data has been loaded you can view different time ranges,
% add/delete various indicators (some of which appear overlaid
% on the main price plot and others in their own axes), and reorder
% the axes (if multiple indicators are plotted). The figure may also
% be resized, in which case appropriate scroll bars become active.
% Various printing options are available under the File menu.
%
% EXPORTING DATA
% You can also export back to the MATLAB workspace. Any indicators
% currently plotted on all axes are exported along with the original
% time series data.
% There are 3 options for exporting data (under the File>Export menu).
% The options are:
% 1. A structure with a field for each axis, then subfields for each
% of the indicators currently calculated.
% 2. A MATLAB timeseries collection containing a time series object
% for each of the indicators. (Only works in version 7.2 or above.)
% 3. A Financial Time Series Object with fields for each of the
% indicators currently calculated. (Pre ver 7.2: For those licenced
% to use the FTS Toolbox. Post ver 7.2: For those licensed to use
% the Financial Toolbox.)
%
% LIMITATIONS AND KNOWN PROBLEMS:
% 1. TATOOL has only been tested for daily data. Data with other time
% periods may or may not work correctly.
% 2. If the legend on an axis is manually dragged away from its
% default (top right) position then it will not move with the axis
% if the figure is subsequently resized or the scroll bars are used.
% This is due to the inbuilt functionality of the MATLAB legend
% command.
% 3. Sometimes the dates displayed across the bottom of the axes do not
% show what year of data is currently shown. This is due to the
% default functionality of the MATLAB datetick command.
% 4. When printing, the scroll bars are shown in the printed image.
% 5. Indicators requiring more than one input series (i.e. those requiring'
% Open, High, Low and Close data) aren't implemented in this
% version.


Contact us