220 likes | 244 Views
Besting Dollar Cost Averaging Using A Genetic Algorithm. Thesis Proposal James Maxlow Christopher Newport University October 2003. Introduction. Wealth creating through investment is an important goal for fiscally responsible citizens
E N D
Besting Dollar Cost Averaging Using A Genetic Algorithm Thesis Proposal James Maxlow Christopher Newport University October 2003
Introduction • Wealth creating through investment is an important goal for fiscally responsible citizens • Many investors, though, fear or don’t understand the workings of investment markets, and are distrustful of advice given by professionals • Because of this, they may choose to rely on a purely mechanical investing approach known as dollar-cost-averaging that absolves then from falling prey to “bad” investment advice • However, what if there were a mechanical strategy that could outperform DCA?
Purpose • The purpose of this project is to devise mechanical investment strategies that outperform dollar-cost-averaging • If this can be accomplished, then such strategies can be made available to investors as alternatives to DCA • These strategies will be based solely on the price histories of investments, ignoring any attempts to “time” the market • The devising of strategies will be left to the workings of a genetic algorithm
Questions • Some questions that this project will seek to answer are as follows • Does applying the derived strategies to test data sets lead to greater portfolio values than dollar-cost averaging over the same data? • How does the underlying trend of the training data set used to derive a strategy affect the strategy’s performance on the test data set? • Will strategies derived using the same training data share common actions at most or all price changes, or will significant differences show up, producing multiple distinct but equally effective strategies?
Questions • If multiple different strategies can be produced using a single training data set, what can be said about the probability of any single strategy producing positive results when used on a test data set? • Will hold be an action suggested by the derived strategies due to the transactional cost of buying and selling, or will the genetic algorithm route around the hold action by finding more productive buy and sell actions in its exploration of possibilities? • Will transactional costs play a significant role in the quality of the output produced by derived strategies and dollar-cost strategies on a given data set?
Research - DCA • The use of DCA allows for the acquisition of shares at a lower average cost than the average share price • Because DCA is an automatic-buy strategy, there are no decisions to be made by the investor, save for the investment itself – it is a hands-off strategy • This makes it appealing to those that feel they have no ability to know when to buy or sell • It is often used by those on fixed incomes and in retirement plans (401k, et. al.) • But does it actually provide good ROI?
Research - DCA • Some research [5] suggests that the use of DCA yields no significantly better ROI than random buy/sell decisions for a given investment • If this is true, then the psychological security that DCA provides hesitant investors may simply hide its relative ineffectiveness • A strategy that bests DCA’s ROI for a given investment, then, would serve as a more productive alternative to random, “time the market” buy/sell decisions
Background – Genetic Algorithms • The majority of today’s GA research expands on the pioneering work done by John Holland in the 60s • GAs work by evolving solutions to problems • More specifically, possible solutions are split, recombined and mutated to breed new solutions that are “more fit” or stronger than their predecessors • As the generations of solutions pass by, the meta-search for the best or ideal solution is focused on promising lineages – most weaker branches are eventually abandoned
Background – Genetic Algorithms • Because of this, the initial time of the GA is spent weeding out totally unfit solutions, and the latter time is spent optimizing very fit solutions • This process can, in many cases, yield greater efficiency in finding an ideal solution than brute-force search techniques • Moreover, a GA only needs to know what a solution will look like – it does not need to have a collection of all possible solutions like a brute-force technique – because it can “create” solutions on its own
Background – Genetic Algorithms • All of these factors make Gas highly appealing for ill-defined problems that feature odd or unknown solution spaces • Three tasks must be completed to run a GA • First, the structure of the possible solution (chromosome) must be designed • Second, the fitness algorithm for evaluating the strength of possible solutions must be designed • Third, solution population, mating, and mutation variables must be set
Genetic Algorithm Design • The chromosome for this project will consist of an array of integer values between 0 and 2 inclusive • The value will correspond to a buy, sell, or hold decision • The position of the value in the array will correspond to an interval representing a given percentage increase or decrease in stock price [-5%, 0%) [0%, 5%) [5%, 10%) [10%, 15%) [15%, 20%) [25%, 30%) [-20%, -15%) [-15%, -10%) [-10%, -5%) 0 1 1 2 0 0 1 2 2 … …
Genetic Algorithm Design • Any possible solution will offer direct advice as to what action to take when a given stock changes in price • But how can the fitness of this advice be judged? • The GA will apply the advice of every possible solution it generates to the established price history of a stock – the higher the ROI for that advice, the stronger the solution [-5%, 0%) [0%, 5%) [5%, 10%) [10%, 15%) [15%, 20%) [25%, 30%) [-20%, -15%) [-15%, -10%) [-10%, -5%) 0 1 1 2 0 0 1 2 2 … …
Genetic Algorithm Design • At this point it can be seen that the GA will try to form advice based on past stock prices – but that in itself does nothing for the investor • It is hoped that there is a hidden structure to stock price fluctuations such that “what worked well in the past will likely work well again in the future” • That is to say that if buying when a stock’s price rose 12% in the past produced positive results, so should repeating that action in the future, in most cases
Genetic Algorithm Design • The next phase, then, will be to apply the strongest solutions to a new data set – the “current” stock price values over, say, a year – and see how the solution’s ROI compares with DCA over the same time period • If the solution’s ROI is higher, then it will have been established that GA generated advice based solely on price histories can be a better alternative to DCA • If, however, applying the solutions to new data sets fails to produce significantly better results than DCA, then it will have been established that price histories alone are insufficient to base decisions on
Methodology • GA code will be chosen (EO or GAlib) • Stocks will be chosen and price histories acquired (given trend lines, deviation from the trend, and distance back in time) • Chromosome will be implemented in code • Fitness algorithm will be implemented in code • Program structure will be finalized • Testing will be done with various GA parameters
Methodology • The GA will be set to work devising several strategies from the price history of a given stock • Each of these strategies will then be applied to the test data set to determine ROI • This will be repeated for all stocks • DCA’s ROI for each stock will be calculated on the test data set • Optimum ROI for each stock (if “timed” perfectly) will be calculated for comparative results
Methodology • The results of the devised strategies will be statistically analyzed to determine if they indeed offer any benefit over DCA, and if the GA can devise consistently better strategies • The final report will be written
Timeline • Evaluation of GAlib / EO for project suitability - 3 days • Stock and index choices, gathering of price histories, calculation of optimal cases - 2 days • Design and implementation of chromosome and fitness model - 1.5 weeks • Testing, tweaking, and refactoring code; testing with parameter variation - 2 days
Timeline • Using genetic algorithm to derive strategies, applying strategies to new data sets - 3 days • Dollar-cost averaging program coding and use on data sets - 1 day • Statistical Analysis - 2 weeks • Report - 3 weeks --------------------------------- • Total - 8 weeks
Conclusion • The efficiency and robustness of genetic algorithms should allow for the easy derivation of mechanical investment strategies • These strategies can be put head to head with DCA to determine their value to investors • It is believed that DCA can be bested using this method
References • [1] EO documentation: https://sourceforge.net/projects/eodev/ • [2] Edleson, M. E. Value Averaging: The Safe and Easy Investment Strategy. Chicago: International Publishing Corporation, 1991. • [3] GAlib documentation: http://lancet.mit.edu/ga/ • [4] Liscio, J. Portfolio Discipline: The Rewards of Dollar Cost Averaging. Barron’s, Aug. 8, 1988, pp. 57-58. • [5] Marshall, Paul S. A Statistical Comparison of Value Averaging vs. Dollar Cost Averaging and Random Investing Techniques. Journal of Financial and Strategic Decisions: Vol. 13 No. 1, Spring 2000. • [6] Mitchell, Melanie. An Introduction to Genetic Algorithms. Cambridge: The MIT Press, 2002. • [7] The Vanguard Group of Investment Companies. The Dollar Cost Averaging Advantage. Valley Forge: Brochure #0888-5, BDCA, 1988.