Testing And Tuning Market Trading Systems

Download Testing And Tuning Market Trading Systems PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Testing And Tuning Market Trading Systems book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Testing and Tuning Market Trading Systems

Build, test, and tune financial, insurance or other market trading systems using C++ algorithms and statistics. You’ve had an idea and have done some preliminary experiments, and it looks promising. Where do you go from here? Well, this book discusses and dissects this case study approach. Seemingly good backtest performance isn't enough to justify trading real money. You need to perform rigorous statistical tests of the system's validity. Then, if basic tests confirm the quality of your idea, you need to tune your system, not just for best performance, but also for robust behavior in the face of inevitable market changes. Next, you need to quantify its expected future behavior, assessing how bad its real-life performance might actually be, and whether you can live with that. Finally, you need to find its theoretical performance limits so you know if its actual trades conform to this theoretical expectation, enabling you to dump the system if it does not liveup to expectations. This book does not contain any sure-fire, guaranteed-riches trading systems. Those are a dime a dozen... But if you have a trading system, this book will provide you with a set of tools that will help you evaluate the potential value of your system, tweak it to improve its profitability, and monitor its on-going performance to detect deterioration before it fails catastrophically. Any serious market trader would do well to employ the methods described in this book. What You Will Learn See how the 'spaghetti-on-the-wall' approach to trading system development can be done legitimately Detect overfitting early in development Estimate the probability that your system's backtest results could have been due to just good luck Regularize a predictive model so it automatically selects an optimal subset of indicator candidates Rapidly find the global optimum for any type of parameterized trading system Assess the ruggedness of your trading system against market changes Enhance the stationarity and information content of your proprietary indicators Nest one layer of walkforward analysis inside another layer to account for selection bias in complex trading systems Compute a lower bound on your system's mean future performance Bound expected periodic returns to detect on-going system deterioration before it becomes severe Estimate the probability of catastrophic drawdown Who This Book Is For Experienced C++ programmers, developers, and software engineers. Prior experience with rigorous statistical procedures to evaluate and maximize the quality of systems is recommended as well.
Permutation and Randomization Tests for Trading System Development

This book provides the trading system developer with a powerful set of statistical tools for measuring vital aspects of performance that are ignored by most developers. All algorithms include intuitive justification, basic theory, all relevant equations, and highly commented C++ code for complete programs that run in a Windows Command Console. Reprogramming them in other languages should be easy, given the detailed explanations of each algorithm. The following topics are covered: Testing for overfitting at the earliest possible stage Evaluating the luckiness-versus-skill of a fully developed system before deploying it Testing the effectiveness and reliability of a trading system factory Removing selection bias when screening a large number of indicators Probability bounds for future mean returns Bounding typical and catastrophic future drawdowns Is the best indicator or model in a competition truly the best, or just the luckiest? Which markets provide truly superior profits for your trading system? What holding time for your system provides the best risk/return performance?
Modern Data Mining Algorithms in C++ and CUDA C

Discover a variety of data-mining algorithms that are useful for selecting small sets of important features from among unwieldy masses of candidates, or extracting useful features from measured variables. As a serious data miner you will often be faced with thousands of candidate features for your prediction or classification application, with most of the features being of little or no value. You’ll know that many of these features may be useful only in combination with certain other features while being practically worthless alone or in combination with most others. Some features may have enormous predictive power, but only within a small, specialized area of the feature space. The problems that plague modern data miners are endless. This book helps you solve this problem by presenting modern feature selection techniques and the code to implement them. Some of these techniques are: Forward selection component analysis Local feature selection Linking features and a target with a hidden Markov model Improvements on traditional stepwise selection Nominal-to-ordinal conversion All algorithms are intuitively justified and supported by the relevant equations and explanatory material. The author also presents and explains complete, highly commented source code. The example code is in C++ and CUDA C but Python or other code can be substituted; the algorithm is important, not the code that's used to write it. What You Will Learn Combine principal component analysis with forward and backward stepwise selection to identify a compact subset of a large collection of variables that captures the maximum possible variation within the entire set. Identify features that may have predictive power over only a small subset of the feature domain. Such features can be profitably used by modern predictive models but may be missed by other feature selection methods. Find an underlying hidden Markov model that controls the distributions of feature variables and the target simultaneously. The memory inherent in this method is especially valuable in high-noise applications such as prediction of financial markets. Improve traditional stepwise selection in three ways: examine a collection of 'best-so-far' feature sets; test candidate features for inclusion with cross validation to automatically and effectively limit model complexity; and at each step estimate the probability that our results so far could be just the product of random good luck. We also estimate the probability that the improvement obtained by adding a new variable could have been just good luck. Take a potentially valuable nominal variable (a category or class membership) that is unsuitable for input to a prediction model, and assign to each category a sensible numeric value that can be used as a model input. Who This Book Is For Intermediate to advanced data science programmers and analysts.