6. Evolutionary Optimisation Experiments...6 Evolutionary Optimisation Experiments 189 USD/DEM...
Transcript of 6. Evolutionary Optimisation Experiments...6 Evolutionary Optimisation Experiments 189 USD/DEM...
188
6. Evolutionary Optimisation Experiments
6.1 Experimental Set-up
6.1.1 High-Frequency Foreign Exchange Data
We base our experiments on hourly sampling of foreign exchange (FX) prices in the ‘over-the-counter’
(OTC) spot market. As it is a global, 24-hour day market and our model trades intraday, there is no daily
fixing. We sample the ‘Bid’ quote every hour, on the hour, but delete any price point after 21:00pm Friday
evening and before 24:00pm Sunday night (0:00am Monday morning), resulting in a 117-hour model-
trading week. The two months sampled, January and February of 1997 yielded a 1005-point stream for
each currency pair. The momentum-MVA signal models use the initial 150 points as ‘warm-up’ data to
‘prime’ the MVA series. The last 30% of the remaining 855 price points is partitioned off as a ‘TEST’
set1, leaving about six hundred price points (599 to be exact) as the ‘OPTM’ set to guide our evolutionary
optimisation, i.e. a 70:30 in-sample/out-sample split. Each trading model solution is evaluated against
both data periods. In the result tables, out-sample figures obtained during ‘TEST’ is given in round
brackets.
Each currency pair has an associated measure of slippage. For highly active markets such as USD/DEM,
USD/JPY, USD/CHF, and DEM/JPY, the slippage is taken to be about 0.04%-0.05% to the mean level,
which translate to 0.0007, 0.05, 0.0006, and 0.03 (7 pips, 5 pips, 6 pips, and 3 pips), respectively, for the
three highly active USD FX rates and one highly active ‘cross’ rate under study. Here we are already on
the conservative side, as our spot dealers can generally quote, say, USD/DEM in 3-pip spread on any
order up to $10 million, and 5 pips thereafter. So in reality we should be able to execute the model-trading
transactions on USD/DEM well inside 7 pips of the model-input price.
1 We have slightly contaminated our use of the ‘TEST’ data set. In the unlikely event that two different trading models return exactly the same ACG number w.r.t. the ‘OPTM’ data period, then their ACG numbers on the ‘TEST’ data period are used as tie-breaker (should these numbers also match exactly, then the effective total number of ‘active’ signal models is used as a second tie-breaker, the smaller the effective signal-ensemble size, the better). Moreover, all data points (‘warm-up’, OPTM and TEST) are used to calculate the long-run price-series average, used in the calculation of the ACG number. But this in no way effect the relative performance evaluation for different solutions.
6 Evolutionary Optimisation Experiments
189
USD/DEM
USD/DEM Hourly Bid Prices (1/1-28/2/97)
1.52
1.54
1.56
1.58
1.6
1.62
1.64
1.66
1.68
1.7
1.72
1 31 61 91 121
151
181
211
241
271
301
331
361
391
421
451
481
511
541
571
601
631
661
691
721
751
781
811
841
871
901
931
961
991
hourly increment
pri
ce
USDDEM
Figure 6-1: USD/DEM data
USD/JPY
USD/JPY Hourly Bid Prices (1/1-28/2/9)
114
116
118
120
122
124
126
1 30 59 88 117
146
175
204
233
262
291
320
349
378
407
436
465
494
523
552
581
610
639
668
697
726
755
784
813
842
871
900
929
958
987
hourly increment
pri
ce USDJPY
Figure 6-2: USD/JPY data
Evolutionary Optimisation and Financial Model-Trading
190
USD/CHF
USD/CHF Hourly Bid Prices (1/1-28/2/97)
1.32
1.34
1.36
1.38
1.4
1.42
1.44
1.46
1.48
1.5
1 31 61 91 121
151
181
211
241
271
301
331
361
391
421
451
481
511
541
571
601
631
661
691
721
751
781
811
841
871
901
931
961
991
hourly increment
pri
ce
USDCHF
Figure 6-3: USD/CHF data
DEM/JPY
DEM/JPY Hourly Bid Prices (1/1-28/2/97)
70
71
72
73
74
75
76
1 31 61 91 121
151
181
211
241
271
301
331
361
391
421
451
481
511
541
571
601
631
661
691
721
751
781
811
841
871
901
931
961
991
hourly increment
pri
ce
DEMJPY
Figure 6-4: DEM/JPY data
6 Evolutionary Optimisation Experiments
191
6.1.2 Supplementary Model-Trading Statistics
To recap our cumulative gain calculation. Each time our trading model indicates a different market
position than currently held, we determine how many units of trading notional is required to alter our
current holding, e.g. -1.5 to go from ‘Half-Long’ to ‘Short’. This market action variable, multiplied to the
prevailing price point, gives us the cash outlay needed to maintain the new market position, i.e. per unit of
model-trading notional. The negative of the cash outlay, minus the per notional unit cost of slippage (i.e. 7
pips for every unit of notional traded on USD/DEM in either direction) contributes to the running
cumulative gain figure. Our trading model performance measure, the annualised cumulative gain
percentage (ACG) number is calculated by dividing the cumulative gain by the long-run price average and
annualising it. The annualisation is based on the number of data points, where we work on a basis of 5610-
model trading hours per year, i.e. fifty 117-hour weeks per year minus ten 24-hour holidays.
While the evolutionary optimisation is driven by ACG, we also collect other model-trading performance
related statistics to keep tap of its ‘trading behaviour’. These are: the Number-of-Trading-Signals (NTS)
statistic, listed in the column marked #Signals; the non-annualised cumulative period gain in pips (CPG)
and the non-annualised cumulative gain percentage numbers (CGP), listed in the columns marked
CumPrdGain and CumGain%, respectively; the Percentage-Signal-Positive (PSP) statistic (the number of
position changes leading to positive ‘gain-on-position’ divide by the total number of position changes,
multiplied by 100), listed in the column marked %SigPositive; the Gain-to-Loss-Ratio (GLR) statistic
(average of the positive ‘gain-on-position’ numbers divided by minus the average of the negative ‘gain-on-
position’ numbers, denoted ‘∞∞∞∞’ if the trading model takes only positive position(s) during the period),
listed in the column marked Gain-to-Loss; and finally the Gain-per-Trading-Signals (GTS) statistic (CPG
divides by NTS), listed in the column marked Gain/Signal.
Examining these statistics gives us a fuller picture on the how and why a particular trading model works
well or poorly in a given market over a particular period. For instance, suppose that over a particular
period the market strongly trends in only one direction, perhaps even regresses nicely along a linear, say,
upward trend. In such a circumstance, any trading model which naively goes in ‘Long’ at the very
beginning and only ‘Square out’ when required to, i.e. at the end of the period, would generally out-
perform a more ‘active’ trading model with many transacted position changes, the latter having to suffer a
number of slippage penalties along the way. Given that the situation where the FX price-series rallies, or
‘runs away’, ‘monotonically’ is the exception, rather than the rule, we would be hesitant to put much
emphasis on the naive model’s impressive ACG number. We can easily spot such a serendipitous model-
trading opportunity by a 100% correct signal out of a total of one position change!
Furthermore, it is also possible that a trading model may take many loss making positions and generate
very few positive gain-on-positions, and still end up with a positive P/L. This can happen if the infrequent
profit-generating signals yield significantly gain-on-positions which more than made up for the frequent
loss-generating signals. This situation manifests itself as a trading model with very low PSP statistics but
Evolutionary Optimisation and Financial Model-Trading
192
with GLR much higher than unity.
In fact, it is possible to integrate these supplementary performance statistics with the ACG, i.e. via a
Multi-Criteria Decision Model (MCDM) [Chankong & Haimes 1983] framework. Similarly, just as
there are OPTM and TEST period ACG figures, we could partition the data set into (possibly overlapped)
segments, and consider the ACG or whatever performance figure for each segment to be separate
criterion, thereby using MCDM to address the non-stationary feature of a solution-function whose
performance is evaluated against a time-domain data. These are outside our framework which seeks to
address the combinatorial-parametric and variable size genetic representation issues.
6.2 Experimental Hypotheses
We have devised two sets of experiments. The first set tests the validity and merit of POP’s ability to
evolve a ‘heterogeneous’ population, where we do not know a priori which one signal model class our
optimal solution trading model will turn out to be. The second set tests the validity and merit of PAD’s
ability to model and implement combinatorial-parametric TMP solutions within an EO algorithm. There
we let the EO algorithm search over the model-trading signal-ensemble’s class combination vector space
as well as the individual signal models’ function-parametric spaces. Formally, both parts test our
framework’s ability to solve the TMP:
max
: ,
: ,
Φ
Θ Θ
Θ Θ
ACGk j
nj k
t
k
n N
= =⊕ ⊕
=
⊆
⊆
Dum
M3E
M3L M2LM2L M3L
M3E M2EM2E M3E
subject to
where
1o
1
k k
k k
(1)
but whereas the ensemble size N n nt kk
≡ ==∑1
Dum
M3E is restricted to N = 1 in the first set of
experiments, the second set of experiments considers N = 4 and N = 8 .
In the following context, the term ‘parametric benchmark’ will refer to a function-parameter optimisation
problem where we pre-specify the choice(s) of signal model class(es) within the model-trading signal-
ensemble. In other word, the class combination vector is fixed as a problem-defined constant. These
parametric benchmark problems are evolutionarily optimised, i.e. in a classical GA manner. This is
achieved by letting the phenotype-arrays undergo evolution in a ‘classical GA mode’. That is, we (i)
initialise all the signal-ensemble phenotype-arrays within the population according to a common class
combination vector n nconstant= , and (ii) ‘turn off’ phenotype class mutation. As such, our EO algorithm
proceeds as if it were a classical GA. These ‘GA-evolved’ parametric benchmarks are therefore our
control experiments, and will be used as a basis for comparison with the results from our generalised
combinatorial-parametric TMP formulation, whose hypothesis experiments will be marked with an
asterisk (*).
6 Evolutionary Optimisation Experiments
193
The results reported here are based on single EO runs, as a number of model-trading statistics do not quite
make sense when we take an average over a number of runs, e.g. averaging high-PSP, low-GLR statistics
with low-PSP, high-GLR statistics into meaningless medium-PSP, medium-GLR statistics. The caveat is
that all EO simulations in general, our combinatorial-parametric runs in particular, are to some extent
sensitive to the pseudo-random number generator (PRNG) [Law & Kelton 1991] which drives the
computer simulation. As such, we would clearly require gathering statistics on a number of independent
runs (different PRNG seeds) if we are to have any confidence in the optimised results enough to actually
use them as ‘live’ trading models. Our experience has been that the purely parametric (control) runs are
more consistent from one seed to the next than our combinatorial-parametric (hypothesis) runs.
Considering the emphatic increase in complexity of the search space, this is almost a foregone conclusion.
In our prototype software, the following dialogue box:
Figure 6-5: Specifying the Trading Model Solution-Function Space
enables us to specify the nature and scope of our trading model solution/search space. For instance, we
specify the size of the model-trading signal-ensemble, then whether such a signal-ensemble should
comprise just one class of signal models or a multiplicity thereof. For the latter case, we then specify
Evolutionary Optimisation and Financial Model-Trading
194
whether the class combination is fixed, or subject to optimisation, as per our generalised approach. In
addition, the dialogue box also allows us to stipulate whether model-trading must be carried out in terms
of full market positions, i.e. { }ρt ∈ − +1 0 1, , , only, or if we would allow ‘half-positions’ to be taken as
well, i.e. { }ρt ∈ − − + +1 05 0 05 1, . , , . , .
6.2.1 Single-Signal Trading Model Optimisation Experiments
For each currency pair investigated, we first list the benchmark, non-optimised
Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA trading model (1.b) which considers the spot price against the ‘half-day’
MVA (average of spot and the past 12 hourly lagged prices) and the ‘whole-day’ MVA (average of spot
and the past 24 hourly lagged prices). This is ‘hand-picked’ by our FX model-trading practitioner,
transferring heuristics from ‘low-frequency’ daily FX trading experience to our high-frequency, intraday
domain:
Figure 6-6: Manual Parametric Specification of the Benchmark Momentum-MVA Trading Model
Next, we list the four parametric-benchmark experiments (1.i,...,1.iv), where each GA run amounts to a
function-parameter optimisation search over an associated set of MVA parameters.
Experiment number 5 (1.v*) tests the validity of our POP approach. Here the evolutionary population is
heterogeneous, searching over the signal model class combination as well as the object-specific
parameterisation. Since there is only one component signal model in the ‘ensemble’, we are not testing
the merit of PAD at this point, as each phenotype-array is effectively a single multi-phenotype object
wrapper. So although we are fundamentally dealing with a combinatorial-parametric TMP, the
combinatorial aspect is trivial. Experiment number 6 (1.vi*) is the same as experiment number 5 (1.v*),
except that we allow for the DummySignalDummySignalDummySignalDummySignal class signal models as well. For a single-signal ensemble,
parsimony pruning is not really relevant. In fact, it would only prove ‘optimal’ to select such a ‘no-signal’
model if all the ‘active’ signal models were to lead to negative P/L, i.e. when we would have been better
off not model-trading altogether! In any event, we would like to see the solution of the (1.vi*) run
converge to that of the (1.v*) run, bearing in mind that all results are subject to the inherently stochastic
6 Evolutionary Optimisation Experiments
195
nature of the evolutionary algorithm itself.
This set of single-signal trading model optimisation experiments is designed to answer a few questions.
First, we would like to be sure that at least one, if not all, evolutionarily optimised experiment yields a
trading model solution which clearly beats the ‘hand-picked’ benchmark Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA with
respect to the ACG performance objective. Here we are betting that (1.b) would exhibit the poorest
performance of all. Then we would look at the results from the four parametric benchmark experiments
(1.i,...,1.iv) in order to determine the best evolutionarily optimised trading model solution, although there
may be a number of different optimal solutions achieving the same highest ACG number. Any trading
model solution with the highest ACG number, by definition, constitutes our optimal solution.
With regards to the two hypothesis experiments (1.v* and 1.vi*), we would be quite satisfied if (a) we can
at least match the best ACG performance figure obtained within the four control experiments (1.i,...,1.iv).
We would be even more satisfied if (b) the model-trading behaviours, i.e. the sequence of simulated
model-trading transactions, would match those of the optimal solution(s). We would be even more
satisfied if (c) the best solutions from experiments (1.v* and 1.vi*) turn out to be of the same class as the
optimal solution found from experiments (1.i,...,1.iv). Finally, we would be most satisfied if (d) the (1.v*
and 1.vi*) experiments would result in the exact same class of trading signal model as well as the exact
same set of MVA parameters as the optimal solution. Let us refer to these forms of matching the optimal
solution as: (a) (solution) performance matching, (b) (phenotype or I/O) behaviour matching, (c)
(phenotype-object) class matching, and (d) (object) attribute matching. Each successive case is more
exclusive and more difficult to achieve. To wit, behaviour matching already implies performance
matching, but not the other way around; meanwhile attribute matching already implies class matching as
well as behaviour matching, and so on.
Now keep in mind that our optimisation algorithm is necessarily stochastic, i.e. by virtue of the fact that it
is an evolutionary algorithm. This is true for our (1.v* and 1.vi*) experiments as well as for the parametric
benchmarks (1.i,...,1.iv). As such, attribute matching would be all the more remarkable feat to achieve,
considering that we would be matching results from stochastic simulation processes (control runs) with
results from stochastic simulation processes (hypothesis runs)! Keep in mind also that our approach entails
a search over a more general solution space, and so the same GA-style evolutionary population simulation
process now has a much tougher task than with the purely parametric cases. This will be especially
dramatic in the N > 1 signal-ensemble trading model optimisation experiments, where we hope not just
to match the GA-evolved parametric benchmarks, but to actually out-perform them.
6.2.2 Signal-Ensemble Trading-Model Optimisation Experiments
Here we test the merit of utilising POP & PAD together for the purpose for tackling the combinatorial-
parametric optimisation of our signal-ensemble trading models, formulated as a two-stage TMP. Here our
signal-ensemble may consist up to N = 4 (experiments 4.i,...,4.vii*) or up to N = 8 (experiments
8.i,...,8.vii*) different component signal models. The first five out of each seven are the parametric-
Evolutionary Optimisation and Financial Model-Trading
196
benchmarks, i.e. our control experiments, where we pre-specify n nconstant= and let the GA evolve the
various aggregated sets of MVA parameters. For example, experiment 4.iv specifies that a size-4 signal-
ensemble consists only of signal models from the Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA class, i.e. corresponding to the class
combination notation (0,0,0,4). In a single-class signal-ensemble case such as this, it is possible for two or
more (or possibly all) component signal models to converge parametrically to an identical function-
parameter values. With the simple averaging amongst the signal model outputs, this means that the signal-
ensemble’s model-trading signal functionality should simply replicate that of a single-signal trading
model. Whenever all the signal models turn out to be parametrically identical, we list the common MVA
parameter values as well. In experiment 4.v (8.v), we pre-specifies one (two) signal model(s) from each of
the four ‘active’ classes, i.e. corresponding to the class combination notation (1,1,1,1) ((2,2,2,2)).
Experiments 4.vi* and 8.vi* test the utility of our POP & PAD approach, where we do not a priori specify
the class combination vector for the solution signal-ensemble. Experiments 4.vii* and 8.vii* are the same
as experiments 4.vi* and 8.vi*, except that we allow for the ‘neutral’ DummySignalDummySignalDummySignalDummySignal class signal
model(s) to be included in the ensemble to effectuate parsimony pruning. These are our hypothesis
experiments. While it is certainly possible for the combinatorially searched solution to converge onto an
ensemble of identical signal models (i.e. both in terms of class and in terms of object-attributes), we are
hoping that intra-ensemble diversity in terms of signal model classes as well as object-specific parameters
would enable the overall trading model to pick up more intricate trending behaviour than is otherwise
possible with an ensemble of identical signal models acting as one. This, after all, is the objective of our
exercise. When this is the case, we expect (at least incrementally) better ACG performance figures out of
the class-combinatorial signal-ensemble trading model solutions (as compared with our earlier single-
signal experiments).
Keep in mind the comparative complexity of the combinatorial-parametric search spaces. For example, in
experiment 4.vi*, our evolutionary optimisation algorithm has to essentially search over
4 4 14
7 6 53 2 1 35+ − × ×× ×= =C parametric problems, while each of the five parametric benchmark has to only
parametrically optimise just the one! For experiment 4.vii*, 8.vi* and 8.vii*, this figure rises to
4 5 14
8 7 6 54 3 2 1 70+ − × × ×× × ×= =C , 8 4 1
811 10 93 2 1 165+ − × ×× ×= =C , and 8 5 1
812 11 10 9
4 3 2 1 495+ − × × ×× × ×= =C , respectively! Needless to
say, our algorithm has a much tougher optimisation task than with the parametric benchmarks.
6.3 Experimental Results
6.3.1 Single-Signal Trading Model Optimisation Experiments
What conclusions can we draw from these experiments? Firstly, all evolutionarily evolved trading models
clearly and dominantly outperform the ‘hand-picked’ Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA benchmark, which only
manages positive return on the TEST data for the DEM/JPY (Figure 6-7). Examining the supplementary
6 Evolutionary Optimisation Experiments
197
statistics reveals that the benchmark model alters its market position about 120-130 times for each
currency pair during the OPTM period. Given that the OPTM period data consists of roughly 600 points,
this means that on average, a Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA benchmark model alters its market position
every 5 hours or so. In each case, its GLR statistics is greater than unity, but this is all but destroyed by the
PSP of about 12.5%. Note that no evolutionarily optimised solution ever picks a 0-lagged MVA, i.e. the
spot price, as its leading indicator. This clearly vindicates our decision, within this context of model-
trading a high-frequency FX price-series, to perform optimisation search over the short-term MVA
parameter instead of using the spot price as the leading ‘market entry stochastics’, as per traditional
method, opted from daily model-trading. In the following screen shot, the benchmark trading model is
depicted by the spot price, the 12-hour lagged MVA, and the 24-hour lagged MVA:
Figure 6-7: Benchmark Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA trading model, DEM/JPY data
Note the ‘piano scrolls’ (upper track for ‘Long’; middle track for ‘Square’; and lower track for ‘Short’),
denoting the market position (state variable) at all (simulated model-trading) time (‘warm-up’, OPTM, and
TEST periods). We now examine the results for each currency pair.
Evolutionary Optimisation and Financial Model-Trading
198
USD/DEM
Single-Signal USD/DEM hourly bid (1/1-28/2/97) slippage: 0.0007
Experiment Signal Model Class ⇒⇒⇒⇒ Signal Model Parameters #generations ACG (TEST period)
(0) 1.b benchmark ���� Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA N/A -19.19 (-74.53) (1) 1.i (1,#,#,#) ⇒⇒⇒⇒ Mom<44|108>LinMVAMom<44|108>LinMVAMom<44|108>LinMVAMom<44|108>LinMVA 1155 55.69 (7.64) (2) 1.ii (#,1,#,#) ⇒⇒⇒⇒ Mom<62|92|122>LinMVAMom<62|92|122>LinMVAMom<62|92|122>LinMVAMom<62|92|122>LinMVA 1155 53.22 (-14.61) (3) 1.iii (#,#,1,#) ⇒⇒⇒⇒ Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA 1268 61.3 (6.84) (4) 1.iv (#,#,#,1) ⇒⇒⇒⇒ Mom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVA 1629 61.3 (6.84) (5) 1.v* (a,b,c,d) ⇒⇒⇒⇒ Mom<.966|.985|.998>ExpMVAMom<.966|.985|.998>ExpMVAMom<.966|.985|.998>ExpMVAMom<.966|.985|.998>ExpMVA 1224 61.3 (-10.32) (6) 1.vi* (a,b,c,d,e) ⇒⇒⇒⇒ Mom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVA 1352 61.3 (6.84)
Experiment #Signals
(NTS) CumPrdGain (CPG)
CumGain% (CGP)
%SigPositive (PSP)
Gain-to-Loss (GLR)
Gain/Signal (GTS)
(0) 1.b 119 (55) -335 (-556) -2.049 (-3.401) 12.6 (7.3) 5.27 (3.46) -2.82 (-10.11) (1) 1.i 5 (3) 972 (57) 5.946 (0.349) 40 (66.7) 11.73 (1.4) 194.4 (19) (2) 1.ii 7 (5) 929 (-109) 5.683 (-0.667) 28.6 (20) 16.67 (0.33) 132.71 (-21.8) (3) 1.iii 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51) (4) 1.iv 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51) (5) 1.v* 1 (3) 1070 (-77) 6.545 (-0.471) 100 (33.3) ∞∞∞∞ (0.01) 1070 (-25.67) (6) 1.vi* 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51)
Table 6-1: USD/DEM Single-Signal Experimental Results
For the USD/DEM data (Figure 6-1), we observe that the market trends strongly upward during the
OPTM period (151st to 749th data point), peaking at 1.7070 and starting to correct downward slightly just
after the beginning of the TEST period (data point 750 onward). While there is a bit of ‘consolidation’
period from about midway through OPTM, the overall trend being almost linear throughout, or as linear
as we can expect from such a liquid market. Thus it is with no great surprise that the best GA-evolved
benchmark solutions are the ones which signal ‘Full Long’ for the entire OPTM as well as TEST periods.
This is the case with both exponential MVA classes of signal models. Furthermore, a Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA class
has been parametrically optimised (experiment 1.iv) such that its short and medium MVA parameters
(<.985|.992|...><.985|.992|...><.985|.992|...><.985|.992|...>) match the short and long MVA parameters optimally found for class
Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA (experiment 1.iii), so that a market entry signal is likely to be triggered for the
Mom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVA model at exactly the same moment and in exactly in the same
direction as for the Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA model. The same observation can be made for some
other currency pairs as well.
Critically, our hypothesis experiments (1.v* and 1.vi*) were able to obtain the exact same ACG
performance number of 61.3% (performance matching) by taking the same ‘hold-one-position’ strategy
(behaviour matching). Moreover, our (1.v*) result did get the signal model class right (class matching),
but not with the exact same MVA parameters. Our (1.vi*) result, however, was also able to match the
actual triplet (<.985|.992|.998><.985|.992|.998><.985|.992|.998><.985|.992|.998>) of MVA parameters found in the GA-evolved benchmark 1.iv
(attribute matching).
6 Evolutionary Optimisation Experiments
199
USD/JPY
Single-Signal USD/JPY hourly bid (1/1-28/2/97) slippage: 0.05
Experiment Signal Model Class ⇒⇒⇒⇒ Signal Model Parameters #generations ACG (TEST period)
(0) 1.b benchmark ���� Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA N/A -38.90 (-16.962) (1) 1.i (1,#,#,#) ⇒⇒⇒⇒ Mom<62|114>LinMVAMom<62|114>LinMVAMom<62|114>LinMVAMom<62|114>LinMVA 1155 49.81 (47.78) (2) 1.ii (#,1,#,#) ⇒⇒⇒⇒ Mom<62|94|126>LinMVAMom<62|94|126>LinMVAMom<62|94|126>LinMVAMom<62|94|126>LinMVA 1479 42.64 (54.9) (3) 1.iii (#,#,1,#) ⇒⇒⇒⇒ Mom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVA 1168 64.62 (18.97) (4) 1.iv (#,#,#,1) ⇒⇒⇒⇒ Mom<.972|.979|.985>ExpMVAMom<.972|.979|.985>ExpMVAMom<.972|.979|.985>ExpMVAMom<.972|.979|.985>ExpMVA 1901 63.29 (26.08) (5) 1.v* (a,b,c,d) ⇒⇒⇒⇒ Mom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVA 1137 64.62 (18.97) (6) 1.vi* (a,b,c,d,e) ⇒⇒⇒⇒ Mom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVA 1026 64.62 (18.97)
Experiment #Signals
(NTS) CumPrdGain (CPG)
CumGain% (CGP)
%SigPositive (PSP)
Gain-to-Loss (GLR)
Gain/Signal (GTS)
(0) 1.b 125 (45) -499 (-93) -4.153 (-0.774) 14.4 (17.8) 3.52 (3.24) -3.99 (-2.07) (1) 1.i 4 (2) 639 (262) 5.318 (2.181) 75 (50) 1.92 (4.35) 159.75 (131) (2) 1.ii 9 (3) 547 (301) 4.553 (2.505) 44.4 (33.3) 13.2 (13.24) 60.78 (100.33) (3) 1.iii 2 (2) 829 (104) 6.9 (0.866) 50 (50) 1.82e6 (1.67) 414.5 (52) (4) 1.iv 1 (3) 812 (143) 6.758 (1.19) 100 (33.3) ∞∞∞∞ (5.64) 812 (47.67) (5) 1.v* 2 (2) 829 (104) 6.9 (0.866) 50 (50) 1.82e6 (1.67) 414.5 (52) (6) 1.vi* 2 (2) 829 (104) 6.9 (0.866) 50 (50) 1.82e6 (1.67) 414.5 (52)
Table 6-2: USD/JPY Single-Signal Experimental Results
The USD/JPY data (Figure 6-2) revealed no more complicated time-series evolution than with
USD/DEM. Here the price-series consists of two simple trends, one upward and the one downward, the
latter initiating just after the TEST period begins. Here the optimal trading model solution
Mom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVA, obtained within the GA-evolved parametric benchmark experiment (1.iii),
achieved 64.62% in ACG, edging out Mom<.972|.979|.985>ExpMVAMom<.972|.979|.985>ExpMVAMom<.972|.979|.985>ExpMVAMom<.972|.979|.985>ExpMVA, which, it so happens, has the
same long MVA parameter value. Critically, both our hypothesis experiments (1.v* and 1.vi*) were able
to come up with the right class Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA as well as the right MVA parameters (<.966|.985><.966|.985><.966|.985><.966|.985>),
whence achieving attribute matching with the optimal solution.
Evolutionary Optimisation and Financial Model-Trading
200
USD/CHF
Single-Signal USD/CHF hourly bid (1/1-28/2/97) slippage: 0.0006
Experiment Signal Model Class ⇒⇒⇒⇒ Signal Model Parameters #generations ACG (TEST period)
(0) 1.b benchmark ���� Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA N/A - 21.53 (-27.50) (1) 1.i (1,#,#,#) ⇒⇒⇒⇒ MomMomMomMom<14|18>LinMVA<14|18>LinMVA<14|18>LinMVA<14|18>LinMVA 1632 58.77 (14.21) (2) 1.ii (#,1,#,#) ⇒⇒⇒⇒ Mom<60|88|116>LinMVAMom<60|88|116>LinMVAMom<60|88|116>LinMVAMom<60|88|116>LinMVA 1306 47.28 (5.72) (3) 1.iii (#,#,1,#) ⇒⇒⇒⇒ Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA 1494 56.39 (36.15) (4) 1.iv (#,#,#,1) ⇒⇒⇒⇒ Mom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVAMom<.985|.992|.998>ExpMVA 1056 56.39 (36.15) (5) 1.v* (a,b,c,d) ⇒⇒⇒⇒ Mom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVA 10000 58.77 (14.21) (6) 1.vi* (a,b,c,d,e) ⇒⇒⇒⇒ Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA 1738 56.39 (36.15)
Experiment #Signals
(NTS) CumPrdGain (CPG)
CumGain% (CGP)
%SigPositive (PSP)
Gain-to-Loss (GLR)
Gain/Signal (GTS)
(0) 1.b 120 (55) -326 (-178) -2.298 (-1.255) 12.5 (10.9) 5.16 (5.71) -2.72 (-3.24) (1) 1.i 49 (17) 890 (92) 6.275 (0.649) 49 (41.2) 2.11 (1.8) 18.16 (5.41) (2) 1.ii 13 (7) 716 (37) 5.048 (0.261) 46.2 (42.9) 41.11 (1.56) 55.08 (5.29) (3) 1.iii 1 (1) 854 (234) 6.021 (1.65) 100 (100) ∞∞∞∞ (∞∞∞∞) 854 (234) (4) 1.iv 1 (1) 854 (234) 6.021 (1.65) 100 (100) ∞∞∞∞ (∞∞∞∞) 854 (234) (5) 1.v* 49 (17) 890 (92) 6.275 (0.649) 49 (41.2) 2.11 (1.8) 18.16 (5.41) (6) 1.vi* 1 (1) 854 (234) 6.021 (1.65) 100 (100) ∞∞∞∞ (∞∞∞∞) 854 (234)
Table 6-3: USD/CHF Single-Signal Experimental Results
In some way, the USD/CHF (Figure 6-3) mirrors the USD/DEM movement (Figure 6-1), generally
trending upward on the two months, peaking at 1.4905 just after the beginning of TEST. We thus observe
the two market to be quite correlated during our data period, but the USH/CHF movements tend to be
comparatively quite accentuated, with a strong surge about a third of the way through OPTM, triggering a
sharp bout of profit taking, there to be followed by a very narrow ‘range-trading’ squeeze lasting well over
a week, before an upward continuation toward the end of OPTM. It is remarkable, nonetheless, that both
parametric-benchmark experiments (1.iii) and (1.iv) turn up the identical parameter set (<.985|.992><.985|.992><.985|.992><.985|.992>
and <.985|.992|.998><.985|.992|.998><.985|.992|.998><.985|.992|.998>) as in USD/DEM! But however profitable (56.39% ACG) this may be, a
more active model, Mom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVA, which take 49 position changes (vs. the leisurely 1),
manages an even higher optimised ACG figure of 58.77%. Note that one of our two hypothesis
experiments (experiment 1.v*) turns up exactly this optimal solution (attribute matching), although this is
not the case with the (1.vi*) experiment. On this occasion, our heterogeneous population did not converge
onto the best signal model class here (Mom2LinMVAMom2LinMVAMom2LinMVAMom2LinMVA), but only the second best (Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA).
Nonetheless, it dutifully converges onto the optimal set of MVA parameters (<.985|.992><.985|.992><.985|.992><.985|.992>). The
disparity between (1.v*) and (1.vi*) experiments suggests the more general issue of an evolutionary
algorithm (any evolutionary algorithm)’s sensitivity to the random computer simulation process itself.
6 Evolutionary Optimisation Experiments
201
DEM/JPY
Single-Signal DEM/JPY hourly bid (1/1-28/2/97) slippage: 0.03
Experiment Signal Model Class ⇒⇒⇒⇒ Signal Model Parameters #generations ACG (TEST period)
(0) 1.b benchmark ���� Mom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVAMom<0|12|24>LinMVA N/A -41.29(11.63) (1) 1.i (1,#,#,#) ⇒⇒⇒⇒ Mom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVA 3447 38.99 (37.87) (2) 1.ii (#,1,#,#) ⇒⇒⇒⇒ Mom<10|20|30>LinMVAMom<10|20|30>LinMVAMom<10|20|30>LinMVAMom<10|20|30>LinMVA 1198 30.71 (46.21) (3) 1.iii (#,#,1,#) ⇒⇒⇒⇒ Mom<.883|.903>ExpMVAMom<.883|.903>ExpMVAMom<.883|.903>ExpMVAMom<.883|.903>ExpMVA 1292 31.73 (30.71) (4) 1.iv (#,#,#,1) ⇒⇒⇒⇒ Mom<.883|.903|.928>ExpMVAMom<.883|.903|.928>ExpMVAMom<.883|.903|.928>ExpMVAMom<.883|.903|.928>ExpMVA 1781 28.03 (27.73) (5) 1.v* (a,b,c,d) ⇒⇒⇒⇒ Mom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVA 4039 38.99 (37.87) (6) 1.vi* (a,b,c,d,e) ⇒⇒⇒⇒ Mom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVA 1529 38.99 (37.87)
Experiment #Signals
(NTS) CumPrdGain (CPG)
CumGain% (CGP)
%SigPositive (PSP)
Gain-to-Loss (GLR)
Gain/Signal (GTS)
(0) 1.b 138 (42) -324 (39) -4.408 (0.531) 12.3 (21.4) 3.63 (4.61) -2.35 (0.93) (1) 1.i 32 (12) 306 (127) 4.163 (1.728) 56.3 (41.7) 2.06 (3.37) 9.56 (10.58) (2) 1.ii 48 (13) 241 (155) 3.279 (2.109) 29.2 (38.5) 6.11 (4.85) 5.02 (11.92) (3) 1.iii 13 (8) 249 (103) 3.388 (1.401) 46.2 (37.5) 4.06 (3.33) 19.15 (12.88) (4) 1.iv 22 (12) 220 (93) 2.993 (1.265) 31.8 (25) 7.04 (5.32) 10 (7.75) (5) 1.v* 32 (12) 306 (127) 4.163 (1.728) 56.3 (41.7) 2.06 (3.37) 9.56 (10.58) (6) 1.vi* 32 (12) 306 (127) 4.163 (1.728) 56.3 (41.7) 2.06 (3.37) 9.56 (10.58)
Table 6-4: DEM/JPY Single-Signal Experimental Results
For DEM/JPY (Figure 6-4), the result is more impressive, as the price-series itself is more complicated, in
particular, when compared to USD/DEM over the same period. Here, the market trends strongly, but not
monotonically. The market trends downward until about two-fifth of the OPTM period, follows by a sharp
rise, which tapers out until a downward trend is initiated about one-forth from the end of OPTM, leading
to an even sharper drop during TEST. As the net movement from the beginning to end of OPTM is
relatively small compared to the comparatively volatile movement in-between, no simple ‘hold-one-
position’ strategy would prove optimal. The best GA-evolved benchmark turns out to be
Mom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVAMom<10|18>LinMVA. Remarkably, both our hypothesis runs (experiments 1.v* and 1.vi*) converge
onto exactly this optimal solution (attribute matching). Curiously, the (1.vi*) run took less than half as
long to converge (by generation count) as the purely parametric GA (1.i) run (which had a much more
restricted search space to cover).
Evolutionary Optimisation and Financial Model-Trading
202
6.3.2 Signal-Ensemble Trading Model Optimisation Experiments
USD/DEM
Ensemble USD/DEM hourly bid (1/1-28/2/97) slippage: 0.0007
Experiment Signal-Ensemble Class Combination (Model Parameters) #generations ACG (TEST period)
(7) 4.i (4,#,#,#) ���� 4 x Mom2LinMVAMom2LinMVAMom2LinMVAMom2LinMVA 1767 55.8 (-41.69) (8) 4.ii (#,4,#,#) ���� 4 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 2724 55.37 (-26.14) (9) 4.iii (#,#,4,#) ⇒⇒⇒⇒ 4 x Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA 1130 61.3 (6.84) (10) 4.iv (#,#,#,4) ���� 4 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 1456 61.3 (6.84) (11) 4.v (1,1,1,1) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 1830 59.3 (-1.21) (12) 4.vi* (a,b,c,d) ⇒⇒⇒⇒ 4 x Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA 1245 61.3 (6.84) (13) 4.vii* (a,b,c,d,e), a +…………+ e = 4 ⇒⇒⇒⇒ (0,1,1,0,2) 1662 58.69 (3.15) (14) 8.i (8,#,#,#) ���� 8 x Mom2LinMVAMom2LinMVAMom2LinMVAMom2LinMVA 4834 56.34 (-0.6) (15) 8.ii (#,8,#,#) ���� 8 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 4834 57.35 (-16.15) (16) 8.iii (#,#,8,#) ���� 8 x Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA 1526 61.3 (6.84) (17) 8.iv (#,#,#,8) ���� 8 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 1886 61.3 (-2.01) (18) 8.v (2,2,2,2) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 3940 62.65 (6.43) (19) 8.vi* (a,b,c,d), a + b + c + d = 8 ⇒⇒⇒⇒ (1,3,3,1) 3190 62.85 (-11.53) (20) 8.vii* (a,b,c,d,e), a +…………+ e = 8 ⇒⇒⇒⇒ (0,3,1,3,1) 3283 62.02 (-0.6)
Experiment #Signals CumPrdGain CumGain% %SigPositive Gain-to-Loss Gain/Signal
(7) 4.i 21 (13) 974 (-311) 5.958 (-1.902) 42.9 (7.7) 14.37 (0.85) 46.38 (-23.92) (8) 4.ii 31 (14) 966 (-195) 5.912 (-1.193) 61.3 (28.6) 3.33 (0.99) 31.16 (-13.93) (9) 4.iii 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51) (10) 4.iv 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51) (11) 4.v 6 (4) 1035 (-9) 6.331 (-0.055) 66.7 (25) 4.28 (2.56) 172.5 (-2.25) (12) 4.vi* 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51) (13) 4.vii* 4 (4) 1025 (23) 6.267 (0.144) 75 (50) 98.24 (2.29) 256.25 (5.75)
(14) 8.i 6 (7) 984 (-5) 6.016 (-0.028) 33.3 (57.1) 30.3 (0.74) 164 (-0.71) (15) 8.ii 6 (7) 1001 (-120) 6.123 (-0.737) 66.7 (28.6) 134.44 (0.96) 166.83 (-17.14) (16) 8.iii 1 (1) 1070 (51) 6.545 (0.312) 100 (100) ∞∞∞∞ (∞∞∞∞) 1070 (51) (17) 8.iv 1 (3) 1070 (-15) 6.545 (-0.092) 100 (33.3) ∞∞∞∞ (1.68) 1070 (-5) (18) 8.v 4 (5) 1094 (48) 6.689 (0.294) 50 (40) 27.92 (2.75) 273.5 (9.6) (19) 8.vi* 5 (7) 1097 (-86) 6.71 (-0.526) 60 (28.6) 9 (1.04) 219.4 (-12.29) (20) 8.vii* 6 (5) 1082 (-5) 6.622 (-0.028) 33.3 (40) 21.79 (1.44) 180.33 (-1)
Table 6-5: USD/DEM Signal-Ensemble Experimental Results
What conclusion can we draw from these experiments? For USD/DEM, with 4 signal models, we cannot
do better than the best single-signal solutions (61.3% ACG). In fact, in the parametric-benchmark solution
(4.iii), all 4 signal models converge parametrically to the same parameter set (<.985|.992><.985|.992><.985|.992><.985|.992>) found to
be optimal previously in the single-signal experiment (1.iii)! Our combinatorial-parametric formulation
acquitted itself well in the (4.vi*) run, where all 4 signal models similarly converge onto the signal model
class Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA and individually onto the parameter set <.985|.992><.985|.992><.985|.992><.985|.992> (attribute matching). What
is worrisome is how the (4.vii*) run gets stuck sub-optimally with ‘only’ a 58.69% ACG. Moving up to
size-8 signal-ensemble experiments, we note that the (8.vii*) run is able to surpass the 61.3% record with
62.02% achieved at convergence, but at the expense of the -0.6% ACG performance on the TEST data.
The 8.vi* run achieves the best OPTM result of 62.85%, at a considerable expense of -11.53% TEST
ACG. The parametric benchmark experiment (8.v) (class combination fixed at (2,2,2,2)) yield the second
best OPTM performance of 62.65% ACG, but with a positive TEST data ACG of 6.43%.
6 Evolutionary Optimisation Experiments
203
USD/JPY
Ensemble USD/JPY hourly bid (1/1-28/2/97) slippage: 0.05
Experiment Signal-Ensemble Class Combination (Model Parameters) #generations ACG (TEST period)
(7) 4.i (4,#,#,#) ⇒⇒⇒⇒ 4 x Mom2<62|114>LinMVAMom2<62|114>LinMVAMom2<62|114>LinMVAMom2<62|114>LinMVA 1990 49.81 (47.78) (8) 4.ii (#,4,#,#) ���� 4 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 3969 49.57 (68.49) (9) 4.iii (#,#,4,#) ���� 4 x Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA 1641 64.62 (34.11) (10) 4.iv (#,#,#,4) ���� 4 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 1546 63.29 (38.3) (11) 4.v (1,1,1,1) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 1926 62.67 (55.17) (12) 4.vi* (a,b,c,d), a + b + c + d = 4 ⇒⇒⇒⇒ (1,1,2,0) 1698 62.67 (56.08) (13) 4.vii* (a,b,c,d,e), a +…………+ e = 4 ⇒⇒⇒⇒ (0,0,0,4,0) 5486 64.23 (47.42) (14) 8.i (8,#,#,#) ���� 8 x Mom2LinMVAMom2LinMVAMom2LinMVAMom2LinMVA 6839 54.06 (55.44) (15) 8.ii (#,8,#,#) ���� 8 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 7925 52.65 (68.49) (16) 8.iii (#,#,8,#) ���� 8 x Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA 1472 64.62 (41.77) (17) 8.iv (#,#,#,8) ���� 8 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 2835 63.29 (38.3) (18) 8.v (2,2,2,2) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 2759 62.94 (37.48) (19) 8.vi* (a,b,c,d), a + b + c + d = 8 ⇒⇒⇒⇒ (0,3,5,0) 4785 64.11 (56.08) (20) 8.vii* (a,b,c,d,e), a +…………+ e = 8 ⇒⇒⇒⇒ (0,3,1,4,0) 3857 62.67 (50.61)
Experiment #Signals CumPrdGain CumGain% %SigPositive Gain-to-Loss Gain/Signal
(7) 4.i 4 (2) 639 (262) 5.318 (2.181) 75 (50) 1.92 (4.35) 159.75 (131) (8) 4.ii 15 (4) 636 (376) 5.293 (3.125) 53.3 (50) 10.74 (6.58) 42.4 (94) (9) 4.iii 1 (3) 829 (187) 6.9 (1.556) 100 (33.3) ∞∞∞∞ (7.05) 829 (62.33) (10) 4.iv 1 (4) 812 (210) 6.758 (1.748) 100 (50) ∞∞∞∞ (3.7) 812 (52.5) (11) 4.v 4 (4) 804 (303) 6.691 (2.518) 75 (50) 107.87 (4.92) 201 (75.75) (12) 4.vi* 4 (4) 804 (307) 6.691 (2.559) 75 (50) 107.87 (4.99) 201 (76.75) (13) 4.vii* 1 (3) 824 (260) 6.858 (2.164) 100 (33.3) ∞∞∞∞ (8.56) 824 (86.67)
(14) 8.i 15 (5) 693 (304) 5.772 (2.53) 46.7 (60) 11.96 (4.1) 46.2 (60.8) (15) 8.ii 17 (4) 675 (376) 5.622 (3.125) 47.1 (50) 13.18 (6.58) 39.71 (94) (16) 8.iii 1 (4) 829 (229) 6.9 (1.906) 100 (50) ∞∞∞∞ (3.94) 829 (57.25) (17) 8.iv 1 (4) 812 (210) 6.758 (1.748) 100 (50) ∞∞∞∞ (3.7) 812 (52.5) (18) 8.v 3 (4) 807 (206) 6.721 (1.71) 100 (25) ∞∞∞∞ (10.85) 269 (51.5) (19) 8.vi* 4 (3) 822 (308) 6.845 (2.559) 75 (66.7) 48.16 (3.52) 205.5 (102.67) (20) 8.vii* 6 (4) 804 (278) 6.691 (2.31) 83.3 (25) 22.41 (15.44) 134 (69.5)
Table 6-6: USD/JPY Signal-Ensemble Experimental Results
Again we note that USD/JPY presented two monotonic trends, one during OPTM, and one during TEST.
As the results confirm, the signal-ensemble trading models do not outperform the single-signal cases. In
fact, only the two same-class signal-ensemble experiments (4.iii and 8.iii) (class combination fixed at
(#,#,4,#) and (#,#,8,#), respectively) return the optimal 64.62% ACG figure found from the single-signal
experiments, i.e. by the Mom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVAMom<.966|.985>ExpMVA solution.
Evolutionary Optimisation and Financial Model-Trading
204
USD/CHF
Ensemble USD/CHF hourly bid (1/1-28/2/97) slippage: 0.0006
Experiment Signal-Ensemble Class Combination (Model Parameters) #generations ACG (TEST period)
(7) 4.i (4,#,#,#) ⇒⇒⇒⇒ 4 x Mom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVA 1894 58.77 (14.21) (8) 4.ii (#,4,#,#) ���� 4 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 2121 57.68 (-4.17) (9) 4.iii (#,#,4,#) ⇒⇒⇒⇒ 4 x Mom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVAMom<.985|.992>ExpMVA 1640 56.39 (36.15) (10) 4.iv (#,#,#,4) ���� 4 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 1652 56.39 (36.15) (11) 4.v (1,1,1,1) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 1702 58.44 (-4.94) (12) 4.vi* (a,b,c,d), a + b + c + d = 4 ⇒⇒⇒⇒ (2,1,0,1) 2022 61.84 (2.78) (13) 4.vii* (a,b,c,d,e), a +…………+ e = 4 ⇒⇒⇒⇒ (0,1,1,1,1) 5850 60.42 (10.97) (14) 8.i (8,#,#,#) ���� 8 x Mom2LinMVAMom2LinMVAMom2LinMVAMom2LinMVA 5085 63.09 (-3.17) (15) 8.ii (#,8,#,#) ���� 8 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 3641 59.95 (26.19) (16) 8.iii (#,#,8,#) ���� 8 x Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA 1494 56.39 (36.15) (17) 8.iv (#,#,#,8) ���� 8 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 2151 56.39 (5.1) (18) 8.v (2,2,2,2) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 3482 39.98 (29.59) (19) 8.vi* (a,b,c,d), a + b + c + d = 8 ⇒⇒⇒⇒ (2,1,4,1) 3335 56.72 (20.16) (20) 8.vii* (a,b,c,d,e), a +…………+ e = 8 ⇒⇒⇒⇒ (2,1,1,3,1) 3196 51.77 (20.78)
Experiment #Signals CumPrdGain CumGain% %SigPositive Gain-to-Loss Gain/Signal
(7) 4.i 49 (17) 890 (92) 6.275 (0.649) 49 (41.2) 2.11 (1.8) 18.16 (5.41) (8) 4.ii 82 (32) 873 (-27) 6.158 (-0.19) 41.5 (31.3) 3.18 (2.08) 10.65 (-0.84) (9) 4.iii 1 (1) 854 (234) 6.021 (1.65) 100 (100) ∞∞∞∞ (∞∞∞∞) 854 (234) (10) 4.iv 1 (1) 854 (234) 6.021 (1.65) 100 (100) ∞∞∞∞ (∞∞∞∞) 854 (234) (11) 4.v 45 (20) 885 (-32) 6.239 (-0.226) 33.3 (25) 7.79 (2.76) 19.67 (-1.6) (12) 4.vi* 51 (19) 936 (18) 6.602 (0.127) 39.2 (31.6) 5.18 (2.32) 18.35 (0.95) (13) 4.vii* 41 (18) 915 (71) 6.451 (0.501) 48.8 (22.2) 6.47 (4.51) 22.32 (3.94)
(14) 8.i 78 (27) 955 (-21) 6.736 (-0.145) 39.7 (33.3) 3.58 (1.91) 12.24 (-0.78) (15) 8.ii 78 (25) 908 (170) 6.401 (1.195) 34.6 (32) 4.46 (4.25) 11.64 (6.8) (16) 8.iii 1 (1) 854 (234) 6.021 (1.65) 100 (100) ∞∞∞∞ (∞∞∞∞) 854 (234) (17) 8.iv 1 (3) 854 (33) 6.021 (0.233) 100 (33.3) ∞∞∞∞ (6.5) 854 (11) (18) 8.v 25 (10) 605 (191) 4.269 (1.35) 32 (30) 9.19 (7.61) 24.2 (19.1) (19) 8.vi* 13 (6) 859 (131) 6.056 (0.92) 61.5 (66.7) 5.73 (0.94) 66.08 (21.83) (20) 8.vii* 18 (8) 784 (135) 5.527 (0.948) 27.8 (25) 16.29 (12.59) 43.56 (16.88)
Table 6-7: USD/CHF Signal-Ensemble Experimental Results
On the USD/CHF data, the results are somewhat mixed. Previously, no single-signal solution has managed
a figure higher than a 58.77% ACG (achieved by the Mom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVAMom<14|18>LinMVA solution). Here, none of the
parametric benchmarks has managed better than the (4,#,#,#)-configured ensemble which converges
parametrically to the identical <14|18><14|18><14|18><14|18> parameter set. In contrast, both hypothesis experiments (4.vi*
and 4.vii*) manage figures higher than the 60.0% mark (61.84% and 60.42% respectively). However, the
success is not continued with the 8 signal model experiments, where both 8.vi* and 8.vii* runs get stuck
sub-optimally (at 56.72% and 51.77% respectively), while a single-class parametric benchmark 8.i (class
combination fixed at (8,#,#,#)) yields a 63.09% figure, and manages to do so taking 78 position changes.
However, our approaches yield positive ACG on the TEST data (20.16% and 20.78% respectively), while
the optimised (8,#,#,#) ensemble returns a negative (-3.17%) ACG figure over the same period.
6 Evolutionary Optimisation Experiments
205
DEM/JPY
Ensemble DEM/JPY hourly bid (1/1-28/2/97) slippage: 0.03
Experiment Signal-Ensemble Class Combination (Model Parameters) #generations ACG (TEST period)
(7) 4.i (4,#,#,#) ⇒⇒⇒⇒ 4 x Mom<10|18>LiMom<10|18>LiMom<10|18>LiMom<10|18>LinMVAnMVAnMVAnMVA 1990 38.99 (37.87) (8) 4.ii (#,4,#,#) ���� 4 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 4688 35.49 (38.16) (9) 4.iii (#,#,4,#) ⇒⇒⇒⇒ 4 x Mom<.883|.903>ExpMVAMom<.883|.903>ExpMVAMom<.883|.903>ExpMVAMom<.883|.903>ExpMVA 2198 31.73 (30.71) (10) 4.iv (#,#,#,4) ���� 4 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 4283 33.38 (29.22) (11) 4.v (1,1,1,1) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 2469 34.02 (33.99) (12) 4.vi* (a,b,c,d), a + b + c + d = 4 ⇒⇒⇒⇒ (2,2,0,0) 6873 40.58 (39.5) (13) 4.vii* (a,b,c,d,e), a +…………+ e = 4 ⇒⇒⇒⇒ (0,3,1,0,0) 3883 40.07 (37.42) (14) 8.i (8,#,#,#) ���� 8 x Mom2LinMVAMom2LinMVAMom2LinMVAMom2LinMVA 7706 44.53 (32.8) (15) 8.ii (#,8,#,#) ���� 8 x Mom3LinMVAMom3LinMVAMom3LinMVAMom3LinMVA 4834 37.34 (27.13) (16) 8.iii (#,#,8,#) ���� 8 x Mom2ExpMVAMom2ExpMVAMom2ExpMVAMom2ExpMVA 10000 34.79 (34.88) (17) 8.iv (#,#,#,8) ���� 8 x Mom3ExpMVAMom3ExpMVAMom3ExpMVAMom3ExpMVA 7477 30.52 (31.01) (18) 8.v (2,2,2,2) ���� Mom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVAMom{2,3}{Lin,Exp}MVA 5328 40.2 (39.8) (19) 8.vi* (a,b,c,d), a + b + c + d = 8 ⇒⇒⇒⇒ (3,1,3,1) 6400 42.75 (32.95) (20) 8.vii* (a,b,c,d,e), a +…………+ e = 8 ⇒⇒⇒⇒ (0,3,1,2,2) 7833 44.85 (34.88)
Experiment #Signals CumPrdGain CumGain% %SigPositive Gain-to-Loss Gain/Signal
(7) 4.i 32 (12) 306 (127) 4.163 (1.728) 56.3 (41.7) 2.06 (3.37) 9.56 (10.58) (8) 4.ii 55 (16) 278 (128) 3.789 (1.741) 40 (43.8) 3.76 (3.16) 5.05 (8) (9) 4.iii 13 (8) 249 (103) 3.388 (1.401) 46.2 (37.5) 4.06 (3.33) 19.15 (12.88) (10) 4.iv 23 (15) 262 (98) 3.565 (1.333) 43.5 (20) 6.4 (7.4) 11.39 (6.53) (11) 4.v 43 (20) 267 (114) 3.633 (1.551) 46.5 (35) 3.04 (3.59) 6.21 (5.7) (12) 4.vi* 71 (22) 319 (133) 4.333 (1.803) 46.5 (50) 3.49 (2.78) 4.49 (6.05) (13) 4.vii* 76 (23) 315 (125) 4.279 (1.707) 40.8 (56.5) 3.95 (2.15) 4.14 (5.43)
(14) 8.i 62 (21) 350 (110) 4.755 (1.497) 46.8 (47.6) 3.67 (2.51) 5.65 (5.24) (15) 8.ii 65 (20) 293 (91) 3.986 (1.238) 44.6 (40) 3.09 (3.34) 4.51 (4.55) (16) 8.iii 21 (12) 273 (117) 3.714 (1.592) 38.1 (25) 6.51 (6.91) 13 (9.75) (17) 8.iv 24 (15) 240 (104) 3.258 (1.415) 41.7 (40) 6.19 (2.99) 10 (6.93) (18) 8.v 44 (17) 315 (133) 4.292 (1.816) 34.1 (29.4) 6.99 (5.86) 7.16 (7.82) (19) 8.vi* 40 (17) 335 (110) 4.565 (1.503) 47.5 (17.6) 4.02 (9.31) 8.38 (6.47) (20) 8.vii* 41 (17) 352 (117) 4.789 (1.592) 53.7 (47.1) 3.58 (2.94) 8.59 (6.88)
Table 6-8: DEM/JPY Signal-Ensemble Experimental Results
As in the single-signal experiments, the DEM/JPY situation is a success. Like USD/CHF, the 4-filter POP
populations of PAD solution structures manage to achieve the ACG figures (40.58% and 40.07%
respectively) surpassing anything achievable with the best single-signal solutions or with the best GA-
evolved size-4 signal-ensemble trading model. Fortunately, unlike with USD/CHF, the improvement
continues with the size-8 signal-ensemble experiments. As with USD/CHF, the single-class parametric
benchmark 8.i (class combination fixed at (8,#,#,#)) performs very well (at 44.53% ACG), even out-
performing our 8.vi* run. But overall, it is the combinatorially-evolved and parametrically-optimised
(0,3,1,2,2) ensemble which achieves the highest figure of 44.85%, and even manages to out-perform the
parametric benchmark 8.i with respect to the TEST period figures (34.88% vs. 32.8%) as well.
Overall, taking both the single-signal as well as the signal-ensemble experiments into account, the results
seem to be most impressive and most consistent with DEM/JPY. By conventional wisdom, a
monotonically trending market, such as the case here with the USD/DEM and USD/CHF rates during
January and February of 1997, is perhaps an easier market to take directional views (go ‘Long’ and stay
with the market) than a ‘multi-modal’ price-series, such as the DEM/JPY movements during the same
Evolutionary Optimisation and Financial Model-Trading
206
two-month period. This is a cause for optimism. In fact, there is generally a much less discrepancy
between the OPTM and the TEST period earnings for the DEM/JPY trading model than for the
USD/DEM and USD/CHF trading models. Again, all the trading models investigated here are based on
the most simplistic trend indicators. So it is encouraging to see that our approach performs particularly
well when the market contains particularly complicated movements.
Let us view the hypothesis experiment 4.vii* in particular. After first 100 generations, the top ten solutions
within the population are depicted combinatorially as:
Figure 6-8: Top 10 Signal-Ensemble Trading Model Solutions, 100th Generation
The top performing signal-ensemble trading model solution is shown at the top left. The percentage
figures correspond to its ACG performance evaluation for OPTM and TEST data set respectively. Each
solution signal-ensemble trading model is depicted by its class combination. The best solution so far (with
15.42% ACG on OPTM data) is combinatorially depicted by (0,1,2,0,1). In other word, it contains
n Dum = 0 signal model ‘on the bottom rung’, n M2L = 1 signal model ‘on the next rung’, n M3L = 2
signal models, o 1 M3L and o 2 M3L , ‘on the middle rung’, n M2E = 1 signal model ‘on the fourth rung’,
and finally n M3E = 1 signal model ‘on the top rung’. The next best solution (with 15.16%) is a
(1,1,1,1,0) signal-ensemble solution, followed by (0,1,1,1,1), (1,2,1,0,0), and (0,0,3,0,1), and so on.
6 Evolutionary Optimisation Experiments
207
Note the rich diversity in terms of solution signal-ensemble class combinations. As the algorithm
progresses, we observe that the population tends to ‘settle down’ onto a particular class combination and
from thence continue to evolve the encapsulated model parameters. That is, the population tends to
converge combinatorially first, and continue to evolve parametrically. Occasionally, phenotype class
mutation will stir this up a bit, possibly leading to a different class combination being generally preferred.
In other word, the early combinatorial convergences are premature and temporary. Overall, we find it
reassuring that the combinatorial convergence process is active toward the beginning of the run, after
which the parametric search and convergence is the principal process, as this mirrors our formulating the
combinatorial-parametric TMP as a staged optimisation problem, whereby the parametric problem can be
posed only after the combinatorial configuration has been proposed. Toward algorithmic convergence, the
population will converge in terms of the signal-ensemble class combination. Finally, at convergence:
Figure 6-9: Top 10 Signal-Ensemble Trading Model Solutions, At Convergence
We can look at the evolutionarily optimised signal-ensemble trading model solution in detail (Figure 6-
10).
Here, there is one market position ‘piano scroll’ for each component signal model function
f i t tSignalM
( ) , , ,= 1 1005K , i N= 1, ,K , as well as the ‘integrated’ track to depict
f Ensemble SignalM( ) , , ,t t = 1 1005K , the model-trading action of our evolutionarily optimised signal-
ensemble financial time-series trading model solution.
Evolutionary Optimisation and Financial Model-Trading
208
Figure 6-10: Optimised Signal-Ensemble Trading Model, Model-Trading ‘History’
6.4 Experimental Conclusion
We set out to construct a high-frequency financial time-series trading model which generates each market
position by taking signal recommendations from a number of financial time-series trend indicating signal
models from a number of different classes. By employing our newly engineered EO paradigm of
phenotypic coevolution, modelled and implemented from an OO viewpoint, we were able to effectuate
both the combinatorial and the parametric search processes simultaneously during the course of a
simulated evolution.
Our experiments proved, firstly, that all evolutionarily optimised trading models were able to make
significant P/L earnings while the standard benchmark did not even return a positive ACG. When the
market trend is simple and monotonic, a complicated signal-ensemble system does not perform
significantly better than a single-signal trading model. The advantage of an ensemble approach becomes
apparent when the market’s trending behaviour gets more complicated. While a single-class signal-
6 Evolutionary Optimisation Experiments
209
ensemble trading model generally performs better than single-signal trading models, the completely
general, combinatorially evolved and parametrically optimised class-combinatorial object-array signal-
ensemble trading model solutions tend to perform the best. With POP & PAD, we were able to take
advantage of this generalised TMP solution/search space.
Evolutionary Optimisation and Financial Model-Trading
210
6. Evolutionary Optimisation Experiments_______________________188 6.1 Experimental Set-up _____________________________________________ 188
6.1.1 High-Frequency Foreign Exchange Data ________________________________ 188 6.1.2 Supplementary Model-Trading Statistics ________________________________ 191
6.2 Experimental Hypotheses _________________________________________ 192 6.2.1 Single-Signal Trading Model Optimisation Experiments ____________________ 194 6.2.2 Signal-Ensemble Trading-Model Optimisation Experiments _________________ 195
6.3 Experimental Results_____________________________________________ 196 6.3.1 Single-Signal Trading Model Optimisation Experiments ____________________ 196 6.3.2 Signal-Ensemble Trading Model Optimisation Experiments _________________ 202
6.4 Experimental Conclusion__________________________________________ 208
Figure 6-1: USD/DEM data__________________________________________________________ 189 Figure 6-2: USD/JPY data___________________________________________________________ 189 Figure 6-3: USD/CHF data __________________________________________________________ 190 Figure 6-4: DEM/JPY data __________________________________________________________ 190 Figure 6-5: Specifying the Trading Model Solution-Function Space __________________________ 193 Figure 6-6: Manual Parametric Specification of the Benchmark Momentum-MVA Trading Model___ 194 Figure 6-7: Benchmark Mom<0|12|24>LinMVA trading model, DEM/JPY data ________________ 197 Figure 6-8: Top 10 Signal-Ensemble Trading Model Solutions, 100th Generation ________________ 206 Figure 6-9: Top 10 Signal-Ensemble Trading Model Solutions, At Convergence_________________ 207 Figure 6-10: Optimised Signal-Ensemble Trading Model, Model-Trading ‘History’ ______________ 208 Table 6-1: USD/DEM Single-Signal Experimental Results __________________________________ 198 Table 6-2: USD/JPY Single-Signal Experimental Results ___________________________________ 199 Table 6-3: USD/CHF Single-Signal Experimental Results __________________________________ 200 Table 6-4: DEM/JPY Single-Signal Experimental Results __________________________________ 201 Table 6-5: USD/DEM Signal-Ensemble Experimental Results _______________________________ 202 Table 6-6: USD/JPY Signal-Ensemble Experimental Results ________________________________ 203 Table 6-7: USD/CHF Signal-Ensemble Experimental Results _______________________________ 204 Table 6-8: DEM/JPY Signal-Ensemble Experimental Results________________________________ 205
Chankong, V. and Y. Haimes (1983). Multiobjective Decision Making: Theory and Methodology. New York, North-Holland. Law, A. M. and W. D. Kelton (1991). Simulation Modeling & Analysis. New York, McGraw-Hill.