text:
Main Expert Systems with Applications Applying genetic algorithms with speciation for optimization of grid template pattern detection in financial..

Applying genetic algorithms with speciation for optimization of grid template pattern detection in financial markets

Volume: 147
Journal: Expert Systems with Applications
DOI: 10.1016/j.eswa.2020.113191
Date: June, 2020
File: PDF, 4.20 MB
You can write a book review and share your experiences. Other readers will always be interested in your opinion of the books you've read. Whether you've loved the book or not, if you give your honest and detailed thoughts then people will find new books that are right for them.
Expert Systems With Applications 147 (2020) 113191

Contents lists available at ScienceDirect

Expert Systems With Applications
journal homepage:

Applying genetic algorithms with speciation for optimization of grid
template pattern detection in ﬁnancial markets
Tiago Mousinho Martins, Rui Ferreira Neves∗
Instituto de Telecomunicações, Instituto Superior Técnico, Torre Norte, Av. Rovisco Pais, 1, Lisboa, 1049-001, Portugal

a r t i c l e

i n f o

Article history:
Received 2 April 2019
Revised 20 December 2019
Accepted 6 January 2020
Available online 17 January 2020
Genetic algorithm
Pattern discovery
Grid of weights
Financial markets

a b s t r a c t
This paper presents a new computational ﬁnance approach. It combines a grid pattern recognition technique allied to an evolutionary computation optimization kernel based on Genetic Algorithms, creating
a dynamic way to attribute a score to the signal that takes volatility into consideration and normalizing
the pattern detection by ﬁxing the grid size with the ultimate goal of reduce risk and increase proﬁts.
For pattern matching, a template based approach using a ﬁxed size grid of weights is adopted to describe
the desired trading patterns, taking not only the closing price into consideration, but also the variation
of price in each considered time interval of the time series. The scores assigned to the grid of weights
will be optimized by the Genetic Algorithm and, at the same time, the genetic diversity of possible solutions will be preserved using a speciation technique, giving time for individuals to be optimized within
their own niche. The adoption of this approach has the goal of reducing the investment risk and check if
it outperforms similar approaches. This system was tested against state-of-the-art solutions, namely the
existing adaptable grid of weights and a non speciated approach, considering real data from the stock
market. The developed approach using the grid of weights had 21.3% of average return over the testing
period against 10.9% of the existing approach and the use of speciation improved some of the training
results as genetic diversity was taken into consideration.
© 2020 Elsevier Ltd. All rights reserved.

1. Introduction
The domain of computational ﬁnance has been earning increased attention by people from both computational intelligence
and ﬁnance domains (Chatzis, Siakoulis, Petropoulos, Stavroulakis,
& Vlachogiannakis, 2018; Huang & Yen, 2019). This happens because, when studying the market, determining optimal timings to
buy or sell stocks is crucial in achieving a trading strategy that will
accomplish the ﬁnancial performance requirements of the investor.
However, this process tends to be very diﬃcult as the stock market is noisy, non-stationary and non-linear, and at the same time
inﬂuenced by many other factors, such as political, economic and
even psychological variables.
The eﬃcient market hypothesis (Fama, 1970) presents a view in
which is not possible beat the market because it already includes
all available information at a speciﬁc moment, as well as defends
that stock prices behave in a random walk, being the prediction of
future prices impossible as they cannot be reﬂected by any trend
or pattern.

Corresponding author.
E-mail address: (R.F. Neves).
0957-4174/© 2020 Elsevier Ltd. All rights reserved.

Adversely to this vision, some investigators support the thesis
that markets are not eﬃcient, existing some variables that they
don’t reﬂect right away, which opens a window of opportunity to
beat them and obtain returns using stock market forecasting techniques, such as technical analysis, fundamental analysis, and analysis of time series. To achieve this, investment strategies that are
able to process large amounts of data and generate appropriate
trading signals (buy or sell) must be deﬁned, being the main challenges of the computational ﬁnance domain trying to predict future trend prices, in order to obtain the best correlation between
risk and proﬁt.
One way of predicting the behavior of the market used by
traders is through the analysis and identiﬁcation of chart patterns
in historical prices of ﬁnancial assets. A problem arises with this
approach regarding the way the market should match a speciﬁc
chart pattern to make a buy or sell decision. Several works like
(Cervelló-Royo, Guijarro, & Michniuk, 2015; Fu, Chung, Luk, & Ng,
2007; Leigh, Paz, & Purvis, 2002; Leitão, Neves, & Horta, 2016) and
have been published where different approaches to deal with the
chart pattern identiﬁcation are proposed and tested.
In this report a new approach to pattern identiﬁcation is presented, combining the template based approach using a grid of
weights, proposed by Leigh et al. (2002), and a Genetic Algorithm

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

(GA) Holland (1992). The grid of weights assigned for a speciﬁc
template and placed above the signal is going to generate a score
that will be higher as close as the signal is from the pattern. The
Genetic Algorithm (GA) will be used to optimize the weights assigned to each cell of the grid so the pattern identiﬁcation can be
more precise, avoiding false positives and false negatives.
The main contributions of the proposed system are: (1) the creation of a new way to attribute the score to the signal, in which
not only closing price is taken into consideration, but also the price
ﬂuctuations over each time interval of the time series in order
to retrieve more information from it; (2) the grid scores are not
ﬁxed but instead optimized by the GA in order to ﬁnd the most
proﬁtable solution; (3) the elimination of the grid adaptability of
previous approach into a scenario where ﬁxed dimensions are attributed to the grid prior to its use in order to ensure that all detected patterns are identical between themselves; (4) the preservation of genetic diversity in the population being optimized by the
GA, through speciation, to give time for different genotypic solutions to be optimized within their own niche.
This paper is organized as follows: in Section 2 the related work
is discussed. Section 3 presents the architecture and describes the
implemented system. In Section 4 case studies and their results
are presented and analyzed. Section 5 provides the conclusions obtained by the work developed.

2. Related work
A ﬁnancial portfolio consists in allocating wealth among several
ﬁnancial assets, also called securities or investments, i.e. stocks.
The portfolio optimization problem is one of the most important
research themes in recent risk management studies, especially regarding its two most relevant parameters: risk, which is intended
to be minimized as much as possible, and return, that should be
as large as possible. Nevertheless, these two parameters are not
inversely proportional as we would wish, but instead a high return
is always associated with higher risk (Chang, Yang, & Chang, 2009;
Gorgulho, Neves, & Horta, 2011).

2.2. Genetic algorithms
In artiﬁcial intelligence we ﬁnd the concept of Evolutionary
Algorithms that use mechanisms inspired by biological evolution
to ﬁnd the best individuals in a population. One of the best
known evolutionary techniques is the GA, which is based on Darwin’s principle that the ﬁttest survive (Bäch, 1996; Holland, 1992;
Mitchell, 1996). At each step GA randomly chooses individuals from
the current population to be parent individuals and uses them to
produce children individuals for the next generation. Over successive generations, the population evolves toward an optimal solution/individual that is best suited for the concerned scenario.
GAs start with a randomly generated population where each individual is deﬁned by a set of chromosomes (also called genome)
with encoded data in its genes. In the case of portfolio optimization, this data usually represents ﬁnancial ratio weights or trading
parameters. Despite the fact that GAs are randomized, it is not considered a random procedure, as it is follows an iterative process
inspired by biological evolution and constituted by several steps,
such as evaluation, selection, crossover and mutation, in order to
search for solutions with a good performance.
In the evaluation stage, each individual is appraised through the
use of an evaluation or ﬁtness function, so the best ones are able
to be within the population of the next generation, in a process
called elitism selection, which simulates the “survival of the ﬁttest”
convention. Once the new generation is set, the process continues
with a crossover operation, where two previously chosen individuals, called parents, are merged to create a descendent with characteristics from both of them, with the purpose of combining their
best attributes and generate a better performing individual. Then,
a mutation is introduced to the chromosome in order to generate some diversity in the population, by randomly changing one
or more genes in the individual. The GA process ﬁnishes when a
termination condition is achieved, e.g. an established number of
generations or a ﬁtness value threshold.
Its capability of optimizing parameters in widely complex datasets makes it extremely indicated to be used in the ﬁnancial markets to improve the investment strategy.
2.3. Artiﬁcial neural networks

2.1. Stock market analysis
Regarding stock market analysis, two main approaches arise:
fundamental analysis and technical analysis. Fundamental analysis
takes advantage of available data about companies to understand
which ones are on the same competitive industry and measure the
intrinsic value of a stock, in order to take conclusions on which is
the best to invest, based on ratios that measure proﬁtability, liquidity, debt and growth. Technical analysis does not attempt to measure the intrinsic value of a stock, but instead uses charts with historical data to identify trends and patterns and try to predict what
the stock may do in the future. This is done through the use of
technical indicators that will deﬁne the behaviour of the program
(Silva, Neves, & Horta, 2015).
A technical indicator is a metric usually extracted from the
price of an asset and its main goal is to help predicting future
prices or incoming trends. Some of the most used technical indicators are presented below (Gorgulho et al., 2011; John, 1999). There
are various sub-types of technical indicators and a group of them
that is worth to mention are volatility indicators, which consist on
a reﬂection of investor sentiment and predictability of signal price.
A stock is considered volatile if its signal movements are unstable
and with constant changes in its amplitude. In this kind of stocks,
the risk associated tends to be higher and the probability of having
a big success or a big failure in the investment increases.

Artiﬁcial Neural Networks (ANN) are computational models inspired by the biological behaviour and adaptive capabilities of central nervous systems. GAs are used for supervised regression problems and are capable of solving non-linear problems with high
complexity, being characterized for having a learning phase using
existing datasets for predicting future results.
They are composed by interconnected processing units, called
nodes or neurons, and they can be classiﬁed as input, output and
hidden nodes. As represented in Fig. 1, input nodes receive the
dataset of inputs of the model, output nodes play the role of outputting the predicted result, being their number usually the same
as the classes to predict, and hidden nodes process information
provided by input nodes, serving as an intermediary between input and output nodes, and their number is dependent of the task
of the model (Kearney, 2016).
The channels that connect neurons are called synapses and
their job consists on taking a value from their input node, multiply it by a speciﬁc weight (called synaptic weight) and output the
result to their output node. Each neuron has an activation function that is applied to the output of all its synapses and allows the
neural network to introduce complex non-linear dynamic patterns
into the model, like the ones we ﬁnd in the stock markets.
In the learning phase, the backpropagation method
(Werbos, 1974) is used to train the synaptic weights of the
network, minimizing the cost function by adapting weights. The

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

