Figure 13-16: Fibonacci expansion chart object placed on Point 1, 2 and 3
Typically, the charting platform will provide the default ratios for Fibonacci
Expansion. However, you can customize the ratios according to your
preferences. To do so, double click on Fibonacci Expansion in Chart. Click
on Properties of Fibonacci Expansion.
Figure 13-17: Pop-up menu for Fibonacci expansion chart object
From the property window of Fibonacci expansion (Figure 13-18), you can
change, add, and remove ratios. At the same time, you can also change their
look including the line colour, line thickness, and line style.
Figure 13-18: Property window of Fibonacci expansion chart object
In MetaTrader 5, instead of using left click and hold move, you will make
two clicks on the first and second points in your chart. Then you will need to
drag the third snap point to the Point 3. In Optimum Chart, you will make
three clicks on first, second and third points. No drag or hold moves are
involved. Sometimes, the platform developer can change the mouse
behaviour with chart object. Once, you have some basics, it is not so difficult
to adapt new approach. This tutorial is applicable for the time being of
writing this book. In summary, we have provided the simple tutorials for you
to get familiar with Fibonacci price patterns. Use this tutorial before you
study Harmonic Patterns, Elliott Wave patterns and X3 patterns.
14. Special Chapter: Algorithm and Prediction for Artificial
Intelligence, Time Series Forecasting, and Technical Analysis
Explaining the computational algorithm behind the technical analysis or
pattern scanner to non-technical people is not an easy task. If we are an
occasional user or if the algorithm is used for the light application with small
or no monetary risk, then there is no need to understand how the algorithm
works. However, if the usage of algorithm, for example, technical indicators,
involves with some or high monetary risk, as in forex and stock market
trading, you should have at least some basic understanding on how algorithm
works. Having such a knowledge is highly advantageous for your trading.
When we want to create a technical indicator, pattern scanner, or other
technical analysis tool, two main components are the concept and the
implementation. Often most of people think about the concept only. They
skip to think about the implementation. Until you can implement the concept
using the computer algorithm, the concept is just concept. In fact, it could be
concept forever. It is the same for the trading strategy or market prediction
technique. Sometimes, your trading strategy or market prediction technique
might be not feasible at all. Sometimes, your trading strategy or market
prediction technique might be implementable to the computer algorithm but
the implementation might be not feasible within reasonable timeframe and
cost. If you think about not all the car design in the concept stage is feasible
to be manufactured within the reasonable cost and time, this is not hard to
understand. In case of the computer algorithm development, many people
tend to forget the feasibility issue because the computer algorithm is not
physical like a car or airplane. However, this is not right. The algorithm
development using the programming language like C++, C Sharp, VBA,
MQL4 or MQL5 could be one of the labour intensive work depending on
what you want to implement.
Another important consideration on using algorithm is the amount of
computational work required to get the predictive value from technical
indicator or the predictive tool. The computational work for the algorithm is
another non-tangible part. When we drive a car, we can tell how much work
the car has done easily. The works of CPU and Memory on the motherboard
are not visible most of time. However, we need to understand that there are
heavy algorithm and light algorithm. Sometimes, it is inevitable to avoid
heavy algorithm unfortunately. Most of common technical indicators are
probably not the case. However, more and more serious mathematics are
employed to build unique and powerful technical indicator, analysis tools,
and predictive models. For example, artificial intelligence or advanced
pattern scanner often requires notably heavy computation.
As a trader, you probably do not require to learn the programming language.
However, having some knowledge on how algorithm works is definitely
beneficial for your trading. Therefore, in this article, we try to provide you
some practical knowledge and practical tutorial. We hope this article is
helpful for you to understand the algorithm working behind your trading
strategy. We will explain this by comparing three different industrial
applications including Artificial Intelligence, Time series Forecasting and
Technical Analysis.
The common goal of Artificial Intelligence, Time series forecasting and
Technical Analysis is to predict something. However, in spite of the common
goal, you will be surprised how the different industry handles the algorithm
in different ways. In fact, they are different dramatically. To explain this, we
will be looking at three areas including data, prediction output, and
requirement for optimization.
Firstly, they expect different amount of data. Typically, Artificial intelligence
like Neural Networks and Deep Machine Learning require the larger data set
comparing to the other two. Often, using small data set less than 100 data
points in Neutral Networks and Deep Machine Learning might not provide
any valid predictive model. In contrast to this, Time series forecasting and
Technical analysis can handle less than 100 data points typically. However,
there are cases, few hundreds data points are not enough for time series
forecasting and technical analysis too. For example, when there is seasonality
of 24 hours or 48 hours, it is better to have larger data set for time series
forecasting. In case of technical analysis, the pattern detection algorithm
often requires more than just several hundred data points. The implication of
large data set is that they use more memory on your computer. Hence,
processing larger data set could increase the processing time of the predictive
algorithm. Practically, you might find a lot of frustration with some artificial
intelligence models or other heavy algorithm because their computation does
not seem to progress at all on some computers.
Secondly, the different industrial applications have different prediction
output. In Artificial intelligence, binary prediction (i.e. classification) and
clustering are the common output. In time series forecasting, the forecasting
model tries to extrapolate the trend or seasonal patterns outside the data set.
In technical analysis, price level forecasting, overbought, and oversold area
confirmation, and geometric pattern recognition are the common output.
They are geared up to identify buy or sell timing for our trading. Although
these are the general view, there are some different cases. For example, in
Neural Networks and Deep Machine Learning, it is possible to extrapolate
the trend and seasonal patterns as in the time series forecasting. This is
considered as the autoregressive network model. However, this extrapolation
ability is the native application to the time series forecasting definitely. For
example, time series forecasting provides the ability to define prediction
interval at each prediction without too much cost. Probably, this is not
impossible in Artificial intelligence too but it is not straight forward as in the
time series forecasting. Another deviated usage example is to use binary
prediction or clustering in technical analysis. Even in the technical analysis,
binary prediction or clustering could be useful. However, many technical
analysis tools are designed to help the trader for the fast reaction to the price
change. This is often done through the visual confirmation in chart. In this
end, the binary prediction or clustering might provide the limited benefits in
our trading. Many artificial intelligence practitioners agree that price
dynamics in the financial market are less optimal for binary prediction (i.e.
classification) due to non-stationary assumption. For example, say that we are
developing Artificial intelligence algorithm to classify a dog in the photo.
The visual properties of a dog do not change over time. We can say that the
visual properties of a dog are stationary. When we train the neural networks
to recognize 1000 different photos with a dog, the trained neural networks
can go online and start to find the photos with a dog automatically. However,
in financial market, the statistical properties of price data are not stationary
most of time. Hence, building good binary prediction machine for financial
market is not an easy task. Another important consideration of the algorithm
in the technical analysis is their ability to calculate the predictive value when
new tick arrives. For example, moving average indicator or relative strength
indicator dynamically update their latest value according to latest tick data.
With the dynamic update, trader can find the cross over between moving
average lines between 12 and 20 periods upon the arrival of the latest tick.
Likewise, with dynamic update, we can find if latest RSI value entered the
overbought area above 70 or it entered the oversold area below 30. Especially
this sort of the intra bar action (i.e. intra-day or intra-hour) is an important
decision making tools for Price Action trader.
Thirdly, the requirement for optimization is another important difference
among the different industrial applications. Optimization is typically used to
find the best parameter sets for the model. In Artificial intelligence, the most
of supervised learning require the optimization to estimate the weights (i.e.
parameters) of the model. In time series forecasting, this is the case too.
Exponential smoothing and ARIMA models require optimization too. In
general, any technical indicator or technical analysis tools do not require
optimization. Requirement for optimization can increase the computation
time for algorithm dramatically. Literarily, optimization involves many
repetitive computations over the same algorithm until the satisfactory
parameters are found. Typically, convex optimization or global optimization
can be used. Convex optimization like conjugate gradient methods is more
popular than global optimization. Genetic algorithm and simulated annealing
are the good examples of global optimization techniques. In Artificial
intelligence, not only the model parameters (i.e. weights) are required to be
optimized, but also the model architecture is required to be optimized too.
For example, you might need to try the model building with different number
of neurons and hidden layers. Sometimes you have to do countless trials to
find one satisfactory model. Hence, the production of good Artificial
intelligence model is a tedious task.
We have covered three important points about the algorithms used in the
different industries. Of course, saying is not enough. Hence, we will provide
you some hands on tutorials. We hope that you will be able to build some
concrete understanding on the algorithm used in the financial market after
this tutorial. For this tutorial, we provide the Market Forecasting Algorithm
built in Excel spreadsheet. Spreadsheet is often considered as the good
educational materials for the algorithm. However, spreadsheet might have
some limitations too. For example, a spreadsheet with VBA could be slower
than applications built in using C++ or C Sharp. For example, if the same
application were created using VBA, C++, and C Sharp, VBA would be the
slowest. In addition, the Excel spreadsheet is distributed for general purpose.
Hence, the graphical user interface within the Excel is not dedicated for the
specific purpose. Since we provide this article for the educational purpose,
we do not mind to use Excel with VBA application. If you want to use this
Market Forecasting Algorithm for your trading, you can still use them for
many different purposes.
To start this tutorial, firstly, download Market Forecasting Algorithm Excel
file from our website. Below is the download link to the zip file.
www.algotrading-
investment.com/FreeStuffs/MarketForecastingAlgorithmRelease.zip
Unzip the Excel file and run the Excel file. In the Market Forecasting
Algorithm, we provide the algorithms for the time series forecasting and the
technical analysis. We do not provide the Artificial intelligence algorithm.
There are some reasons for this. Model building practice for artificial
intelligence is notoriously subjective. As we have mentioned in the third
point, the artificial intelligence model requires the tedious optimization for
both the weights and the architecture. The choice of final model tends to be
highly subjective per user. We have learnt that high subjectivity is bad for our
trading. For the day by day practical trading, its benefit might be limited in
comparing to its downside like complexity and slow computation. If you
really want to educate yourself with artificial intelligence, then we
recommend starting with some free artificial intelligence applications. There
are some free ones on the internet. For example, Weka and TensorFlow are
the free artificial intelligence application.
Now let us start our tutorial with the downloaded Excel file. In your
decompressed folder, run the Market Forecasting Algorithm Excel file.
Figure 14-1: Run the Excel file in the decompressed folder
In the Excel file, you can load the graphical user interface of the time series
forecasting and technical analysis algorithm by clicking the two buttons in
the main worksheet.
Figure 14-2: How to access the time series forecasting and technical analysis
You can also access the algorithm from the Excel Macro directly. This
approach is useful when you want to use the time series forecasting and
technical analysis in the worksheet with no buttons.
Figure 14-3: Access the algorithm without buttons
In the Macro list, choose Lunch_AM1 to use the technical analysis. Choose
Lunch_AM2 to use the time series forecasting.
Figure 14-4: Macro List in Excel file
Before you start any computation with these algorithms, you need to add
Three Add-Ins including Solver, Technical Analysis and Technical Analysis
Add-In in your Add-Ins list. If you do not add them in your Add-Ins list, then
you can not use both time series forecasting and technical analysis. To add
these Add-Ins, go to File >> Options >> Add-Ins in Excel 2013. Later
version of Excel, this configuration might be different. On the bottom of
Add-Ins page, find “Manage: Excel Add-Ins”. Click on “Go” button to see
the Add-Ins list below.
Figure 14-5: Configuration of the three Add-Ins in Excel file
To add TechnicalAnalysis.xll file, click on “Browse” button. Choose
TechnicalAnalysis.xll file. Repeat the same step for TechnicalAnalysisAdd-
In.xll file too. To access the Technical Analysis algorithm, you need to add
both TechnicalAnalysis.xll and TechnicalAnalysisAdd-In.xll. Adding Solver
is only required if you need to use Time Series Forecasting methods. This
situation might change in the future because technical analysis can utilize the
solver in their algorithm. However, at least, this condition stays true for the
version 3.2 of Market Forecasting Algorithm.
Figure 14-6: Include Technical Analysis Add-In
After the Three Add-Ins are included, you are ready to use both time series
forecasting and technical analysis. When you click on the button for the
technical analysis, the graphical user interface for technical analysis will be
loaded. Then you will follow these five steps to compute the technical
indicators for your data.
Step 1: Choose technical indicator from the list
Step 2: Edit indicator settings and click “Add Indicator” button
Step 3: Choose data range in your worksheet
Step 4: Check your data column arrangement in your data
Step 5: Finally, click on “Calculate” button
Figure 14-7: Graphical user interface for the technical analysis
Let us say that you want to apply Bollinger Bands with 50 period and RSI
indicator with 20 period in your chart. The indicator setup will look like
below.
Figure 14-8: Steps to add technical indicators
Then click the range button to select the data range in your worksheet.
Figure 14-9: Select data range in the worksheet
In this example, we will use Microsoft stock data. Start the first cell in the top
left corner in your data and then drag your mouse until you include the last
cell in the bottom right corner.
Figure 14-10: Drag your mouse from top left to bottom right of your data
After the data is selected, tick on the box “Heading included in the range”.
Then check if you have chosen the right data format. For example, choose
“DOHLCV” if your data is arranged in the order of Date, Open, High, Low,
Close, and Volume. Finally, click on “Calculate” button. Now everything is
done.
Figure 14-11: Click Calculate button
Now you will see the Bollinger Bands and RSI computed for Microsoft stock
data. Now you might ask the question what happens if the data format is
wrong. If you feed the data with wrong format, then the calculated value
could be wrong too. Sometimes, it can throw error. In any case, we
recommend keeping the data with the following order of Date, Open, High,
Low, Close, and Volume (i.e. DOHLCV format). When volume is not
available, you might just use Date, Open, High, Low, and Close (i.e. DOHLC
format). However, some technical indicators can throw some errors if they
require volume data in their calculation.
Figure 14-12: Chart with Bollinger Bands and Relative Strength Index
Market Forecasting Algorithm also provides the ZigZag algorithm in two
different indicators. Firstly, you can use ZigZag indicator for the ZigZag line
chart. Secondly, you can use the Peak Trough indicator for the peak trough
detection. Both are based on the ZigZag algorithm. However, ZigZag
indicator outputs the indicator values in one single column and peak trough
indicator outputs the indicator values in two different columns, respectively
for peaks and troughs. You can choose any of these two according to your
needs.
Figure 14-13: ZigZag indicator and Peak Trough Indicator in the indicator
List
As we have emphasized in many chapters of this book, Peak Trough analysis
is the important gateway through many advanced techniques like Fibonacci
Price Pattern, Elliott Wave Pattern, Harmonic Pattern, X3 Price Pattern,
Support and Resistance. Without the Peak Trough Analysis, you are not able
to start with these techniques, as the pattern detection process gets too
complicated. Hence, you can use the Market Forecasting Algorithm to train
yourself with these advanced techniques if you trade in either Forex or Stock
market.
Figure 14-14: Peak Trough Indicator applied to S&P 500 index
As soon as you realized that market repeats themselves, you would appreciate
the concept of Fractal Pattern and Fractal Wave for your trading. At that
stage, you will notice that all the advanced trading techniques are merely
derived from the concept of Fractal Pattern and Fractal Wave. Unfortunately,
there is no shortcut to profitable trading. Practice and knowledge are the only
viable option. Hence, we provide you the tools.
Figure 14-15: ZigZag Indicator applied to Microsoft Cooperation chart
Now, we covered the basics on how to use the Market Forecasting
Algorithm. Here is four tasks you should perform to complete this tutorial.
For each task, measure the time taken to complete the computation with
stopwatch. Compare the computation time for these four tasks.
Task 1: Calculate Bollinger Bands with 200 data sets.
Task 2: Calculate Bollinger Bands with 800 data sets.
Task 3: Calculate Bollinger Banks, RSI, and CCI with 200 data set.
Task 4: Calculate Bollinger Banks, RSI, and CCI with 800 data set.
The Market Forecasting Algorithm Excel file provides more than 20 technical
indicators. We added the 20 most popular technical indicators including
Moving Average, Relative Strength Index, Commodity Channel Index,
ZigZag indicator and so on. The training for these technical indicators is
widely available on the internet. Hence, we will not cover how to use them in
this article. For this tutorial, we also provide the data for Standard & Poor
500 index and EURUSD. You can always use some free data source like
Yahoo Finance or Google Finance to get price data. If you want to perform
your own analysis, then copy and paste those data in the order of Date, Open,
High, Low, Close, and Volume. Make sure that heading row is placed on the
top. Latest data should be placed on the bottom.
Next, we will move on to how to use the algorithm for the time series
forecasting. The graphical user interface for the time series forecasting looks
like below the screenshot. We provide the specific forecasting method called
Exponential-smoothing methods. Exponential smoothing methods are the
main workhorse in the forecasting industry. In the forecasting industry as in
the demand forecasting and business forecasting, exponential smoothing is
popular tools like the Moving average indicator and Relative strength index
in the technical analysis. In addition, ARIMA (Autoregressive Integrated
Moving Average) and GARCH (Generalized Autoregressive Conditional
Heteroscedasticity) models are other popular tools widely used in practice.
However, their theory tends to be more complex than the exponential
smoothing methods. Neural Networks are often considered as the alternative
forecasting method against these common forecasting methods.
Figure 14-16: Graphical user interface for time series forecasting
In the model selection stage, you can choose nine different exponential
smoothing forecasting models.
Model 1: No Trend, No Seasonality
Model 2: Additive Trend, No Seasonality
Model 3: Damped Additive Trend, No Seasonality
Model 4: No Trend, Additive Seasonality
Model 5: Additive Trend, Additive Seasonality
Model 6: Damped Additive Trend, Additive Seasonality
Model 7: No Trend, Multiplicative Seasonality
Model 8: Additive Trend, Multiplicative Seasonality
Model 9: Damped Additive Trend, Multiplicative Seasonality
The price patterns of these nine forecasting models are shown in Figure 14-
17. Probably the price pattern table will provide you better understanding on
these models. However, both price pattern table and the nine forecasting
model names fit together logically.
Figure 14-17: The original Gardner’s table to visualize the characteristics of
different time series data (Gardner, 1987, p175)
Let us try to make forecasting for EURUSD close data. We will be using
Damped Additive Model with no seasonality. The steps for time series
forecasting is like below:
Step 1: choose forecasting model
Step 2: Select Data to forecast
Step 3: Finally, click on “Calculate” button
Figure 14-18: Choose right forecasting model for your data
After you have clicked on Data Range button, you need to select your data.
Only include one colum since forecasting algorithm only requires one time
series data. Never include more than one column. It will throw error. In fact,
you can choose to forecast any data as long as they are time series data,
recorded in the fixed time interval. With time series forecasting, you can even
forecast Open price or Volume or Relative Strength Indicator, and so on if
you wish. In this tutorial, we have chosen to forecase the Close price of
EURUSD for simplicity.
Figure 14-19: Select one column to forecast
Then tick on the box “Heading included in the range” because we included
heading row. When you do not include heading row, then untick on the box
“Heading included in the range”. If you do it the other way around, then it
will throw error. Finally, click the “Calculate” button.
Figure 14-20: Click on Calculate button
If you have done everything correctly, then you will get the chart with
forecasting with prediction interval. Please note that sometimes, you might
have to change maximum and minimum scales of the price axis manually to
fit the lines in the chart.
Figure 14-21: Forecasting with Damped Additive Trend Exponential
smoothing model
In the next example, we will try to forecast the airline passenger data. Airline
passenger data is the textbook example with seasonality and trend. Here is the
screenshot for your information.
Figure 14-22: Steps to forecast with airline passenger data
If you have done everything correctly, then you will have a forecasting chart
like this. This forecasting chart shows how the airline passenger data will
look like in next 10 month. As you see, the forecasting model adapted the
seasonal patterns in the data.
Figure 14-23: Forecasting with damped additive trend additive seasonal
exponential smoothing model
Here are some tasks you should perform to complete this tutorial. Of course,
measure the time taken to complete the computation for each task. For your
information, Task 6 and 7 can take some time to complete the computation.
Do not disturb the running macro until they are completed.
Task 5: Forecast EURUSD close data with 200 data sets using damped Trend
model.
Task 6: Forecast EURUSD close data with 800 data sets using damped Trend
model.
Task 7: Forecast EURUSD close data with 800 data sets using damped Trend
model + Box-Cox transformation.
Compare the computation time for all seven tasks. You can answer the
following questions. Question 5 may be skipped if you prefer.
Question 1: Which task provides the slowest computation time?
Question 2: Which task provides the fastest computation time?
Question 3: Why Task 4 is much faster than Task 6?
Question 4: Why do you think Task 6 and Task 7 have marginally different
computation time?
Question 5: How slow or fast Artificial intelligence model, for example Deep
Machine Learning, could be in comparison to Task 7 when the same amounts
of data set are used?
One thing you should notice in this tutorial is that the algorithm for time
series forecasting uses optimization. This is why it takes longer to complete
the task. Solver Add-In does the optimization to estimate parameters of
forecasting model. In the forecasting algorithm, we use the nonlinear GRG
method, which is known for the “Generalized Reduced Gradient”. This is one
of the convex optimizations, we have discussed. It is also possible to use
genetic algorithm or simulated annealing instead of the nonlinear GRG
method. However, the efficiency of optimization could be different
marginally per each optimization method and per each mathematical model.
Hence, you have to choose the right method if you want to save the
computation time. Comparing to artificial intelligence model, the time series
forecasting is light and fast. Hence, if you are going to use time series
forecasting for financial market, the recommended practice is to make new
forecasting model whenever new data is included. In artificial intelligence,
they often retain the same model for reuse for some period. In time series
forecasting, never retain old forecasting model for reuse. We will keep
creating the latest forecasting with latest data available. This is the one of the
benefit of time series forecasting methods due to its light and fast algorithm.
In fact, time series forecasting is a comprehensive topic in the Applied
Statistics. There are many practitioners of the time series forecasting across
many different industries. For the choice of forecasting models, you might
have to use some other forecasting textbook to cover the basics.
15. References
Carney, S.M. (1998) Harmonic Trading. Profiting from the Natural Order of
the Financial Markets (Vol. 1). Pearson Education, Inc.
Elliott, R. N., Douglas, D. C., Sherwood, M. W., Laidlaw, D. & Sweet, P.
(1948) The wave principle (Note that first formal publication date of The
Wave Principle was August 31 1938).
Elliott, R. N. (1982) Nature's Law: The Secret of the Universe, Institute for
Economic & Financial Research.
Frost, A. J. & Prechter, R. R. (2005) Elliott wave principle: key to market
behavior, Elliott Wave International.
Gann, W. D. (1996) Truth of the stock tape and Wall Street stock selector,
Health Research Books.
Gartley, H. M. (1935) Profits in the stock market, Health Research Books.
Pesavento, L. & Shapiro, S. (1997) Fibonacci Ratios with Pattern
Recognition.
Pesavento, L. & Jouflas, L. (2010) Trade what you see: how to profit from
pattern recognition, John Wiley & Sons.
Schabacker, R. (1932) Technical Analysis and Stock Market Profits,
Harriman House Limited.
DeMiguel, V., Garlappi, L. & Uppal, R. (2009) Optimal Versus Naive
Diversification: How Inefficient is the 1/N Portfolio Strategy?, Review of
Financial Studies, 22(5), 1915-1953.
Diebold, F., Rudebusch, G. & Sichel, D. (1993) Business Cycles, Indicators,
and Forecasting, null.
Elton, E. J. & Gruber, M. J. (1997) Modern portfolio theory, 1950 to date,
Journal of Banking & Finance, 21(11–12), 1743-1759.
Fabozzi, F. J. & Francis, J. C. (1979) Mutual Fund Systematic Risk for Bull
and Bear Markets: An Empirical Examination, The Journal of Finance, 34(5),
1243-1250.
Frost, A. J. & Prechter, R. R. (2005) Elliott wave principle: key to market
behavior, Elliott Wave International.
Gordon, S. & St-Amour, P. (1999) “A Preference Regime Model of Bull and
Bear Markets,” null.
Hendershott, T., Jones, C. M. & Menkveld, A. J. (2011) Does Algorithmic
Trading Improve Liquidity?, The Journal of Finance, 66(1), 1-33.
Levich, R. M. & Thomas Iii, L. R. (1993) The significance of technical
trading-rule profits in the foreign exchange market: a bootstrap approach,
Journal of International Money and Finance, 12(5), 451-474.
Maheu, J. M. & McCurdy, T. H. (2000) Identifying Bull and Bear Markets in
Stock Returns, Journal of Business & Economic Statistics, 18(1), 100-112.
Mao, J. C. T. (1970) ESSENTIALS OF PORTFOLIO DIVERSIFICATION
STRATEGY, The Journal of Finance, 25(5), 1109-1121.
Neely, C. J. & Weller, P. A. (2003) Intraday technical trading in the foreign
exchange market, Journal of International Money and Finance, 22(2), 223-
237.
Olszweski, F. & Zhou, G. (2013) Strategy diversification: Combining
momentum and carry strategies within a foreign exchange portfolio, J Deriv
Hedge Funds, 19(4), 311-320.
Talebi, H., Hoang, W. & Gavrilova, M. L. (2014) Multi-scale Foreign
Exchange Rates Ensemble for Classification of Trends in Forex Market,
Procedia Computer Science, 29(0), 2065-2075.
Taylor, M. P. & Allen, H. (1992) The use of technical analysis in the foreign
exchange market, Journal of International Money and Finance, 11(3), 304-
314.