Asset Allocation using Genetic Algorithms
(GeneHunter from Ward Systems Group)
Here is a sample of a genetic application which will optimize the selection
of 5 Nasdaq stocks among 20 in order to best mimic the index with a reduced
It is a Excel spreadsheet, where cross-correlations of log returns are
calculated, then a genetic algorithm searches the optimal allocation according
to a fitness function defined as follows:
Maximizing correlation to the Nasdaq-100 index
Minimizing inter-correlations in the 5-stock selection
Other fitness functions can be designed on
Our distribution rights do not allow us to show the VBA source code, unless you
can prove you are a WSG GeneHunter registered user. In such case, a
unprotected copy will be sent to you by mail.
With most settings being hard-coded in protected VBA, the current format is
unfortunately relatively inflexible. For instance, if you want to use your
own data, the index data must be in the first column, and the 20 stocks in the
following ones. The current model requires a 20-stock selection. There
however should not be any limit to the number of rows.
Please note that the galib32.dll is
necessary to run the Excel/VBA program. This DLL is also part of the GPF,
so it is not necessary to download it again. That DLL must be placed into
the Windows System32 folder. It has been checked for viruses, but you
should of course verify this again at your end.
to download the spreadsheet. To run the program, just click the button
that is added to the menu upon loading.