new gene created) of their parents. Thus, two different parents will
manage to ﬁnd their structure similarities without expensive topological analysis and the extra genes are always inherited from the
ﬁttest parent. This process is focused on ﬁghting the competing
conventions problem as the functional parameters of each individual are preserved and offsprings are undamaged.
Historical markers play another important role in speciation.
Topological innovation can be protected this way, by ensuring
genomes only compete within a population niche, protecting innovative structures. Two organisms are said to be in the same species
if they represent topologically similar networks.
2.6. Speciation

Fig. 1. Schema of a Neural Network.

cost function calculates the difference between the desired output
and the network output.
2.4. NeuroEvolution
When trying to solve a particular task using ANNs, its architecture and the way the model is trained are important decisions to
be made. NeuroEvolution (NE) tries to solve these problems using
GAs to evolve the topology of ANNs (Floreano, Dürr, & Mattiussi,
2008). Even though this solution offers several advantages over the
backpropagation model, it has two main drawbacks. The ﬁrst one
is the competing conventions problem (Schaffer, Whitley, & Eshelman, 1992) in which two neural networks that order their hidden
nodes differently might still be functionally equivalent. This represents a problem because these different representations can produce a ﬂawed offspring during crossover. For example, crossing [A,
B, C] with [C, B, A] using single-point crossover, in which one random point is chosen to split each genome and one of the parts
is switched between both of them, will produce [C, B, C] and [A,
B, A], both losing one third of important information to the ﬁnal
solution. Therefore, these damaged solutions will be evaluated by
the algorithm needlessly, increasing the computation time inherent
to this process. The second drawback consists on the topological
innovation problem which dictates that if we need to adjust the
existing structure, e.g. adding a new connection to the ANN, such
change will decrease ﬁtness before the connection weight has time
to optimize itself and reproduce in order for its children to develop
a subsequent structural development that can be promising.
2.5. NeuroEvolution of augmenting topologies and historical markers
The NeuroEvolution of Augmenting Topologies (NEAT) algorithm, developed by Ken Stanley, seeks to solve some of the drawbacks of previous NeuroEvolution approaches. NEAT proves to be
effective in preserving structural innovation using historical markers to issue the competing conventions problem, introducing speciation to address the topological innovation problem and by applying the principle of incremental growth from minimal structure, through a process called complexiﬁcation (Stanley & Miikkulainen, 2002) in which Stanley defended that starting with random
topologies did not lead to ﬁnding minimal solutions, since the population already starts with unnecessary nodes, thus starting with
minimal structure allows the algorithm to search for the solution
in a low-dimensional search space, which improves performance.
During crossover, each genome is aligned based on its historical
markers: matching genes if they share an ancestral origin, disjoint
or excess genes if they exist, respectively, inside or outside the innovation numbers (unique numbers that are incremented for each

A GA seeks to ﬁnd an optimal solution as explained before in
this report. However this approach brings along a certain loss of
genetic diversity, as inevitably the population will converge towards one ﬁt individual and its close mutants, leading to that loss
of genetic diversity. In nature, an ecosystem is composed by different physical spaces (niches) exhibiting different features, which
allows both the formation and maintenance of different types of
life that compete to survive (species). For each niche, the physical
resources are ﬁnite and must be shared among the individuals belonging to it. This promotes genetic diversity by encouraging the
emergence of species in different sub-spaces of the environment
(niches) and we experience a wide variety of species co-existing
within an ecosystem, evolving at the same time and competing using the environmental resources (Cioppa, Marcelli, & Napoli, 2011).
The main goal of carrying this concept to Evolutionary Algorithms relies on the fact that, given some value calculated over
the parameters of a particular genome, a threshold could be set to
consider that two structurally not looking alike individuals in the
population must not be crossing over each other. This way, each
individual will compete against individuals with similar structural
characteristics (i.e. of the same species) and each will have time
evolve their ﬁttest individuals for an optimal solution that took
into account genetic diversity.
Besides NEAT, some other works also relied on speciation
for their learning algorithms, namely the taxon-exemplar scheme
(Brooker, 1982), the tag-template method (Deb, 1989), ﬁtness sharing (Goldberg & Richardson, 1987), dynamic niche sharing (Miller
& Shaw, 1996), dynamic niche clustering (Gan & Warwick, 1998)
and adaptive species discovery (Cioppa et al., 2011).
2.7. Pattern discovery
One of the most diﬃcult tasks for investors is to analyze ﬁnancial charts to detect patterns. Three main concepts must be distinguished regarding this subject: time series, pattern recognition and
pattern discovery.
A time series stands for a collection of observations chronologically made (Fu et al., 2007), while in pattern recognition the goal is
to identify known patterns on the time series and pattern discovery consists in ﬁnding new patterns that occur in the time series
and are unknown (Canelas, Neves, & Horta, 2013).
The appearance of chart patterns in ﬁnancial time series is often a premeditation of a possible change in price trend. For the
purpose of identifying these patterns, various approaches can be
used to measure the similarities between chart pattern templates
and sequences extracted from ﬁnancial time series. Some wellknown patterns are frequently used to evaluate the effectiveness
pattern matching methods but as there are no precise deﬁnitions
for these chart patterns, so researchers and ﬁnancial analysts may
specify them in the most suitable way for their applications.
One particular set of chart patterns, Flags and Pennants, must
be presented. Both patterns are followed by ascent or descent

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 2. Graphic representation of Flag and Pennant charts.

Fig. 3. Bull Flag template from (Leigh, Paz, & Russell, 2002).

burst, whether they represent a conﬁrmation of an uptrend or
downtrend, respectively. In the case of ﬂags depending on whether
we are considering a bullish or bearish market, the pattern oscillates between two horizontal lines with an upward or downward
slope. The ﬂags are often called Bull Flag or Bear Flag depending
on the direction of the tendency. On the other hand, the pattern in
the pennants oscillates between two intersecting trend lines, one
sloping downward from the top and the other sloping upward from
the bottom. Fig. 2 shows the graphic representation of a Flag and
a Pennant.
There are various techniques to identify patterns, like using Perceptually Important Points (PIPs) (Fu, Chung, Luk, & Ng, 2008), applying rules or templates (Fu et al., 2007), combining PIPs with
Symbolic Aggregation Approximation (SAX) (Leitão et al., 2016)
or even using the Dynamic Time Warping Algorithm (Kim et al.,
2018). Regarding the application of templates, one way of identifying them is through the use of a grid of weights (Leigh et al.,
2002), which stands for a 10×10 grid, like the one in Fig. 3, which
allows the recognition of patterns by assigning higher classiﬁcation
to the cells of the grid matching the template, and by deﬁning a
minimum ﬁt value threshold for which the sum of scores of the
cells matching the close price signal must achieve.

This has the disadvantage of being a subjective process in
which the threshold value must be adjusted, taking into consideration that higher values can miss price windows that ﬁt the pattern
and lower values can lead the to the identiﬁcation of false patterns.
In ﬁnance, some works have been developed relying on this
representation for pattern detection, like (Arévalo, García, Guijarro,
& Peris, 2017) and (Cervelló-Royo et al., 2015) that changed the
conﬁguration of the grid to support a scheme where the body of
candlesticks were used to detect the Bull Flag pattern as shown in
Fig. 4, and (Parracho, Neves, & Horta, 2011) that used only closing
prices, but tested this representation with 4 different patterns (uptrend, downtrend, breakout and bull ﬂag) combined between them.
Both approaches showed results that outran the market and Parracho’s version of the grid also outperformed Buy & Hold (B&H).

3. Architecture
To determine optimal timings for entering or leaving a speciﬁc
market based on the analysis of template chart patterns optimized
using a GA with speciation, Fig. 5 presents the overall overview of
the system’s architecture designed for that purpose.

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 4. Bull Flag template from (Cervelló-Royo, Guijarro, & Michniuk, 2015).

It follows a multi-layered architecture and a modular programming approach. Its architecture is composed by three speciﬁc layers: presentation layer, application layer and data layer. This gives
the ability to develop and update the technology stack of one layer
without impacting the remaining ones, providing ﬂexibility to scale
the application, as well ease of maintenance regarding the code
base. Within each layer, each process of the implemented system
was divided into separated sub-programs/modules taking into consideration the ease of use (and re-use) that this programming approach provides, as we can focus on simpler snippets of code instead of a gigantic big application and handle better with debugging and maintenance. Some practical examples of how the adoption of these methodologies were useful during the implementation process and could be useful for expanding the existing solution are the following: (1) If we wish to change the way information is presented to the user, only changes in the “User Interface

Module” are necessary and no other module within the presentation layer, or the remaining layers, needs to be modiﬁed. (2) The
“Trading Algorithm” module is composed by a sub-module where
the logic and properties of the Machine Learning technique in use
are speciﬁed. Changes within this module were a constant during
the tests of the system, without the need of modifying the “upper”
trading algorithm module, neither any other system component (3)
If the external API that provides data changes and the way the
“Financial Data” module is currently feeding the “Pre-Processing”
module, we would be dealing with a modiﬁcation that impacts
multiple modules and architectural layers. Nevertheless, each module’s speciﬁc implementation is well deﬁned and in a simpler way
than if the system was a giant application. This way, the modiﬁcations within each module would be quickly implemented with
little impact over the entire system.
The execution of the above system can be interpreted through
the following steps: (1) User speciﬁes the input parameters to be
implanted in the system and used by the lower levels; (2) A module responsible for Pre-Processing the information provided by the
user gathers all the needed data, normalizes it into standard representations and populates the adequate data structures; (3) The
Trading Algorithm component will be continuously generating a
trading signal over live market data relying on a template-based
pattern detection technique that is trained with GA with speciation over past market data. Then it outputs the most relevant results during its execution; (4) At the end of the system’s execution,
the results of the Trading Algorithm component will be presented
to the user for evaluation.

3.1. Financial data
The program obtains and stores data from companies that is
going to be used by the Trading Algorithm component. The process of collecting data uses a python module called alphavantage, a
provider of APIs for real time and historical data on stocks. The set
of companies used in this research belong to Standard and Poor’s
50 0 (S&P 50 0) and the API allows the download of daily data from
the companies since the year 20 0 0 up to the current day. Each
data entry consists of a set of opening and closing prices, highs
and lows, and volumes of transactions during each considered period.

Fig. 5. System’s architecture by components.

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191
Table 1
Summary statistics of
the ﬁnancial data.

then checks if the ﬁnancial data is up to date. If there is missing data it is downloaded and fed into the ﬁnancial data input ﬁle
(type 1 operation), if not, the program can continue to the Training
Phase of the GA. In the ﬂowchart, the box indicating the Training
Phase of the program (type 2 operation) only contains 1 generation of the GA that runs over the training data, as for each iteration
there is GA related data that is written into an output ﬁle (type 3
operation). When the GA is over, we exit the loop in the ﬂowchart
and proceed to the Testing Phase (type 2 operation), where the
ﬁttest individual from the Training Phase is used and the ﬁnal outputs are also written in speciﬁc output ﬁles (type 3 operation).
3.3. Pattern detection

Fig. 6. Flow of data chart during program execution.

Table 1 presents a summary with information regarding the
data series length. On Average, each stock presents 4118 days’
worth of trading data, being 4566 the maximum number of entries of a stock data set that starts in the ﬁrst day of 20 0 0. The
minimum value of entries presented relies to the fact that, for a
stock to be considered in our analysis, 10 0 0 days’ worth of data
must be guaranteed to ensure the signiﬁcance of the training set.
Regarding the storage of data, it is made locally in Comma Separated Values (CVS) ﬁles and are exported and imported to the
program using another Python module named pandas, widely used
for manipulating complex data collections within Python.
3.2. Data ﬂow
In terms of data being introduced, produced and extracted from
the program, we can divide it in 3 types: (1) Input Data, that contains program variables with predeﬁned values by the user via
conﬁguration ﬁle; (2) Main Program, containing training and testing phases and where GA ﬁnds the best individual to be tested in
testing phase; (3) Output Data, that consists on every piece of information extracted from the program, either during the Training
Phase of the program (to evaluate the outputs of the GA) or after
the Testing Phase to reveal the ﬁnal outputs.
Fig. 6 illustrates the entire process which can be interpreted as
follows: the program reads a conﬁguration ﬁle with input parameters or reads the ones deﬁned by the user (type 1 operation) and

The pattern detection technique follows a heuristic based on
templates, namely the 10×10 grid of weights (Leigh et al., 2002).
The pattern we are trying to detect is the Bull Flag pattern (Fig. 2),
which is a short-term continuation pattern that ideally form between 1 to 4 weeks. The most reliable timeframe to use depend
on each market, which means that a grid with a ﬁxed timeframe
size will not always preform ideally. The use of a 10×10 template
is a good choice since it ﬁts the ideal timespan for this type of
patterns. In order to prove that this approach is able to transcend
existing ones regarding the return on investment and risk reduction we found important to keep the structural template size of
the grid the same as other studies.
Four conditions are being set for each column of the grid: (1)
the sum of the scores contained in each column must be 0; (2)
there must be two cells with a score equal to 1, which is the maximum score allowed; (3) these two cells must serve as an axis of
symmetry between the values of the remaining cells; (4) for each
cell that is further away from that axis, the score must be lower or
equal than the one that is closer.
To detect the patterns in the traditional way using a grid of
weights, ﬁrst it must be ﬁtted into the price window we want to
check and the closing price of each entry will coincide with one
speciﬁc cell of the grid. The values of each cell are assigned so the
closer the signal is from the pattern, the higher its score is, and
the goal of this process is to obtain a ﬁt value (threshold) that will
show the level of matching between the pattern matrix and the
price window. Low thresholds may lead to false positives and high
ones may discard price windows that would ﬁt the pattern.
Using the traditional grid of weights, in addition to the issue of
choosing the most suitable threshold, the fact that the grid adapts
itself to the price window so each point of the signal is within
it, i.e. each closing price of the price window being analyzed, is
kept within the limits of the grid, may also lead to ﬁnd false positives. A ﬂag is only a continuation pattern if it forms an angle that
is clearly against the current trend, but as it can be observed in
Fig. 7 an adaptable grid that varies in size according to the signal
may mislead the correct pattern identiﬁcation, e.g. in cases where
the height of each row of the grid is small and the angle formed
between the consolidation phase and continuation of the uptrend
is very wide.
To overcome both these problems and increase precision while
using a grid of weights to detect patterns in the time series, two
modiﬁcations to the traditional grid of weights are being made,
leading to the creation of the Fixed Size Grid of Weights (FSGW):
1. To ensure a choice of a suitable threshold, more information
than just the closing price will be used, so instead of using the
grid of weights against the continuous signal of the stock market, the candlestick representation is adopted. As seen in Fig. 8,
this representation gives information about the highest value,
lowest value, opening and closing prices for a speciﬁc time interval.

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 7. Difference between an adaptable and a ﬁxed size grid of weights.

way that ﬁts the grid into the best possible position within the
signal to ﬁnd a Bull Flag. This way, all pattern matches will be
similar even in its relative size in the time series.

Fig. 8. Candlestick representation.

Regarding the use of candlestick representation, even though
we have more information than the closing price now, not everything is of the same importance for calculating the ﬁnal score,
which is why information must be divided into different weighted
groups according to their importance in each grid column.
Formally, consider a cell named A, corresponding to where the
closing price of the signal hits in that grid column; a set of cells
named B, corresponding to the cells between where the opening
and closing prices hit for a speciﬁc column of the grid (excluding
the closing price cell); and a set of cells named C, corresponding
to the cells visited by the signal during that time interval of the
price window and excluding cells contained in A and B. Consider
also three weights w1 , w2 and w3 , which are assigned to each the
previous stated groups of cells, so the ﬁnal score φ for that speciﬁc
column is given as:

φ = A × w1 +

Fig. 9. Constraint positioning of the ﬁrst column of the grid.

2. To avoid the inaccurate detection of ﬂags concerning its shape
relatively to the ongoing trend, a ﬁxed size grid is adopted (i.e.
detecting ﬂags in ﬂat formations which are not ﬂags is avoided
because the grid is not allowed to shrink to adjust itself to
the whole signal as shown in the right graph of 7), being the
length of each grid row set as an input parameter. As shown in
Fig. 9, this grid does not depend on the relative size of the signal within the price window, being the positioning of the ﬁrst
column the only imposed constraint and it must be done in a

 Ci
× w2 +
× w3
size(B )
size(C )

being w1 > w2 > w3 and w1 + w2 + w3 = 1. If B or C are empty
sets, their weights (w2 and/or w3 ) are added to w1 and become 0.
The weights w1 , w2 and w3 are randomly assigned to each individual by the algorithm during its creation and optimized by the GA
from then on, all this as long as the previous rules are met.
Fig. 10 illustrates the process described above, where for the
same column in the grid, three different candlesticks are presented
with the same closing price and considering the following weights:
w1 = 0.5, w2 = 0.3 and w3 = 0.2.
If only closing prices were taken into account, the score for each
column would be 1, but if we add to the balance more information
than just the closing price, the risk associated with a momentary
increase of market volatility (reﬂected by a big candlestick) is easily tracked as it results in a lower score.
3.4. Genetic algorithm and speciation
The most commonly used Python framework for rapid prototyping and testing of ideas based on GA is called Distributed Evolutionary Algorithms in Python (DEAP). It has already implemented
some genetic operators and offers a wide range of representations
for GA’s individuals, but, as the level of complexity of trying to represent and manipulate a FSGW using this framework would be at
least as challenging as creating an Application Programming Inter-

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

that a certain specie will exist for compatibility values between 0
and 0.02, 0.02 and 0.04, and so on).
In what concerns Selection, the number of offsprings that the
system is allowed to generate must be established taking into account that a speciﬁed number of elements in each species must be
selected. The computation of the amount of offsprings assigned to
each species i is represented in the following equations:

