Financial investors and traders have always attempted to forecast the movement of stock markets. Financial trading itself is embedded in a complex structure not only involving the dynamics of price formation but also the market microstructure itself. Market information, news and external factors affect the investors' trading decisions concerning buying and selling. Usually, the price pattern is hard to recognise, notice or categorise, regardless of the type of the actual financial market studied (Murphy, 1986). This paper presents a model that tries to prove that artificial intelligence and soft computing such as the Adaptive Neuro-Fuzzy Inference System (ANFIS) can provide a major solution in such tasks. The fuzzy logic approach, inspired by a model of human reasoning in which linguistic terms are used and fuzzy (as opposed to crisp) quantities are manipulated, is combined in neuro-fuzzy systems with the pattern recognition ability of neural networks (Konstantaras, Varley, Vallianatos, Collins, and Holifield, 2006).
The recent escalation in computing power has led to a vast increase in the availability of data and information. Computers, sensors and information channels are developing faster, and data is easier to collect than ever before. Due to the availability of real-time order book information nowadays, the difference in decision making and risk taking among various traders represents a complicated process that affects market conditions. High-frequency trading is a new discipline in financial trading where trends are analysed in tick-by-tick fashion and buy and sell decisions are consequently taken. Therefore, implementing a system that would provide a means of capturing and forecasting the market movements on the real-time level would help to improve an investor's financial trading record (Dacarogna et al., 2001). This paper proposes a new computational processing and filtration technique that has not yet been fully discussed or implemented in the existing literature (for a recent survey on algorithmic trading strategies and trading systems, see Aldridge (2009)).
Traditionally, most prediction algorithms presented in literature focus on data mining which is the integration of statistics, machine-learning paradigms, and the analysis of dynamical systems (Hellstrom and Holmström, 1998). Furthermore, given that financial time series are often very noisy, a filtering process should follow to remove such noise from the signal (Sheen, 2005). An ANFIS architecture was chosen for this automated trading system as it shows very high performance in modelling nonlinear functions and in identifying nonlinear components (Denai, Palis, and Zeghbib, 2007). The proposed financial ANFIS uses a hybrid learning algorithm and is able to construct a unique input-output mapping based on both human knowledge (fuzzy rules) and stipulation input-output data pairs (Castillo, Fontenla-Romero and Alonso-Betanzos, 2006). It also has shown excellent results in predicting chaotic time series (Jang, 1993). In addition, since the trading system deals with intraday data, the data input to the system must be deseasonalised in a specific manner in order to separate the deterministic component in the times series as it otherwise would introduce spurious autocorrelation. The deseasonalisation is performed using a new event-based measure of volatility.
The reminder of the paper is organised as follows. Section 2 introduces the methodology. Section 3 presents the empirical data and the results. Section 4 concludes.
2. Methodology
In the following, Section 2.1 first describes the design and architecture of Adaptive Neuro-Fuzzy Inference System (ANFIS) originally introduced by Jang (1993). Section 2.2 then expands on the use of ANFIS for financial trading. Section 2.3 introduces an event-based measure of volatility to be fed into the ANFIS to capture the intraday seasonality and to optimise the trading schedule.
2.1 The ANFIS Framework
The ANFIS is an adaptive network of nodes and directional links with associated learning rules. The approach learns the rules and membership functions from the data (Takagi and Sugeno, 1985). It is called adaptive because some or all of the nodes have parameters that affect the output of the node. These networks identify and learn relationships between inputs and outputs, and have high learning capability and membership function definition properties. Although adaptive networks cover a number of different approaches, for our purposes, we will conduct a detailed investigation of the method proposed by Jang, Sun, and Mizutani (1997) with the architecture shown in Figure 1.
The circular nodes have a fixed input-output relation, whereas the square nodes have parameters to be learnt. Typical fuzzy rules are defined as a conditional statement in the form:
Figure 1: ANFIS architecture for a two rule Sugeno system
(1)
(2)
X and Y are linguistic variables; Ai and Bi are linguistic values determined by fuzzy sets on the particular universes of discourse X and Y respectively. However, in ANFIS we use the 1st order Takagi-Sugeno system (Takagi and Sugeno, 1985), which is
(3)
(4)
X and Y represent the universes of discourse; Ai and Bi are linguistic terms defined by their membership functions, and pi, qi and ri are the consequent parameters that are updated in the forward pass in the learning algorithm. The forward pass propagates the input vector through the network layer by layer. In the backward pass, the error is returned through the network in a similar manner to back-propagation. We briefly discuss the 5 layers in the following:
The output of each node in Layer 1 is:
(5)
Hence, is essentially the membership grade for x and y. Although the membership functions could be very flexible, experimental results lead to the conclusion that for the task of financial data training, the bell-shaped membership function is most appropriate (see also Abonyi, Babuska and Szeifert (2001)). We calculate
(6)
where are parameters to be learnt. These are the premise parameters.
In Layer 2, every node is fixed. This is where the t-norm is used to 'AND' the membership grades, for example, the product:
(7)
Layer 3 contains fixed nodes that calculate the ratio of the firing strengths of the rules:
(8)
The nodes in Layer 4 are adaptive and perform the consequent of the rules:
(9)
The parameters () in this layer are to be determined and are referred to as the consequent parameters.
In Layer 5, a single node computes the overall output:
(10)
This is how the input vector is typically fed through the network layer by layer. We then consider how the ANFIS learns the premise and consequent parameters for the membership functions and the rules. We apply the hybrid learning algorithm proposed by Jang, Sun, and Mizutani (1997) which uses a combination of steepest descent and least-squares estimation to calibrate the parameters in the adaptive network (see also Fontenla-Romeroll (2003)). We split the total parameter set S into two further sets , the set of premise (nonlinear) parameters, and , the set of consequent (linear) parameters. In this study, ANFIS uses a two-pass learning algorithm. In the forward pass, is unmodified and is computed using a LSE algorithm, whereas in the backward pass, is unmodified and is updated using a gradient descent algorithm such as back-propagation (see also illustration in Figure 2).
The task of the ANFIS learning algorithm for this architecture is to tune all of the modifiable parameters, namely and to make the ANFIS output match the training data. When the premise parameters and of the membership function are fixed, the output of the ANFIS model can be written as
(11)
In particular, the learning process consists of a forward pass and back-propagation, where in the forward pass, functional signals go forward until layer 4, and the consequent parameters are identified by the least-square estimate. In the backward pass, the error rates propagate backwards and the premise parameters are updated by the gradient descent.
For given fixed values of , the parameters in found by this approach are guaranteed to be the global optimum. Table 1 provides a summary of the learning methods. The output error is used to adapt the premise parameters by means of a standard back-propagation algorithm.
Table 1: Learning methods summary
Forward Pass
Backward Pass
Premise Parameters
Fixed
Gradient Descent
Consequent Parameters
LSE
Fixed
Signals
Node o/p
Error rates
Figure 2: Learning algorithm forward and backward passes
There are four methods used to update the parameters, these are:
Gradient Descent (GD) only: all parameters are updated by gradient descent.
GD & one pass of LSE: LSE is applied only once at the start so as to obtain the initial values of the consequent parameters. GD then updates.
GD & LSE: The proposed hybrid rule.
Sequential LSE only: Uses a Kalman filter to update the parameters.
As in used in Jang (1993), in this chapter, for the purpose of using ANFIS for financial predictions, we use the third entry from the above list. This is because the choice of method usually represents a compromise between computational complexity and resulting performance (see also Mitra et al. (2008)).
2.2 ANFIS for Financial Predictions and Trading
The proposed system as described above now takes the price series as input; it first takes a certain amount of m data points for training and generating the initial fuzzy inference system from the data values, and then takes the next m data points for validation. This will generate an ANFIS that has modified its parameters and membership functions and is ready to produce a prediction for the next data points, given the pattern that it has recognised. The success rate of such a system would be determined by its level of accuracy in predicting the movement of the next trading periods in seconds, minutes, hours, days, weeks or months, depending on the trading frequency. Taking the correct decisions after processing all of the inputs from other blocks is also essential to a successful system (Sheen, 2005).
In particular, the system considers the past three price observations in the market x(t-3), x(t-2), x(t-1) and the current observation x(t) in order to predict the next price observation x(t+1) using ANFIS. This is then used as a movement indicator (either up or down). In other words, to make a prediction for t+1, the system will be fed the current price at time t plus the previous three price observations t-1, t-2 and t-3, respectively. Now that a system to "predict" the movement of the market has been implemented, a suitable position can be opened according to the indicator of this prediction. The pseudo-code is shown in Listing 1.
BEGIN
train the system using the last 500 points;
check the systems accuracy using the last 500 points;
REPEAT
from now till the next 100 points;
generate prediction;
if prediction is up - then buy
if nextprediction is up - then hold
else if prediction is down - then sell
if nextprediction is down - then hold
END
retrain;
Listing 1: Introducing the hold position when prediction does not change direction
Figure 3: Positions being placed according to the prediction of the movement
Figure 3 illustrates the above described strategy, where hold positions are introduced and the buy sell frequency is reduced. When the red line goes down (dummy value = 0), the system is in sell mode, remaining unchanged means that it is in hold mode, and moving back up (dummy value = 1) means that it went to buy mode. Additionally, in order to increase the return of the trading investment, a final prediction and trading strategy was introduced where a "trigger pointer" value is used. Therefore, for a sequence of buy and hold positions, if the prediction of the next time sample falls below the set trigger, the position is closed; hence, a sell position is opened. The trigger pointer value is updated after each iteration, as illustrated in the pseudo code in Listing 2. Initially this trigger is set to the first value in the dataset.
trigger = price (1)
if prediction is up and prediction >trigger
then trigger = prediction(now-1)
position = buy;
else if prediction is down and prediction<trigger
then trigger = prediction(now-1)
position = sell;
Listing 2: Introducing the trigger to track the prediction and detect directional changes to adjust position
After the implementation of the above ANFIS system, further experiments had to be performed in order to optimise the results obtained from the above system. One important test that has been conducted involved varying the number of epochs and step sizes in each run on the system. In adaptive networks theory, an epoch is defined as a single pass through the entire dataset (each set of data is evaluated once). This means that the more epochs we have, the more evaluations we get. However, this also takes longer.
One epoch is one sweep through all of the records in the dataset. This does not mean that the more epochs we have, the better will be the results. Our experiments have proven that a threshold exists at which point a system will reach saturation, and no matter how many epochs are used, the performance will not improve. In fact, a too large number of epochs would result in overtraining for the system, causing a decrease in performance (see Figure 4.1). The initial setup included an 80-epoch system that took 18.4 seconds to execute during each run. Experiments for various numbers of epochs have been used, which in turn have caused a change in the learning rate that can be analysed in the panels in Figure 4.
Figure 4.1: 180 epochs:
Figure 4.2: 100 epochs:
Figure 4.3: 50 epochs:
Figure 4.4: 10 epochs:
Figure 4: Error curves and step size update for various epochs
The step size is considered as a variable that is corrected after every fourth epoch, counting from the epoch in which the previous correction has been done. It is realised on the basis of the following rules:
If the error undergoes four consecutive reductions, then increase the step size by 10%.
If the error successively goes through a combination of increases and decreases, then decrease the step size by 10%.
Finally another variable is allocated to store the last change, which stores the index of the epoch in which the variable step size has been previously changed.
In general, there is no conclusive theory to decide the number of epochs in neural networks literature. However, it is a general rule to avoid the problem of overfitting when increasing the number of epochs. Practically it is observed that the higher the number of training epochs the better is the classification performance but this worsens the ability of the generalisation by the network hence the ability to correctly predict the future processing data not seen before. This is confirmed by the results in Table 2 in the empirical section below, hence we choose 80 as an optimal epoch size (for a brief discussion on the choice of epoch numbers, see also Yezioroa et al. (2008) and Chelani and Hasan (2001)).
2.3 Intraday Seasonality
As trading activities are observed in real-time, common approaches to measure volatility such as the standard deviation can not be applied due to the inhomogeneous data structure of the time series. Therefore, an Intraday Seasonality Observation Model (ISOM) as an event-base concept to measure market activity will be used in this study as a proxy for volatility as it can map the times of day with their respective volatility; this is viewed from an event-based perspective, where each "directional change" with a specific threshold is an event. The aim is to use the ISOM to filter and clean this data by pointing out periods of the day when the volatility has exceeded a certain range (number of events). The idea here is to take the number of observations per intraday sampling interval in order to produce a model that would estimate the number of average observations that occur for the targeted time of day window (see also Bauwens et al. (2005)).
In financial trading, directional-change (dc) events are understood as price movements, where a total-price move between two extreme price levels, expressed as a relative price jump of threshold size dx(%), can be decomposed into a price reversion (i.e. the directional-change itself) and an overshoot sections (Glattfelder et al., 2009). The ISOM for a particular time of day t at a particular threshold dx is equal to the total number of directional change events that occurred at that time window tbin in the entire dataset:
(19)
where n is the total number of days in the data set, and N(dc) is the number of directional changes (events). In its simple definition, the ISOM is a model that takes into consideration a certain threshold dx(%) and will observe the timings where the directional changes dc occur. It would iteratively and consecutively parse through the entire dataset of prices and save the observations into their respective time bins. This would ultimately give a horizon of seasonalities, pointing out the exact times of day when these observations were made. This indicates the times of day when the volatility was high or low. The idea is that the data will be viewed from a scaling law perspective of directional changes (events), where each up/down percentage change within a pre-specified threshold is observed, the time stamps and relative price are marked, and all data is iteratively stored in bins of time value, which will then be analysed further.
For illustration purpose, when applied with a 0.05% change for 30 minutes windows for the FX pair EUR/USD observed from 04/04/2006 to 04/04/2008, the ISOM resulted in the seasonality pattern shown in Figure 5. The plot reveals that most of the directional change events occur between 12:00 and 14:00 GMT. This confirms the fact that these are the times when the announcements are made and the market's reaction to these announcements takes place. It is also the time when the US markets open; hence, the volatility of the markets increases. Other times of high volatility occur between 7:00 and 8:00 GMT, which is usually the time before the European markets open.
The ISOM shows that when considering observations every 30 minutes, the period with the highest volatility is between 12:30 and 13:00 GMT, which is again the time when all of the announcements that were made at 12:00 have been absorbed by the markets and the traders have started to act on them. The period of highest trading activity occurs between 12:00 and 16:00 GMT, i.e. the times that include the announcements, the opening of the US markets until the close of the European markets. The above results have confirmed real-life events that are known to increase markets volatility. They can also help the trader or the system to ignore the periods that experience a low number of events.
Figure 5: Intraday seasonality observation model for a threshold of dx=0.5% price move observed every 30 minutes for the FX pair EUR/USD from 04/04/2006 to 04/04/2008
It must be noted that the ISOM can be applied to any threshold and any time frequency (daily, half daily, quarter daily, five minutes, etc.). We have taken a threshold of dx=0.5% for the scope of this illustration; the concept can be applied freely to any threshold or time frequency.
The next step is now to use ISOM to filter and clean this data by pointing out periods of the day when the volatility has exceeded a certain range (number of events). The ISOM model has been redesigned to cater to 5-minute data instead of hourly or 30-minute data, as previously shown. We now have bins of 5-minute data, and we will capture the directional changes as they occur within these bins, where the counter of events will increase according to the number of events and the number of times that the threshold has been exceeded. In this study, ANFIS was fed data from the times of day when the number of observations exceeded 10 events. After being trained on data with higher volatility (stress training), ANFIS will perform prediction of a set of checking data. The pseudo-code is shown in Listing 3.
Function Collect-ISOM-Times
BEGIN
for i = 2 to end(in-sample-data)
calculate the percentage directional changes
dc(i) = (price(i) - price(i-1) * 100)/ price(i-1)
if abs(dc(i))>0.05%
save time bin observation(T)
count number of observations for respective time bin(Tcount)
Observations_Per_Day = Tcount/length(in-sample-data)
if Observations_Per_Day >5
Valid_ISOM_Time_Bin = T
end if
end if
end for
END
Function Use-ISOM-for-Training-ANFIS
BEGIN
for k = 1 to end(out-of-sample data)
if time = Valid_ISOM_Time_Bin
train ANFIS
perform predictions
else
proceed to next time bin
end if
end for
END
Listing 3: Optimising ANFIS with ISOM
3. Empirical Data and Results
The Foreign Exchange (FX) market is a 24-hour market where there is high liquidity and volatility with three major centres in different parts of the world: New York, London and Tokyo. It is highest in volatility during the early morning New York time because both banks in London and New York are open and simultaneously trading. Stylised facts such as gain/loss asymmetry and heavy tails are observed in FX return distributions (Bauwens et al., 2005). Commercial banks, corporate, funding and retail institutions from around the globe participate in FX trading. The price at the FX market is formed by buying and selling currencies to institutions, traders, exporters, importers, portfolio managers and tourists. Nowadays, orders are electronically matched via automated brokerage terminals. Yoon, Guimareas and Swales (1994) state that approximately 85% of all FX trading occurs between market makers. This creates an opportunity for speculation. However, speculation in the FX market is a zero-sum game, meaning that cumulative profits may equal cumulative losses. Throughout this chapter, the input to the system has been high-frequency FX data sampled from 04/04/2006 to 04/04/2008. The system has been tested on five foreign exchange rates, which are: EUR/USD, AUD/USD, GBP/USD, USD/CHF, and USD/JPY. Figure 6 shows the different time series that has been used in this study.
Figure 6: Time series of all five FX currency pairs observed from 04/04/2006 to 04/04/2008, normalised to 1USD
This original dataset of five-minute price data is split into (non-overlapping) sub-data sets comprising m=500 data points, for each of the FX rates. A too small m (say 100 points) might not be enough to build momentum and achieve a desired number of observations (events) as the threshold might not be exceeded. Similarly, a larger number might include more observations that we desire for one run of the system which would cause overtraining and overfitting. As all high-frequency FX rates have a different amount of data points, m was chosen such that the all series have reasonably comparable sub-data sets.
For each FX rates series, the first 500 "in-sample" data points in each subset are used for system training. The subsequent 500 data points are considered as "out-of-sample" and used for validating the system's performance and updating the network structure using the output error. The 500 data points that were used for validation at one simulation can be reused for retraining the system in the next simulation, thus creating a rolling window mechanism for training and validating the system, making use of all the available data.
In order to evaluate the performance of the proposed model, we will compare the ANFIS with the standard buy and hold strategy, using the Sharpe ratio and the Sortino ratio for assessment. The Sharpe ratio is used to the measure risk-adjusted return of an investment asset or a portfolio, which can tell investors how well the return of an asset compensates investors for the risk taken. In other words, the Sharpe ration can tell investors whether the returns of an asset or a portfolio come from a smart trading strategy or excess risk. The Sharpe ratio is defined as
where Rp denotes the expected return, Rf the risk-free interest rate and σp the portfolio volatility. The Sharpe ratio measures the risk premium per each unit of total risk in an investment asset or a portfolio. Investors often pick investments with high Sharpe ratios because the higher the Sharpe ratio, the better its risk-adjusted performance has been. Similarly, the Sortino ratio is defined as
where σneg denotes the standard deviation of only negative asset returns. The main difference between the Sharpe ratio and the Sortino ratio is that the Sortino ratio only penalizes the downside volatility, while the Sharpe ratio penalizes both upside and downside volatility. Thus, the Sortino ratio measures the risk premium per each unit of downside risk in an investment asset or a portfolio.
When training the ANFIS, it has been noticed after running initial experiments that the larger the number of epochs, the more stable the system will be because of damping oscillation (see Figure 4). Furthermore, the larger the size of the step, the faster the errors will decrease, although there will be more oscillations.
When designing a system that will trade in high frequency, a major category that has to be satisfied along with high performance and optimum results is high speed or run-time and execution. As it can be seen from the above table and plots, a low number of epochs results in a system that is extremely fast, whereas the speed decreases as the number of epochs increase. On the other hand, a low number of epochs produces very poor results compared to a higher number of epochs, which produces a system with very high performance rates. However, it was also observed from the experiments that as the number of epochs increases, there may be a stage where the performance does not increase as much as required, whereas the time of execution increases drastically. Hence, it is a matter of compromise between speed and performance. This issue can be resolved by choosing a system with 80 epochs, where it has been found to produce the highest performance for the smallest amount of time after conducting extensive experiments (see Table 2). Furthermore, since the system trades on five-minute intervals, a time of 25.15 seconds cannot be considered a long execution time, given the complexity of the ANFIS design.
Table 2: Out-of-sample evaluation of the ANFIS system using various numbers of epochs
Num. of Epochs
CPU Time (secs)
Winning Rate
Profit Factor
Return of Invest-ment
Sharpe Ratio
Sortino Ratio
10
3.72
0.40
1.9
0.07
0.13
0.12
50
12.53
0.55
2.1
0.15
0.14
0.19
80
25.15
0.65
2.3
0.27
0.19
0.20
100
28.31
0.65
2.3
0.27
0.19
0.21
180
50.27
0.64
2.4
0.26
0.18
0.20
Having determined the number of epochs to be considered, ANFIS was fed data from the times of day when the number of observations exceeded 10 events. After being trained on data with higher volatility (stress training), ANFIS will perform prediction of a set of checking data. As said, the results of the ANFIS performance will be compared to a traditional buy and hold strategy as the benchmark model. Table 3 reports the overall average performance of the system compared to a traditional buy and hold strategy. Positive Sharpe and Sortino ratios show that the system has not taken high risk for the amount of return gained.
 
