Creating a Trading System within Trading System Lab
Trading System Lab will automatically generate Trading Systems on any market in a few minutes using a very advanced computer program known as a AIMGP (Automatic Induction of Machine Code with Genetic Programming). Creation of a Trading System within Trading System Lab is accomplished in 3 easy steps. First, a simple preprocessor is run that automatically extracts and preprocesses the necessary data from the market you wish to work with. TSL accepts CSI, MetaStock, AIQ, TradeStation, Free Internet data, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, Binary and Internet Streaming data. Second, the Trading System Generator (GP) is run for several minutes, or more, to evolve a new Trading System. You may use your own data, patterns, indicators, intermarket relationships or fundamental data within TSL. Third, the evolved Trading System is formatted to produce new Trading System signals from within TradeStation™ or many other trading platforms. TSL will automatically write Easy Language, Java, Assembler, C code, C# code and WealthLab Script Language. The Trading System may then be manually traded, traded through a broker, or automatically traded. You may create the Trading System yourself or we can do it for you. Then, either you or your broker may trade the system either manually or automatically.
Trading System Lab's Genetic Program contains several features that reduce the possibility of curve fitting, or producing a Trading System that does not continue to perform into the future. First, the evolved Trading Systems have their size pruned down to the lowest possible size through what is called Parsimony Pressure, drawing from the concept of minimal description length. Thus the resultant Trading System is as simple as possible and it is generally believed that the simpler the Trading System is, the better it will perform into the future. Secondly, randomness is introduced into the evolutionary process, which reduces the possibility of finding solutions that are locally, but not globally optimum. Randomness is introduced over not just the combinations of the genetic material used in the evolved Trading Systems, but in Parsimony Pressure, Mutation, Crossover and other higher-level GP parameters. Out of Sample testing is performed while training is in progress with statistical information presented on both the In Sample and Out of Sample Trading System testing. Run logs are presented to the user for Training, Validation and Out of Sample data. Well behaved Out of Sample performance may be indicative that the Trading System is evolving with robust characteristics. Substantial deterioration in the automatic Out of Sample testing compared to the In Sample testing may imply that creation of a robust Trading System is in doubt or that the Terminal, or Input Set may need to be changed. Finally, the Terminal Set is carefully chosen so as to not overly bias the selection of the initial genetic material towards any particular market bias or sentiment.
TSL does not begin its run with a Trading System predefined. In fact, only the Input Set and a selection of market entry mode or modes, for automatic entry search and assignment, is initially made. A pattern or indicator behavior that may be thought of as a bullish situation may be used, discarded or inverted within the GP. No pattern or indicator is pre-assigned to any particular market movement bias. This is a radical departure from manually generated Trading System development.
A Trading System is a logical set of instructions that tell the trader when to buy or sell a particular market. These instructions rarely require intervention by a trader. Trading Systems may be manually traded, by observing trading instructions on a computer screen, or may be traded by allowing the computer to enter trades in the market automatically. Both methods are in widespread use today. There are more professional money managers that consider themselves "Systematic or Mechanical" traders than those who consider themselves "Discretionary", and the performance of Systematic money managers is generally superior to that of Discretionary money managers. Studies have shown that trading accounts generally lose money more often if the client is not using a Trading System. The significant rise in Trading Systems over the past 10 years is evident especially in the commodity brokerage firms, however equity and bond market brokerage firms are becoming increasingly aware of the benefits through the use of Trading Systems and some have begun to offer Trading Systems to their retail clients.
Most mutual fund managers are already using sophisticated computer algorithms to guide their decisions as to what "hot stock to pick" or what "sector rotation" is in favor. Computers and algorithms have become mainstream in investing and we expect this trend to continue as younger, more computer savvy investors continue to allow portions of their money to be managed by Trading Systems to reduce risk and increase returns. The huge losses experienced by investors participating in buying and holding stocks and mutual funds as the stock market melted down in past years is furthering this movement towards a more disciplined and logical approach to stock market investing. The average investor realizes that he or she currently allows many aspects of their lives and the lives of their loved ones to be maintained or controlled by computers such as the automobiles and aircraft we use for transportation, the medical diagnostic equipment we use for health maintenance, the heating and refrigeration controllers we use for temperature control, the networks we use for internet based information, even the games we play for entertainment. Why then do some retail investors believe that they can "shoot from the hip" in their decisions as to "what" stock or mutual fund to buy or sell and expect to make money? Finally, the average investor has become wary of the advice and information forwarded by unscrupulous brokers, accountants, corporate principals and financial advisors.
For the past 20 years mathematicians and software developers have searched indicators and patterns in stock and commodity markets looking for information that may point to the direction of the market. This information may be used to enhance the performance of Trading Systems. Generally this discovery process is accomplished through a combination of trial and error and more sophisticated "Data Mining". Typically, the developer will take weeks or months of number crunching in order to produce a potential Trading System. Many times this Trading System will not perform well when actually used in the future due to what is called "curve fitting". Over the years there have been many Trading Systems (and Trading System development companies) that have come and gone as their systems have failed in live trading. Developing Trading Systems that continue to perform into the future is difficult, but not impossible to accomplish, although no ethical developer or money manager will give an unconditional guarantee that any Trading System, or for that matter any stock, bond or mutual fund, will continue to produce profits into the future forever.
What took weeks or months for the Trading System developer to produce in the past may now be produced in minutes through the use of Trading System Lab. Trading System Lab is a platform for the automatic generation of Trading Systems and Trading Indicators. TSL makes use of a high speed Genetic Programming Engine and will produce Trading Systems at a rate of over 16 million system-bars per second based on 56 inputs. Note that only a few inputs will actually be used or necessary resulting in generally simple evolved strategy structures. With approximately 40,000 to 200,000 systems needed for a convergence, time to convergence for any data set can be approximated. Note that we are not simply running a brute force optimization of existing indicators looking for optimum parameters from which to use in an already structured Trading System. The Trading System Generator begins at a zero point origin making no assumptions about the movement of the market in the future and then "evolves" Trading Systems at a very high rate combining information present in the market and formulating new filters, functions, conditions and relationships as it progresses towards a "genetically engineered" Trading System. The result is that an excellent Trading System may be generated in a few minutes on 20-30 years of daily market data on virtually any market.
Over the past few years there have been several approaches to Trading System optimization that employ the less powerful Genetic "Algorithm". Genetic Programs (GP's) are superior to Genetic Algorithms (GA's) for several reasons. First, GP's converge on a solution at an exponential rate (very fast and getting faster) whereas Genetic Algorithms converge at a linear rate (much slower and not getting any faster). Second, GP's actually generate Trading System machine code that combined the genetic material (indicators, patterns, inter-market data) in unique ways. These unique combinations may not be intuitively obvious and do not require initial definitions by the system developer. The unique mathematical relationships created may become new indicators, or variants in Technical Analysis, not yet developed or discovered. GA's, on the other hand, simply look for optimum solutions as they progress over the parameter range; they do not discover new mathematical relationships and do not write their own Trading System code. GP's create Trading System code of various lengths, using variable length genomes, will modify the length of the Trading System through what is called non-homologous crossover and will completely discard an indicator or pattern that does not contribute to the efficiency of the Trading System. GA's use only fixed size instruction blocks, making use of only homologous crossover and do not produce variable length Trading System code, nor will they discard an inefficient indicator or pattern as readily as a GP. Finally, Genetic Programs are a recent advancement in the domain of machine learning, whereas Genetic Algorithms were discovered 30 years ago. Genetic Programs do include all of the main functionality of Genetic Algorithms; crossover, reproduction, mutation and fitness, however GP's include much faster and robust features, making GP's the best choice for producing Trading Systems. The GP employed in TSL's Trading System Generator is the fastest GP currently available and is not available in any other financial market software in the world.
The Genetic Programming Algorithm, Trading Simulator and Fitness Engines used within TSL took over 8 years to produce.
Trading System Lab is the result of years of hard work by a team of engineers, scientists, programmers and traders, and we believe represents the most advanced technology available today for trading the markets.