O f f springsi =

A justedF itness j
AverageA justedF itness

F itness j
Size(Speciesi )

A justedF itness j =

AverageA justedF itness =

Fig. 10. Illustration of weighted scores procedure.

face (API) from scratch, that ended up being the solution found to
address this issue.
The main goal of using a GA is to ﬁnd scores for the grid matrix
and values for weights w1 , w2 , and w3 that maximize the Return
on Investment (ROI) in the training period. The resulting grid from
this optimization procedure will then be applied in the testing period. Fig. 11 presents a schema of the GA information ﬂow using
system’s genetic encoding and genetic operator’s way of manipulating individuals.
In what concerns the Genetic Encoding of the system, as the
10×10 grid being used to represent each individual of the population is composed by 100 cells, a way of saving computational
resources was found taking advantage of the symmetry propriety
stated before: for each column of the grid, the ﬁrst positions will
contain two values corresponding to the number of cells above and
below the cells that represent the axis of symmetry; the following positions will contain all different scores the respective column
contains; the last three positions after all the columns have been
handled will contain the weights w1 , w2 , and w3 .
Fig. 12 serves as example to illustrate how 23 positions in the
structure of each individual were spared.
The goal of using Speciation in this work is to maintain diversity in the population and protect new individuals against biased solutions that optimize faster. For this purpose, a compatibility function will be used taking into account the weights that have
been assigned to each individual. The candidates will then be divided in species, according to a compatibility value calculated using the following equation:

δ = w1 × A + w2 × B + w3 × C