Winning Rate
Profit Factor
Return of Investment
Sharpe Ratio
Sortino
Ratio
EUR-USD
Buy and Hold
0.42
1.1
0.09
-0.07
-0.05
Intraday ANFIS
0.71
2.7
0.33
0.22
0.20
AUD-USD
Buy and Hold
0.51
0.9
0.11
0.03
0.01
Intraday ANFIS
0.56
1.4
0.17
0.01
-0.01
GBP-USD
Buy and Hold
0.51
1.3
0.11
0.04
0.05
Intraday ANFIS
0.50
0.9
0.07
-0.08
-0.09
UDS-CHF
Buy and Hold
0.43
0.8
0.07
-0.02
-0.04
Intraday ANFIS
0.65
1.2
0.19
0.11
0.07
USD-JPY
Buy and Hold
0.29
0.4
0.01
-0.14
-0.17
Intraday ANFIS
0.52
1.8
0.12
0.03
-0.01
Table 3: Comparison of the average performance measures in the out-of-sample for both the ANFIS and the buy-and-hold trading strategy
The winning rate describes the number of winning trades against the overall number of trades. The above shows that on average, the ANFIS system outperforms the standard buy and hold strategy in the overall number of wins. The profit factor mainly describes the historic profitability of a series of trades on an investment. The break-even of the profit factor is 1 meaning an investment that generates trades with a 50% chance of the gross sum of winning trades and a 50% chance of the gross sum of losing trades. Normally, investors pick investments with the profit factor higher than one. The above shows that the ANFIS system has a profit factor higher than 1 in most cases. The return of investment (ROI) is used to evaluate the efficiency of an investment or compare returns on investments. That is, ROI is the ratio of profit gained or lost on an investment in relation to the amount of cost invested. Table 3 reveals that ANFIS has obtained higher ROI than the traditional buy and hold strategy. Finally, the Sharpe Ratio and Sortino Ratio, which measure the investment per unit of risk, also indicate a better performance of the ANFIS model, but less consistent as compared to the other benchmark values.
4. Conclusions
The distinctive area of soft computing and artificial intelligence was addressed in this project by revisiting and improving the performance of the adaptive neuro-fuzzy inference system (ANFIS) by manipulating the number of epochs and the learning rate. It was concluded that a certain number of optimal epochs should not be exceeded, since this would not drastically improve the system. The Intraday Seasonality Observation Model (ISOM) proposed in this project has been tested on various threshold levels. The observation of a directional change within a threshold leads to taking the time stamp and its consequential addition to all of the observations that have been made during that time. The power of this method lies in the fact that any threshold can be used for any time frequency. This leads to the observation of events for the entire data series from a new perspective. The above concepts of event-driven volatility have proven to be consistent with ANFIS if sufficient data is present to perform the ISOM. A comparison of the proposed model against the standard buy-and-hold trading strategy shows an outperformance of the Intraday ANFIS.
Acknowledgement
The authors are very grateful to Steve Phelps, the Editor and three anonymous referees for their valuable comments and suggestions that led to an improvement of this paper.
References
Abonyi, J., Babuska, R., and Szeifert, F. (2001). Fuzzy Modeling with Multivariate Membership Functions: Gray Box Identification and Control Design. IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics, 31, 755-767.
Aldrige, I. (2009). High-frequency Trading - A Practical Guide to Algorithmic Trading Strategies and Trading Systems. Wiley, New Jersey.
Bawens, L., Omrane, B. and Giot, P. (2005). News Announcements, Market Activity and Volatility in the Euro-Dollar Foreign Exchange Market. Journal of International Money and Finance, 24, 1108-1125.
Castillo, E., Guijarro-Berdinas, B., Fontenla-Romero, O. and Alonso-Betanzos, A. (2006). A very fast learning method for neural networks based on sensitivity analysis. Journal of Machine Learning Research, 7, 1159-1182.
Chelani, A. and Hasan, M. (2001). Forecasting nitrogene dioxide concentration in ambient air using artificial neural networks. International Journal of Environmental Studies, 58, 487-499.
Dacarogna, M., Gençay, R., Müller, U. A., Pictet, O. and Olsen, R. (2001). An Introduction to High-Frequency Finance. Academic Press, San Diego.
Denai, M., Palis, F. and Zeghbib, A. (2007). Modeling and control of non-linear systems using soft computing techniques. Applied Soft Computing, 7, 728-738.
Fontenla-Romeroll, O. (2003). Linear least-squares based methods for neural networks learning. Lecture Notes in Computer Science, 27, 84-91.
Glattfelder, J. B., Dupuisy, A. and Olsen, R. (2009). An extensive set of scaling laws and the FX coastline, Working Paper, arXiv:0809.1040.
Hellstrom, T. and Holmström, K. (1998). Predicting the Stock Market, Technical Report Ima-TOM-1997-07. Sweden: Center of Mathematical Modeling, Department of Mathematics and Physics, Mälardalen University.
Jang, J. R. (1993). ANFIS: Adaptive network-based fuzzy inference system. IEEE Transactions on Systems, Man and Cybernetics, 23(3), 665-685.
Jang, J. R., Sun, C. T. and Mizutani, E. (1997). Neuro-Fuzzy and Soft Computing. Prentice Hall, Upper Saddle River, NJ.
Konstantaras, A., Varley, M. R., Vallianatos, F., Collins, G. and Holifield, P. (2006). Neuro-Fuzzy Prediction-Based Adaptive Filtering Applied to Severely Distorted Magnetic Field Recordings. IEEE Geoscience and Remote Sensing Letters, 3(4), 439-441.
Mitra, P., Maulik, S., Chowdhury, S.P. and Chowdhury, S. (2008). ANFIS Based Automatic Voltage Regulator with Hybrid Learning Algorithm, International Journal of Innovations in Energy Systems and Power, 3, 5-10.
Murphy, J. (1986). Technical Analysis of Futures Markets. New York Institute of Finance, New York
Sheen, J. N. (2005). Fuzzy Financial Decision-Making: Load Management Programs Case Study. IEEE Transactions on Power Systems, 20(4), 1808-1817.
Takagi, T. and Sugeno, M. (1985). Fuzzy identification of systems and its application to modeling and control. IEEE Transactions on Systems, Man and Cybernetics, 12, 116-132.
Yezioroa, A., Dongb, B. and Leite, F. (2008). An applied artificial intelligence approach towards assessing building performance simulation tools. Energy and Buildings, 612-620.
Yoon, Y., Guimaraes, T. and Swales, G. (1994). Integrating neural networks with rule-based expert systems. Decision Support Systems, 11, 497-507.