where w1 , w2 , and w3 correspond to the weights of each individual and A, B and C are constants set to 0.65, 0.225 and 0.125
respectively. These constants are used to highlight variations in
the weights that represent a signiﬁcant impact in each individual
scores, i.e. to w1 is assigned the highest constant as this weight
is the most representative of the three, and so on. The compatibility values will be comprehended between 0 and 1 and bound
values are set to deﬁne each species (e.g. multiples of 0.02 mean

T otalA justedF itness
Size(Population )

After selecting N individuals per species that will generate offsprings, a roulette procedure will be applied to select the mating
combinations among the ﬁttest N individuals of that species. Some
adjustments may have to be made if the number of calculated offsprings is different from the population size or if for a species the
number of offsprings is not achievable with the number of individuals it contains.
The Crossover process is made within each species and is divided in two steps: (1) a double point crossover in random positions of the parents grid, dividing them in 3 sets of columns and
exchanging the middle set between them; (2) a single arithmetic
recombination between the weights w1 , w2 , and w3 of both parents.
The individuals involved in the crossover process as parents are
chosen according to their ROI and it is implied that at least half of
the offsprings have to be parents.
The Mutation operation will have a chance P of being triggered
and will take place randomly over a number N of columns of the
grid. From each of the chosen columns, a number M of cells will
also be randomly chosen to be mutated, being their values affected
according to a threshold T that will deﬁne how big the change is.
This operator will also rely on a method called Hyper-Mutation
(Almeida, Neves, & Horta, 2018), which temporarily increases the
mutation rate when a situation of local maximum occurs. This way,
when the overall improvement of the GA does not improve over a
predeﬁned number of generations, the mutation rate increases inducing more genetic diversity and the possibility of ﬁnding a new
better solution.
Some of the best ﬁtting individuals are eligible to proceed to
the next offspring without passing through crossover and mutation
operations, due to Elitism. For that purpose one of the following
conditions must be satisﬁed: (1) the most 2% ﬁttest individuals of
each species must proceed directly to the next generation; (2) if
the value of the previous condition is smaller than a predeﬁned
threshold value (e.g. one), the amount of the ﬁttest individuals to
have a free pass into the next generation must be set to that value.
The main objective of implementing this system is to maximize
the return resulting from the investment that was made. So, in order to evaluate each individual of the population, the ROI Fitness
Function is going to be applied to pick the best ones for reproduction over each generation of the GA and it is calculated multiplying
the take proﬁt and stop loss predeﬁned percentages per the number of times each position closes in proﬁt or loss, respectively.
The Termination Condition to be applied can affect both the
quality and speed of the search, usually in an inverse proportionality relationship. Taking this into account, the program should avoid
not only pointless computations, but also immature terminations
of the program. Therefore, the algorithm will stop if: (1) it reaches

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 11. Genetic Algorithm Schema.

Fig. 12. Genetic Encoding of the Grid and Weights: (a) Normal grid representation; (b) Chromosome’s genetic encoding representation.

a predeﬁned number of generations; (2) the highest ﬁtness score
for the population does not improve for a predeﬁned number of
generations, always smaller than the ones in condition 1; (3) if the
highest ﬁtness score for a species population does not improve for
a predeﬁned number of generations, always smaller than the ones
in condition 1, the ﬁttest individual is kept and the species stops
being evaluated.
4. Evaluation
To authenticate the effectiveness of the approach developed a
strategy called Backtesting (Ni & Zhang, 2005) was used, which al-

lows the simulation of a trading strategy using historical data to
achieve results and evaluate risk and proﬁtability before compromising real capital. If along with it come positive results then the
strategy is solid enough and likely to yield proﬁts when implemented.
Over this idea three test will be approached in detail:
1. Using FSGW with a speciated GA against the usual GA without
species, in a way to verify if the introduction of genetic diversity in the population can act as a key to encounter better individuals in the training phase.
2. Using FSGW to detect patterns, described in last chapter,
against the Traditional Simple Adaptable Grid (TSAG) without

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191
Table 2
General setup parameters for test scenarios.

Table 3
Evolutionary parameters of Test Scenario 1.

Training Period
Testing Period
Minimum Training Time
Grid Offset

100 stocks from S&P 500
1 year

Number of Generations
Generation Limit for Improval
Mutation (%Chance / Columns / Threshold)
HiperMutation (Gens. Wihtout Improval / Increase Rate)
Species Threshold
Pattern Conﬁrmation Score Threshold

weights, in order to prove if the new approach overcomes the
previous one.
3. Using the FSGW with market exiting parameters (exit with
proﬁt and stop loss) that depend on the market volatility over
the 3 months prior to the starting day of the test against the
same approach using ﬁxed exiting parameters, with the goal
of understanding whether this additional measure can improve
the results, by relying on it to decide if the risk of leaving a
position open for more time expecting a higher return is worth
4.1. General setup
Despite all test scenarios are independent of each other, some
parameters and mechanisms are the same throughout the entire
evaluation process. Regarding the predeﬁned parameters, Table 2
displays their respective values.
The portfolio chosen consist of 100 stocks from the S&P 500 index through a pre-selection process where 503 stocks were trained
and the 100 most proﬁtable were chosen as the ones to be analyzed in detail. Training and testing periods are treated as percentages because for not all S&P 500 stocks entered the index at the
same time, even though the majority of the stocks have 18 years of
historical data available between January 20 0 0 and February 2018
(12.5 years of training and 5.5 years of testing, with the point between both in mid-2012). In general for train-test data approaches
the usual percentages for splitting training data and testing data
are 30% and 70% respectively and, as our ultimate goal is to prove
our approach can outrun the existing one we decided to use standard the standard percentages.
The last parameter is related to the FSGW and decides the
length of each grid level related to the stock quote. As the grid has
a ﬁxed size in this approach this Grid Offset value indicates how
much the stock quote varies between each cell of the grid.
Regarding the evaluation mechanisms to be used in every test
scenario, ROI will always be measured in percentages. Once the
pattern is recognized the system launches a buy signal and, for
each stock, predeﬁned percentages of Take Proﬁt and Stop Loss
are applied to decide when the trade is closed. The choice of
Take Proﬁt and Stop Loss depends on the volatility of the market in the 3 months prior to the beginning of the testing phase.
Higher volatility implies higher closing position values and vice
versa. Once these volatility values are calculated for every stock,
mean and standard deviation of them are obtained and 3 pairs of
Take Proﬁt and Stop Loss are deﬁned: (1) Lower ones if the volatility of a speciﬁc stock is lower than Mean - Standard Deviation; (2)
Intermediate ones, if the volatility of a speciﬁc stock is higher than
Mean - Standard Deviation but lower than Mean + Standard Deviation; (3) Higher ones, if the volatility of a speciﬁc stock is higher
than Mean + Standard Deviation. This way we are avoiding leaving
early on markets that are volatile and ensuring that we don’t stay
too long on markets that are more stable and the price variation is
For each test scenario, 10 runs were made and the run that
presented the intermediate ROI is the one represented in the results. The standard evolutionary strategy adopted by each approach

that uses a GA (i.e. FSGW and TSAG) the parameter speciﬁcation of
Table 3.
To determine the number of generations we took into consideration several metrics like: (1) the population size, (2) the computer hardware conﬁguration and (3) the complexity of the ﬁtness
function. Considering the individuals’ genetic encoding shown in
Fig. 12, the Genetic Algorithms’ operations described afterwards in
the paper and the fact that we are dealing with matrix calculations
that usually are slow, we can conclude that the complexity of the
operations that lead to the ﬁnal calculation of the ﬁtness function
is high enough to, in overall, make the whole process a bit slow.
Regarding the hardware conﬁguration, even using python’s multiprocessing module in an octa-core with up to 4.4 GHz the process speed was only increased 4 times. With respect to population
size, as we ﬁnd diversiﬁcation one of the most important factors
to reach long-range ﬁnancial goals while reducing risk, the use of
100 stocks and 100 individuals per stock. For all that was stated
before, and for the fact that in each simulation the training phase
was composed in the majority of the cases by 12.5 years of training data, a maximum of 25 generations per stock was settled and
if after 12 generations the ﬁttest individual remained the same the
training stops.
4.2. Test Scenario 1 - FSGW using speciation in GA vs FSGW not
using speciation in GA
The presented test scenario exhibits the results obtained when
evaluating the FSGW strategy over the conditions of Table 2. As
we are analysing the use of a speciated approach against a nonspeciated one and this process occurs during the GA execution,
unlike the following test scenarios, the training phase of the algorithm will be considered in this, beyond the usual testing phase
data that is also presented in the remaining scenarios.
Take Proﬁt and Stop Loss pairs used depending on volatility are
15%–7.5%, 20%–10% and 25%–12.5%.
On Table 4 each strategy performance is presented regarding
their training and testing periods according to their entries, days
in the market, and also proﬁtability of each position.
The analysis of the performance metrics presented in
Table 4 leads us to realize that overall returns are similar and
the most signiﬁcant differences occur in the maximum proﬁt and
percentage of market exits with proﬁt of each of phase. However,
by themselves, these values do not have enough signiﬁcance
to conclude what are the real gains of a FSGW approach using
Three main reasons can be pointed to explain the reason why
there are not signiﬁcantly better results using a speciated approach: (1) the genetic encoding is composed of 57 grid positions
and 3 weights whose values can vary, so the number of possible
combinations is estimated to be in the order of trillions and the
absolute best of these combinations may not be even close of being generated by the algorithm or achieved by the GA given the
input parameters used; (2) the fact of using a weighted approach,
the symmetry imposed to the grid and the range of possible com-

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Table 4
Performance comparison metrics of training and testing set regarding Test Scenario 2.

FSGW (Train)

Single (Train)

FSGW (Test)

Single (Test)

Average Market Entries
Total Number of Trades
Wins (%)
Losses (%)
Average Days in Market
Proﬁtable Positions
Non-Proﬁtable Positions
Max. Proﬁt (%)
Min. Proﬁt (%)
Avg. Proﬁt (%)

Fig. 13. Extract from COG stock during testing phase of FSGW.

binations, all together, can lead to a situation where even very different conﬁgurations may lead to the same result in terms of ﬁnal
return given the score calculation formula 1; (3) the cost of using a speciated approach, in terms of time consumption, is roughly
similar to not using one, so even if a speciated approach does not
ensure that a bigger set of possible combinations is covered (as we
are dealing with the same number of individuals as a normal approach), it does cover a bigger area in the map of the possible sets.
Fig. 13 address an example on how the use of a speciated strategy has improved the overall ROI of the GA in the training phase
and there are also presented relative percentages related to the ROI
of each species in ﬁrst and last generations for easier visualization.
It is related to the execution of Cabot Oil and Gas Corp. (COG) stock
over 25 generations and it is visible that a species which was only
considered the 6th best in ﬁrst generation ended up having a profitability that represent 17% of the best individuals’ total returns. If
the GA was not using speciation, this individual would eventually
be crossed with a random one in the population instead of only
ones with the same genetic compatibility, condition that was crucial to the creation of an extreme proﬁtable individual.
It is also important to note that the average market entries are
4.65 in FSGW (test) with an average of days in market of 673.3,
which means that the average number of days in market for each
entry are 145. The reason for the high time span is related to the

fact that, in average, the take proﬁt percentage is 20% and stop loss
is 10%. This values are chosen so that even if half of the positions
ended up with loss, we would not be losing money, as the proﬁt
percentage for each win is twice as the value of each loss. This
2:1 relationship between take proﬁt and stop loss gives guarantees
that we are leaving the market as soon as we understand that our
pattern was misidentiﬁed and staying in the market long enough
to take the most proﬁt from a correct pattern match, and everything must work ﬁne even if the market takes more than 100 days
to reach any of this points.

4.3. Test Scenario 2 - FSGW vs TSAG vs B&H
The presented test scenario exhibits the results obtained when
evaluating FSGW and TSAG over the conditions of Table 2, except
for the Grid Offset parameter in the TSAG, as the grid is adaptable.
As TSAG approach does not rely on the use of species, we also used
a FSGW without species. B&H approach was used as benchmark
and some comparison notes of the its performance over the testing
period against FSGW were made at the end of this subsection.
On Table 5 each strategy performance is presented according to
their entries, days in the market, proﬁtability of each position and
The Shape Ratio indicator.

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 14. Extract from ADI stock during testing phase of FSGW.

Table 5
Performance comparison metrics of Test Scenario 1.

Average Market Entries
Total Number of Trades
Wins (%)
Losses (%)
Average Days in Market
Proﬁtable Positions
Non-Proﬁtable Positions
Max. Proﬁt (%)
Min. Proﬁt (%)
Avg. Proﬁt (%)
Shape Ratio

From it, we can observe that FSGW clearly surpasses TSAG in
terms of average return and also the most proﬁtable position is
almost the double when comparing to the traditional approach.
As an example, Figs. 14 and 15 display the candlestick representation of Analog Devices Inc. (ADI) stock between late 2015 and
early 2017 with market entries and exits for FSGW and TSAG approaches, respectively. Consider each black vertical line a market
entry and each green or red vertical line an exit with proﬁt or exit
with loss, respectively. They show an uptrend scenario in which,
using a FSGW approach, the pattern was identiﬁed three times successfully as the ROI for each entry was positive. On the other hand,
while using the TSAG approach, none of these patterns were identiﬁed.
ADI’s stock using the FSGW ended up being one of the portfolio’s best in testing phase, with a total return of 105%, while using
the TSAG was only the 47th best with a total return of 7.5%.
By comparing FSGW strategy against B&H it is possible to observe that our approach was completely overcome in terms of the
Average Proﬁt metric. Nonetheless, the fact that the training period
was a time frame in which the S&P 500 index itself was mostly uptrend justiﬁes this value, meaning that a huge risk was taken for
maintaining positions open for a long time (longer than 5 years

in the majority of the cases), as well as huge drowdowns are not
avoided, as it can be observed by the worst position of B&H with a
loss of 89.7% of the invested value. In fact, if we consider the metric proﬁt per market day as the average return of a stock for each
day it had an open position in the market, FSGW, which stands
as a much more risk free and ruled approach, achieved 0.0474%
on average per stock, overcoming the B&H value of 0.0438% for
the same metric. The shape ratio values are also in favor of FSGW
approach, which surpassed both remaining strategies in terms of
risk-adjusted return.
4.4. Test Scenario 3 - FSGW with market exiting parameters
depending on volatility vs FSGW with ﬁxed market exiting
This test scenario exhibits results obtained when evaluating
FSGW in two different modes: with market exiting parameters
(exit with proﬁt and stop loss) that depend on market volatility
over the 3 months prior to the starting day of the testing and
the same approach using ﬁxed exiting parameters, always over the
conditions of Table 2. As stated in Section 4.1, 3 pairs of take proﬁt
and stop loss percentages are used while running FSGW normally,
and in this test this approach will be compared with other 3 approaches with the following nomination:

FSGW 10-5, where all stocks exit the market when having a
proﬁt of 10% and loss of 5%;
FSGW 15-7.5, where all stocks exit the market when having a
proﬁt of 15% and loss of 7.5%;
FSGW 20-10, where all stocks exit the market when having a
proﬁt of 20% and loss of 10%;

On Table 6 each strategy performance is presented according to
its entries and days in the market, as well as the proﬁtability of
each position. From it we can observe that, as the market over the
time in which we are evaluating these variants of the FSGW approach is in an almost continuous uptrend, increasing percentages
of take proﬁt and stop loss mean more proﬁt. This implies that the

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 15. Extract from ADI stock during testing phase of TSAG.

Table 6
Performance comparison metrics of Test Scenario 3.

10% - 5%

15% - 7.5%

20% - 10%

Average Market Entries
Total Number of Trades
Wins (%)
Losses (%)
Average Days in Market
Proﬁtable Positions
Non-Proﬁtable Positions
Max. Proﬁt (%)
Min. Proﬁt (%)
Avg. Proﬁt (%)

Table 7
Comparison between FSGW 20-10’s
normal/hybrid FSGW approach.

Avg. Return

higher exiting percentages are, more time opened positions stay in
the market and, consequently, they enter less times in the market.
The fallout of all this in a market that behaves mostly in an uptrend scenario is that low exiting percentages (e.g. FSGW 10-5) will
have lower maximum/average proﬁts and lower losses in terms
of its portfolio’s worst positions. On the other hand, high exiting
percentages (e.g. FSGW 20-10) will have higher maximum/average

proﬁts and higher losses in terms of its portfolio’s worst positions.
As the percentage ratio between wins and losses is 2 to 1, respectively, for this type of market the number of losses being higher
does not affect overall returns signiﬁcantly.
As it is also observable, the hybrid FSGW that uses all 3 pairs
of exiting percentages depending on volatility does not overcome
FSGW 20-10, but once again the market in which the scenario is
being tested is what explains why this happens, as in a more sideways or sinusoidal market increased quantity and severity of nonproﬁtable positions of a FSGW 20-10 approach would reduce its
effectiveness. Nevertheless, even with this test conditions it is possible to prove this point. Table 7 shows all 10 non-proﬁtable positions of FSGW 20-10 compared to the same positions in a portfolio
using a normal FSGW approach.
For these positions of FSGW 20-10 to be negative means these
stocks’ behaviour must at least meet some of the conditions abovementioned that reduce the effectiveness of using higher exiting
percentages. As it is observable, using a hybrid approach that reduces exiting percentages in these cases revealed to be a better
option in 80% of the cases.
In sum, what can be drawn from this test scenario is that one
must analyze carefully the market in which is putting his money
in order to decide the better exiting conﬁguration. If the market
is climbing in overall it was proven that higher exiting percentages
bring better results. Despite all this, all the presented variants have
positive overall ROIs, which enhances even more FSGW approach.
However, as it is known, nothing can be taken from granted in
what concerns the stock market, so the approach that beneﬁts the
most in the risk/proﬁt relationship and brings along more insurance is the hybrid FSGW with 3 pairs of exiting percentages depending on the volatility of the market.

4.5. Overall analysis
This section serves as a summary of the results presented in all
test scenarios regarding all different approaches: the main FSGW

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

Fig. 16. Average ROI evolution over the entire testing period.

Table 8
Comparison between FSGW run chosen for test scenarios
against the average of 10 executed runs.

Average Market Entries
Wins (%)
Losses (%)
Average Days in Market
Proﬁtable Positions
Non-Proﬁtable Positions
Max. Proﬁt (%)
Min. Proﬁt (%)
Avg. Proﬁt (%)

6.12 [5.89 ; 6.29]
48 [47 ; 49]
52 [51 ; 53]
556 [553.7 ; 572.1]
84 [82 ; 88]
16 [12 ; 18]
117 [105 ; 127.5]
−37.5 [−45 ; −27.5]
20.7 [19.5 ; 22.4]
Fig. 17. Heat map of negative cells in the grid.

and all its variants (exit pairs 10%-5%, 15%-7.5% and 20%-10%, as
well as the approach with a single species) and also TSAG.
As FSGW is the main system being tested, a series of 10 runs for
that approach were made and Table 8 show the comparison of the
run chosen for the previous test scenarios with the average results
of those runs, also including the highest and lowest result for each
It is observable that the run chosen for the testing scenarios
stays close to average values and even the disparity between highest and lowest result for each parameter is narrow, which leads to
the conclusion that the run chosen can be accounted as well representative of what FSGW is able to achieve, as well as the approach
is reliable since it always leads to similar results.
Heading to the overall analysis, Fig. 16 joins all the different
tested approaches together in a graph that shows the evolution of
their average ROIs over the entire testing period. The lines highlighted with red and green glows are FSGW and TSAG approaches,
respectively, and this serves not only to show the magnitude of the
improvement that using a weighted grid with a ﬁxed size approach
over the traditional existing approach has, but also to show that
from 5 FSGW approaches the only that does not overcome TSAG is
the one in which the market exiting strategy is the most conservative one.

One particular detail stands out in the majority of the resulting
grids of FSGW’s GA procedure which is the fact that, from the 3
penalization zones of the Bull Flag grid (both bottom corners and
on top of the 5th, 6th, 7th an 8th columns), the bottom right corner, right bellow the highest scoring positions of the consolidation
zone of the pattern, is not that much punished with bad scores as
the others. If a “heat map” of the common negative cells of the
grid was designed, it would look something like Fig. 17.
The explanation stands as a relationship between the location
of the penalization zone within the general scope of the bull ﬂag
grid. If a signal reaches the bottom right penalization zone with
a good total score already from the previous positions, this means
that it has behaved correctly more than half of the grid and there
are two reasons to allow the signal to be in that position without
penalizing it too much: the consolidation phase may be a late one,
or even if it is not, conﬁrming a pattern that ends in the lower
zones of the grid is always safer than ending in the highest as it
has more room to climb if it indeed starts climbing as expected.

5. Conclusion
The presented work proposes a portfolio management system
using a GA with speciation along with a new approach to pat-

T.M. Martins and R.F. Neves / Expert Systems With Applications 147 (2020) 113191

tern identiﬁcation of the template based approach using a grid of
To validate the implemented strategy it was compared against
the already existing that using a grid of weights; against itself using different input parameters regarding the way market volatility affect the program; and again against itself using the same approach but without species. The period of training and test were
70% and 30% respectively, applied over the available data of a portfolio containing 100 stocks from S&P 500, which, in the majority
of the cases stand for 18 years of data between January 20 0 0 to
the ﬁrst semester of 2018, that can be divided into, approximately,
12.5 years of training and 5.5 years of testing, being the point in
between both in mid-2012.
The developed algorithm is able to simulate all test scenarios
and the quantity of parameters it gives for user to choose, specially the ones referring to the evolutionary algorithm, opens up
the possibility of many to be tested depending on the needs of the
The Fixed Size Grid of Weights proved to overcome some stateof-the-art solutions under the same parameter speciﬁcation in several aspects, especially regarding the overall returns over the testing period, which enhanced the robustness of our approach combining the best features of existing strategies into an improved solution. Various variants of the proposed strategy were also tested
in order to draw some conclusions about how results react to
changes in some parameters, yet the majority of them still beat
the traditional approach.
From a managerial insight, the use of this automated system
follows the work culture of a modern stock trader as: (1) it has a
back testing ability and actually relies on a Genetic Algorithm to
ﬁt the grid of weights using past market data; (2) it allows the
preservation of discipline even in volatile conditions of the market
as it relies on a predeﬁned strategy that only allows market entrances when the grid score reaches a threshold value meaning a
pattern identiﬁcation and leaves the market also according predeﬁned margins; (3) it maintains consistency as it only relies on the
algorithm rules (which do not change over the course of time) and
the current state of the market to create buy/sell signals; (4) uses
a diversiﬁed trading with a portfolio containing 100 stocks from
S&P 500, minimizing the risk factor by spreading the same amount
over various positions.
Declaration of Competing Interest
The authors declare that they have no known competing ﬁnancial interests or personal relationships that could have appeared to
inﬂuence the work reported in this paper.
Credit authorship contribution statement
Tiago Mousinho Martins: Conceptualization, Formal analysis.
Rui Ferreira Neves: Conceptualization, Formal analysis.
This work is funded by FCT/MCTES through national funds
and when applicable co-funded EU funds under the project
UIDB/EEA/50 0 08/2020.
Almeida, B., Neves, R., & Horta, N. (2018). Combining support vector machine with
genetic algorithms to optimize investments in forex markets with high leverage.
Applied Soft Computing, 596–613.

Arévalo, R., García, J., Guijarro, F., & Peris, A. (2017). A dynamic trading rule based
on ﬁltered ﬂag pattern recognition for stock market price forecasting. Expert
Systems with Applications, 177–192.
Bäch, T. (1996). Evolutionary algorithms in theory and practice. New York, USA: Oxford University Press.
Brooker, L. B. (1982). Intelligent Behavior as an Adaptation to the Task Environment.
Doctoral Dissertation. University of Michigan.
Canelas, A., Neves, R., & Horta, N. (2013). A SAX-GA approach to evolve investment
strategies on ﬁnancial markets based on pattern discovery techniques. Expert
Systems with Applications, 1579–1590.
Cervelló-Royo, R., Guijarro, F., & Michniuk, K. (2015). Stock market trading rule
based on pattern recognition and technical analysis: Forecasting the DJIA index
with intraday data. Expert Systems with Applications, 5963–5975.
Chang, T., Yang, S., & Chang, K. (2009). Portfolio optimization problems in different risk measures using genetic algorithm. Expert Systems with Applications,
Chatzis, S.
P., Siakoulis, V., Petropoulos, A., Stavroulakis, E., & Vlachogiannakis, N. (2018). Forecasting stock market crisis events using deep and statistical
machine learning techniques. Expert Systems With Applications, 353—371.
Cioppa, A. D., Marcelli, A., & Napoli, P. (2011). Speciation in evolutionary algorithms: Adaptive species discovery. GECCO ’11 Proceedings of the 13th annual
conference on Genetic and evolutionary computation, 1053–1060.
Deb, K. (1989). Genetic Algorithms in Multimodal Function Optimization. Master’s
Thesis. University of Alabama, USA.
Fama, E. F. (1970). Eﬃcient capital markets: A review of theory and empirical work.
The Journal of Finance, 383–417.
Floreano, D., Dürr, P., & Mattiussi, C. (2008). Neuroevolution: From architectures to
learning. Evolutionary Intelligence, 47–62.
Fu, T., Chung, F., Luk, R., & Ng, C. (2007). Stock time series pattern matching: Template-based vs rule-based approaches. Engineering Applications of Artiﬁcial Intelligence, 347–364.
Fu, T., Chung, F., Luk, R., & Ng, C. (2008). Representing ﬁnancial time series based on
data point importance. Engineering Applications of Artiﬁcial Intelligence, 277–300.
Gan, J., & Warwick, K. (1998). A genetic algorithm with dynamic niche clustering for
multimodal function optimization. In Proceedings of 4th International Conference
on Artiﬁcial Neural Networks and Genetic Algorithms (pp. 248–255).
Goldberg, D. E., & Richardson, J. (1987). Genetic algorithms with sharing for
multimodal function optimization. In Proceedings of the Second International
Conference on Genetic Algorithms on Genetic algorithms and their application
(pp. 41–49).
Gorgulho, A., Neves, R., & Horta, N. (2011). Applying a GA kernel on optimizing technical analysis rules for stock pricing and portfolio composition. Expert Systems
with Applications, 14072–14085.
Holland, J. H. (1992). Adaptation in natural and artiﬁcial systems: An introductory
analysis with applications to biology, control and artiﬁcial intelligence. Cambridge, MA, USA: The MIT Press.
Huang, Y. P., & Yen, M. F. (2019). A new perspective of performance comparison
among machine learning algorithms for ﬁnancial distress prediction. Applied
Soft Computing Journal 83.
John, J. J. (1999). Technical analysis of the ﬁnancial markets: A comprehensive guide
to trading methods and applications. New York, USA: New York Institute of Finance.
Kearney, W. T. (2016). Using Genetic Algorithms to Evolve Artiﬁcial Neural Networks. Honors Thesis in Computer Science. Colby College, USA.
Kim, S. H., Lee, H. S., Ko, H. J., Jeong, S. H., Byun, H. W., & Oh, K. J. (2018). Pattern matching trading system based on the dynamic time warping algorithm.
Sustainability 2018, 1–18.
Leigh, W., Paz, N., & Purvis, R. (2002). Market timing: A test of a charting heuristic.
Economics Letters, 55–63.
Leitão, J., Neves, R., & Horta, N. (2016). Combining rules between PIPs and SAX to
identify patterns in ﬁnancial markets. Expert Systems with Applications, 242–254.
Miller, B., & Shaw, M. J. (1996). Genetic algorithms with dynamic niche sharing for
multimodal function optimization. IEEE International Conference on Evolutionary
Computation, 786–791.
Mitchell, M. (1996). An introduction to genetic algorithms. London, England: The MIT
Ni, J., & Zhang, C. (2005). An eﬃcient implementation of the backtesting of trading
strategies. Lecture Notes in Computer Science, 126–131.
Parracho, P., Neves, R., & Horta, N. (2011). Trading with optimized uptrend and
downtrend pattern templates using a genetic algorithm kernel. IEEE Congress
of Evolutionary Computation, 1895–1901.
Schaffer, J. D., Whitley, D., & Eshelman, L. J. (1992). Combinations of genetic algorithms and neural networks: A survey of the state of the art. In COGANN-92:
International Workshop on Combinations of Genetic Algorithms and Neural Networks (pp. 1–37).
Silva, A., Neves, R., & Horta, N. (2015). A hybrid approach to portfolio composition
based on fundamental and technical indicators. Expert Systems with Applications,
Stanley, K. O., & Miikkulainen, R. (2002). Evolving neural networks through augmenting topologies. Evolutionary Computation, 99–127.
Werbos, P. J. (1974). Beyond Regression : new tools for prediction and analysis in
the behavioral sciences. PhD Thesis. Harvard University.


Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: text/html

WARC-Type: response

text:
Cover Reveal & Giveaway: Laced with Fear (Cash Bar #1) by Hayley Faiman

Posted April 4, 2018 by bookstobreathe in Cover Reveal, Giveaway / 0 Comments

Cover Reveal & Giveaway: Laced with Fear (Cash Bar #1) by Hayley FaimanTitle: Laced with Fear
Author: Hayley Faiman
Series: Cash Bar #1
Publisher: Self-Published
Release Date: April 23, 2018
Genre: Erotic Romance, MC Romance
More Info: Goodreads
Purchase: Amazon US
Purchase: Amazon UK
Purchase: Amazon CA
Purchase: Amazon AU
Ginger knows evil. She’s looked it straight in the eye. Now, she is determined to overcome her fears—one day at a time.

Her life began again, with a second chance at love.

Snake, the president of the Notorious Devils, understands guilt. Every time he looks at his pregnant wife, that guilt threatens to consume him.

He’s a new man now. A changed man—or at least that’s what he tells himself.

Title: Laced with Fear

Series: Cash Bar #1

Genre: Erotic MC Romance

Author: Hayley Faiman

Release Date: April 23, 2018

a Rafflecopter giveaway

About Hayley Faiman

As an only child, Hayley Faiman had to entertain herself somehow. She started writing stories at the age of six and never really stopped.

Born in California, she met her now husband at the age of sixteen and married him at the age of twenty in 2004. After all of these years together, he’s still the love of her life.

Hayley’s husband joined the military and they lived in Oregon,where he was stationed with the US Coast Guard. They moved back to California in 2006, where they had two little boys. Recently, the four of them moved out to the Hill Country of Texas, where they adopted a new family member, a chocolate lab named Optimus Prime.

Most of Hayley’s days are spent taking care of her two boys, going to the baseball fields for practice, or helping them with homework. Her evenings are spent with her husband and her nights—those are spent creating alpha book boyfriends.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

warcinfo:
isPartOf: CC-MAIN-2020-10
publisher: Common Crawl
description: Wide crawl of the web for February 2020
operator: Common Crawl Admin (info@commoncrawl.org)
hostname: ip-10-67-67-36.ec2.internal
software: Apache Nutch 1.16 (modified, https://github.com/commoncrawl/nutch/)
robots: checked via crawler-commons 1.1-SNAPSHOT (https://github.com/crawler-commons/crawler-commons)
format: WARC File Format 1.1
conformsTo: http://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/


text:
Cooked - Michael Pollan

Cooked Summary

Written By Michael Pollan

Readers Score: 3.5/5
Rated by 247 Readers

Cooked Book Summary

In Cooked, Michael Pollan explores the previously uncharted territory of his own kitchen. Here, he discovers the enduring power of the four classical elements—fire, water, air, and earth—to transform the stuff of nature into delicious things to eat and drink. Apprenticing himself to a succession of culinary masters, Pollan learns how to grill with fire, cook with liquid, bake bread, and ferment everything from cheese to beer.

Each section of Cooked tracks Pollan’s effort to master a single classic recipe using one of the four elements. A North Carolina barbecue pit master tutors him in the primal magic of fire; a Chez Panisse–trained cook schools him in the art of braising; a celebrated baker teaches him how air transforms grain and water into a fragrant loaf of bread; and finally, several mad-genius “fermentos” (a tribe that includes brewers, cheese makers, and all kinds of picklers) reveal how fungi and bacteria can perform the most amazing alchemies of all. The reader learns alongside Pollan, but the lessons move beyond the practical to become an investigation of how cooking involves us in a web of social and ecological relationships. Cooking, above all, connects us.

The effects of not cooking are similarly far reaching. Relying upon corporations to process our food means we consume large quantities of fat, sugar, and salt; disrupt an essential link to the natural world; and weaken our relationships with family and friends. In fact, Cooked argues, taking back control of cooking may be the single most important step anyone can take to help make the American food system healthier and more sustainable. Reclaiming cooking as an act of enjoyment and self-reliance, learning to perform the magic of these everyday transformations, opens the door to a more nourishing life.

Check if available

About the book:

Cooked is a Social Science book, written By Michael Pollan. As a testament to the Book's popularity, it has gathered a rating of 3.5 out of a possible 5 Stars, on Reviews by 247 Readers who strongly recommends this book.

You can get the book for $13.99 on Amazon or on Apple iBooks for similar price

Best Video Summaries of Cooked By Michael Pollan


text:
Boston Scientific Connected Patient II — Big Data Challenge (#CPCBigData)

Live Stream

The live stream of the Connected Patient Challenge II will begin at 6:30PM EST on Thursday, March 9, 2017.

If you cannot see the video above, you can watch it directly on YouTube at this link:

Want to stay updated? Follow Contest & Create Submissions


text:
Posted by

Our friend Andy moves in to his new place and he is greeted with a box of Bourbon Cookies. Watch the video below and then follow the recipe below it.

Mary’s Bourbon Currant Cookies

1 cup (2 sticks) butter, softened
1 cup sugar
2 large eggs
3 cups sifted all-purpose flour, plus more for work surface
1/2 cups of bourbon
1/2 cup dried currants
4 tablespoons heavy cream

Soak currants in bourbon

1.) Preheat oven to 350 degrees. Cream butter and sugar until smooth and well combined. Add more bourbon to the currant/bourbon mixture, to make 1/2 cup (this will depend on how long you let the currants soak). Add to to the butter sugar mixture along with 1 egg and 3 cups flour. Mix until well combined.

2.) Roll out dough on a lightly floured work surface to 1/4 inch thick. Cut into desired shapes, or drop by the tablespoon full onto lined cookie sheet (parchment or silpat work the best)

3.) Whisk together remaining egg and cream in a small bowl. Brush cookies with egg wash.

4.) Bake until pale golden brown, about 13-15 minutes. Remove to a wire rack to cool.

5.) enjoy 🙂

Comments are closed.


text:
Latches for cabinets aren’t quite as common as they were about a 100 years ago because of improved hinge technology, but you can still find a variety of latches and catches for keeping cabinets closed. A latch is mounted to the outside of a cabinet, and typically features two pieces: a mechanism with a turn or a lever on one side that controls the "tongue" of the latch, and a "shell" with a cavity to house the tongue on the other side. On the other hand, cabinet catches are usually installed on the inside of a cabinet, making them invisible from the exterior, and can consist of a magnet, a clip, or a ball that holds the door closed unless a certain amount of force is applied to open it.
You may also have seen cabinets that are so modern and minimalist that they have no knobs or pulls whatsoever—and they look like they’re impossible to open! The trick is, in fact, a mechanism with a spring located on the inside of the cabinet. When you push on the corner of a cabinet, you compress and then release the spring, which in turn pops the cabinet open. In order to close the cabinet, you simply push it closed until you hear the little "click" that means the spring is back in its locked position.
The style of cabinet hardware you pick will depend a great deal on the style of your kitchen, and also on the kind of cabinets you choose. Traditionally styled cabinets with more intricate face profiles call for traditional hardware: Cabinets with more simply styled or completely flat faces look best with minimal, streamlined knobs and pulls. Some very modern cabinets don’t require hardware at all: Instead, they have grooves on the edges of the door, or open by push latches.
I would like to use a hinge similar to the wrap around no mortise Amaroc 3175s but am disappointed to learn the poor reviews ….sloppy….bent…flimsy…not worth it…low qc import. Perhaps they were better in the past! I would be most greatful if you could recommend a better quality hinge of that style. Alternatively,Can the full inset euro cup hinge be adapted to a face frame cabinet by building out the inside lip ^
Sandra, I’m so glad that I came across your blog! You’ve given so much great information that I can use every day in my job doing kitchen cabinet sales. And then there’s the whole DIY part for me personally! I’m really hoping that you can answer my question, though. I have a customer who is refacing her cabinets. She has frameless cabinets and used to have exposed hinges. She wanted concealed hinges so we had the hinge holes drilled 1″ (center) from the edge. She has her new doors but when she hangs them, there’s a 1/4″ gap between the door and center stile, even after adjusting them. We were using full overlay hinges. Can you advise which type of overlay hinge to use and how to rectify the gap? Thanks so much!

Handles are sold by the center to center measurement(1). Center to center can be spelled out or the universally known “C/C” could be used. Knobs are sold by the diameter(4) of the knob.The measurement could be in inches or millimeters (MM) CabinetParts has both measurements listed for your convenience. (Tip: to convert millimeters to inches use this formula: MM ÷ 25.4)Here is a diagram showing how these are measured:The overall length(2) and the projection(3) are offered when they are available from the manufacturer.Choosing a finish is going to be entirely up to you. Maybe your cabinets need a satin nickel look for a more modern look or maybe you are in the mood for flat black finished hardware for a more southwestern feel, or maybe weathered copper is your fancy. There are many, many choices for finish to make your kitchen look like a million bucks.The type of handle or knob will depend on what you like or maybe the motif of the rest of the room or house. There are modern, eclectic, or traditional looks and more.Most collections will have a pull and a knob that “match” so you can have the same finish throughout the room. You do not always have to choose pieces from the same collection, just remember to always choose the finish from the same manufacturer. Even though different manufacturers may have finishes that have the same name, they will often vary in the color and shade.These choices will be among the most important of the entire project. A knob and pull will put the finishing touch on the project and be one of the first things people will notice.Sometimes the hardware is noticed before the color or type of cabinet or door.Here is a listing of all of the manufacturers CabinetParts.com offers: Top Konbs, Amerock, Schaub and Co, Atlas Homewares, Notting Hill, Berenson, Jeffrey Alexander, Century Hardware, Hickory Hardware, Laurey Hardware, Liberty Hardware, Elements, Stone Mill Hardware, Hafele, R. Christensen, MNG Hardware, Acorn Mfg.Some of the companies listed above also offer Bath Hardware and Decorative Home Accents that may help complete a project.
Hello Mr. TretheweyMy name is terry cotto, when we built our beautiful home 16 years ago, in Sierra Madre Ca I had my claw tub installed,( my child hood remembrance) It appears, that the claw legs of the tub were not installed properly, and one leg fell off , tub was slightly tipping to the right. I had a handyman come over and reinstall the claw legs, tighten so this would not happen again. The other day, while I was bathing I noticed the seal of the drain on the outside rubber was not laying properly, plus it was leaking, ( I think this was due to the leg falling off and unbalancing the ring. Well, now I really don't know what to do about that. I believe the thing to do is remove the cover off the top drain , ok, but than what do I have to move the claw tub, impossible. How do I replace the rubber of the outside of the top drain pipe, it appears to be brittle. (Not good)Please answer my questions, and I will hire the handy man again to help me. Thank you. I have learned so much from T.O.H weekly shows, I am a loyal fan at 75. I tell my 80 year old husband, you need to watch these shows with me, and we can do it ourselves, the right way. God Bless you all for the great job your doing, I need to know how to do it right, so it doesn't happen again. a picture would be good, I can see exactly how its done?
Diane, this is so exciting! I can relate as I had a makeover much like yours ( from 70’s brown cabinets to white painted, but pulls are also painted….black.) that was 5 years ago and we are now in the process of making over a back bedroom into a walk-in closet and part of a bathroom/vanity area. I feel as though I should have taken pictures of the progress and posted blogs! I cannot wait for the finished product. I KNOW you must be feeling the same way about the beautiful kitchen you are creating…

By adding hardware you like, you’re literally installing your style into the room — and this will make any accessories you want to add in feel like a part of the kitchen’s design, and not out of place. Of course, not every cabinet + hardware combo is going to work, but see how far you can take it when it comes to choosing hardware outside the traditional style of the cabinets.
Installing new hinges can be easy, but only when choosing the correct cabinet hinge upgrade. The door style, door thickness, and hinge type, all play a role. Once this information is obtained, you should be able to find a soft-close hinge that is a direct retrofit to the existing hinge, or choose one of the many independent dampers and keep your current hinges.
New cabinet door hinges are costly, and you can save a substantial amount of money by repainting old hinges yourself. The preparation work will be the most time-consuming part of the process, but skipping this step could cause you more work later. Don't waste time using all-purpose primer; use a rust-inhibiting metal primer to ensure that the paint adheres. A top-quality paint will give the hinges a professional-looking finish.
Solid brass, bronze and stainless steel knobs are durable and long lasting, even under heavy use. If elegance is your thing, then opt for knobs made of crystal or marble to take your cabinet décor to the next level. These materials look sophisticated and classy. This simple change of replacing cabinet knobs is easy to implement on your own, and it will cost a whole lot less than replacing your cabinets entirely.
Consult with a contractor or a knowledgeable salesperson about which hinges will work with your doors. If your doors are flush with the cabinets, butt hinges can be used. They are lower in price than others but do not self-close. European hinges are installed on full overlay, frameless or inset doors. They are widely used because of their ease of installation and ability to be adjusted once in place. These hinges self-close. Partial wraparound hardware will support larger doors, but it does not self-close. Several other types hinges are available. The construction of your door, ease of installation and price will need to be considered. .

At one point I considered trying to update the cabinets with more modern hidden hinges, but after some research I realized that isn’t possible for all cabinet styles and can also be pretty costly.  So instead, I started making a plan to update the older-style hinges we already had.  They started out an aged brass finish.  And not a beautiful antique brass, but more like brass that had been soaking up kitchen grease for 40 years.  Not exactly what I wanted to use on my ‘new’ white cabinets.
Ceramic knobs bring such charm to your kitchen. They’re reminiscent of a sweet country cottage, or an old world farm house. It’s not hard to imagine the scent of a freshly baked pie or loaf of bread cooling in the window. Ceramic knobs pair quite nicely with natural wood finishes and glass hutch cabinets. Wether you choose plain white or a funky pattern, ceramic knobs give your kitchen a homey flair.

Cabinet hardware sizes can vary depending on your own personal design preferences, but you’ll want to choose a size that is both stylish and functional. Bar pull sizes are generally determined by the “center-to-center” measurement (the distance between the two screw holes). If you have pre-drilled cabinetry, you’ll need to buy hardware that fits the existing center-to-center measurement. Otherwise, you’re left to your own devices in choosing the size of your cabinet hardware. Here are a few general guidelines to follow:
Getting the right finish for your kitchen cabinets can make the difference between a good and a great space. The right finish offsets other design choices in your kitchen. For example, you can match your appliances to your hardware finish to create a sophisticated, coordinated look. Alternatively, you can use your kitchen cabinet hardware finishes to show off your fun-loving personality, choosing a bright metal or unique design.

Fantastic, right?  Now, think about how much busier the cabinets would look if they still had the exposed hinges.  Granted, with polished chrome hardware, it would minimize the hinge effect, but suppose you like oil rubbed bronze hardware?  Exposed hinges of that variety would really stand out against the clean white cabinets.  Having hidden hinges gives you the freedom to change hardware on a whim.

For Shaker-style cabinets, look for hardware like small round knobs or hardware that feels organic to the craftsman style. I like the idea of brushed nickel or brass for this style of cabinetry. With modern fronts, choose hardware with a sleek and simple design, think matte black or stainless steel, or don’t be afraid to ignore hardware all together and have a custom groove built-in. When planning for a more traditional approach, push the boundaries in your hardware and look for more ornate knobs.


text:
DF140ATX - MSRP $14,729

DF140ATX - MSRP $14,729

140, DF140, Suzuki, suzuki outboard, 140hp, four stroke, 4-stroke

The Suzuki DF140A is light and compact while providing exceptional performance, easily giving this motor the best power-to-weight ratio in its class. An engine cover design features a large air induction port to provide maximum airflow and thus, maximum power. It's also the first 4-stroke to utilize an oil cooler, ensuring that all that horsepower is available under every condition. Added up, the DF140A provides heavy-duty performance and long-lasting durability in a lightweight package.

With acceleration and manoeuvrability high on the list of priorities it is no surprise that the DF140A, with its excellent power to weight ratio, was the model selected for use at the London 2012 Olympic & Paralympic Games Sailing Regatta.

Go Lean, Clean and Green, Go Suzuki!

6 Year Suzuki Warranty.

Contact us for current pricing


text:
Good and Bad News

There are a lot of things going on in our area right now.  Some good, some bad.  Let’s do the bad first.

Jefferson City and Eldon were hit hard last week by a tornado.  We volunteered and helped with the clean up as much as we could on Saturday.  It is amazing to see what destruction a tornado can do.  I am still amazed how an entire house can be destroyed, with the roof and walls gone, yet a fish tank sets undisturbed in the center of the home.  Trees with root bases as wide as 5 feet were set over like a bowling pen.  In a matter of seconds to minutes people lives were changed.  How one processes this, I hope to never know.  We hope and pray that our neighbors are sheltered safely soon and can move on with their lives.

Then, the flooding.  Jefferson City again along with our neighbors all over the state are dealing with flooding the likes that was seen in 1993.  Many of you do not remember this, as you were to young.  Those of us that do, water can be just as destructive as the tornado, just in different ways. We again hope that our neighbors are safe and the waters will recede soon to allow everyone to return to safe environments.

If you can help in anyway with the tragedies that have effected those close to us, please call or go onto the United Way website.  They are organizing efforts of volunteers.

Good news—  Kelly is now walking completely in her boot without her scooter.  She is progressing nicely and our hope is that she will be able to get out of the boot soon.  It has been a long process for her and she has weathered some pretty rough patches in the healing of her ankle/foot.

Tammy’s youngest child graduated from high school this past weekend!  WOW–it just seems like yesterday her oldest was starting.  Her babies are certainly all grown up.

Missy has new “grandkittens”.  Her daughter adopted 2 kittens that are adorable.  Missy is very proud of them and shows us pictures often 🙂

As for Melissa and I.  Nothing to exciting over the last few weeks.  Sometimes its good to have normal.


text:
Asian beetle and box elder bugs

Friday, October 25, 2019

250 Voices

Boxelder bugs, which are often drawn to boxelder and maple trees, are known for congregating in large groups. Fortunately, there are steps you can take to get rid of the bugs and discourage them from coming back. Did You Know? Boxelder bug swarms are commonly found on the south and west sides of homes because these walls are warmed by the sun throughout the day. To get rid of outdoor boxelder bugs, fill a spray bottle with water and liquid dish soap and spray the bugs to kill them.
fresh teen ass teaganfree teen online porn

7 Super Easy Ways to Get Rid of Asian Beetles

puffy nipples tight pussieslekker neuken nu body to body massage almeremaryam xxxbbw seeking friend maybe more in pool

7 Super Easy Ways to Get Rid of Asian Beetles - Pest Wiki

Not available for purchase online. Please visit a Menards store for information and to purchase. Currently not available for online purchase. View Return Policy. The two-way action sprayer gives a fan spray or a jet stream that sprays up to 25 feet. By spraying a band about 3 feet out on the ground and 3 feet up, all around the foundation, you will help prevent box elder bugs from hibernating in your outdoor walls.
nurse luanne hill sexy assenjoy habesha sex filmindian freedoom firght jalian walabag phots

Boxelder bug

Many people complain that every fall, they find dozens of red and black bugs sunning themselves on their homes. Some even find their way inside. If you have these bugs, you may spend the whole winter trying to get rid of them. What are they, and how can you keep them out of your house? Box elder bugs, true bugs belonging to the order Hemiptera , are known for invading homes as the temperatures begin to drop.
www hanime
toon bear pornsexe and amateur and div classwomen seeking sex partners in las lajaswife awkward naked teen girl
Boxelder bugs get their common name because they are often found on boxelder trees. They are native to the western U. They become a nuisance when they congregate on or enter homes, sheds, and garages in the fall and again when they emerge in the spring.
gay bondage porn
Add a comment:

Hot Porn Videos


WARC-Identified-Payload-Type: application/xhtml+xml

text:
Ian Boden

We all need to raise our standards in 2020

Increasing professionalism has been a consistent theme across the property sector in recent years.

It’s no secret that the authorities want to see more professionalism among landlords. This also hasn’t been limited to tax changes to put off the ‘dinner-party landlords’, such as the higher rate of stamp duty on additional purchases and changes to tax reliefs.

This has been reinforced by factors such as the licensing for houses in multiple occupation (HMOs).

There are yet more changes still to come, too. Back in April 2018, rules were introduced which forced landlords to ensure that properties had a minimum energy performance rating of ‘E’ for all new lets and renewals of tenancies.

This is being extended from 1st April 2020 to cover all existing tenancies too, and if a landlord fails to meet those requirements, they will be subject to a penalty of up to £4,000.

The message to landlord borrowers is clear: letting out a property needs to be treated seriously and not just as a money-making sideline.

Higher expectations for brokers

It’s not just landlords that are being pushed to raise their game, though. Just as landlords have higher expectations to meet in order to stay on the right side of the rules, so too do brokers have a bigger role to play in terms of the advice offered.

It’s not unusual for lenders in this market to see cases which are really HMOs, but this fact not reflected in the application. For whatever reason, neither the landlord nor the broker has grasped this.

This doesn’t just have an impact on their financing options. There are different legal requirements and responsibilities for landlords letting out HMO properties compared with, for example, a traditional two-bedroom house. What’s more, it’s worth recognising that the new rules regime is not filled with empty threats.

There is a real opportunity, therefore, to provide a little more expertise and guidance, and for brokers to help their clients avoid what may end up being costly oversights. It’s not enough for brokers to find out about these standard changes months after they have been introduced — as an industry, advisers need to be on the front foot, fully informed about what is changing well in advance.

This isn’t isolated just to HMO cases. As rules change across the board for borrowers, the best brokers resist merely taking orders and instead deliver a level of advice that ensures their clients end up in the best possible financial position.

We can’t just expect intermediaries to do this on their own, either. As an industry, there is far more that we can all do to help educate brokers on important developments and arm them with the tools they need to provide their clients with the most comprehensive advice possible.

Setting the standard

Lenders have more work to do in improving our standards, too. As a lender, we are committed to not just delivering the minimum expected, but actually leading the charge in raising those expectations.

For five straight years, the European credit rating agency ARC Ratings has awarded us with its highest possible grading for our loan servicing, while we ensured that the portfolio of assets included in our first securitisation earlier this year was of a suitably high standard to be awarded a AAA rating by Moody’s and Fitch.

Our drive is to work with more mortgage clubs, having already partnered with SimplyBiz, Paradigm, MCI and Brilliant Solutions. These partnerships reflect our desire to offer a better service to brokers and their clients to improve the way we deliver the funds they need.

In this hyper-competitive market, brokers and lenders alike need to be at the forefront when it comes to improving the standards of what we offer. Standing still may as well be going backwards — we all need to focus on keeping on top of what’s changing and developing new and improved ways to work.

Sign up to our newsletter to receive more news like this story

I accept that by joining the B&C mailing list, I will receive relevant news and promotional material via B&C on behalf of its partners and advertisers. Your data will not be passed on to any third party.
No, thanks, just the news please.

Leave a comment