9 research outputs found

    An investigation into the use of neural networks for the prediction of the stock exchange of Thailand

    Get PDF
    Stock markets are affected by many interrelated factors such as economics and politics at both national and international levels. Predicting stock indices and determining the set of relevant factors for making accurate predictions are complicated tasks. Neural networks are one of the popular approaches used for research on stock market forecast. This study developed neural networks to predict the movement direction of the next trading day of the Stock Exchange of Thailand (SET) index. The SET has yet to be studied extensively and research focused on the SET will contribute to understanding its unique characteristics and will lead to identifying relevant information to assist investment in this stock market. Experiments were carried out to determine the best network architecture, training method, and input data to use for this task. With regards network architecture, feedforward networks with three layers were used - an input layer, a hidden layer and an output layer - and networks with different numbers of nodes in the hidden layers were tested and compared. With regards training method, neural networks were trained with back-propagation and with genetic algorithms. With regards input data, three set of inputs, namely internal indicators, external indicators and a combination of both were used. The internal indicators are based on calculations derived from the SET while the external indicators are deemed to be factors beyond the control of the Thailand such as the Down Jones Index

    A Field Guide to Genetic Programming

    Get PDF
    xiv, 233 p. : il. ; 23 cm.Libro ElectrónicoA Field Guide to Genetic Programming (ISBN 978-1-4092-0073-4) is an introduction to genetic programming (GP). GP is a systematic, domain-independent method for getting computers to solve problems automatically starting from a high-level statement of what needs to be done. Using ideas from natural evolution, GP starts from an ooze of random computer programs, and progressively refines them through processes of mutation and sexual recombination, until solutions emerge. All this without the user having to know or specify the form or structure of solutions in advance. GP has generated a plethora of human-competitive results and applications, including novel scientific discoveries and patentable inventions. The authorsIntroduction -- Representation, initialisation and operators in Tree-based GP -- Getting ready to run genetic programming -- Example genetic programming run -- Alternative initialisations and operators in Tree-based GP -- Modular, grammatical and developmental Tree-based GP -- Linear and graph genetic programming -- Probalistic genetic programming -- Multi-objective genetic programming -- Fast and distributed genetic programming -- GP theory and its applications -- Applications -- Troubleshooting GP -- Conclusions.Contents xi 1 Introduction 1.1 Genetic Programming in a Nutshell 1.2 Getting Started 1.3 Prerequisites 1.4 Overview of this Field Guide I Basics 2 Representation, Initialisation and GP 2.1 Representation 2.2 Initialising the Population 2.3 Selection 2.4 Recombination and Mutation Operators in Tree-based 3 Getting Ready to Run Genetic Programming 19 3.1 Step 1: Terminal Set 19 3.2 Step 2: Function Set 20 3.2.1 Closure 21 3.2.2 Sufficiency 23 3.2.3 Evolving Structures other than Programs 23 3.3 Step 3: Fitness Function 24 3.4 Step 4: GP Parameters 26 3.5 Step 5: Termination and solution designation 27 4 Example Genetic Programming Run 4.1 Preparatory Steps 29 4.2 Step-by-Step Sample Run 31 4.2.1 Initialisation 31 4.2.2 Fitness Evaluation Selection, Crossover and Mutation Termination and Solution Designation Advanced Genetic Programming 5 Alternative Initialisations and Operators in 5.1 Constructing the Initial Population 5.1.1 Uniform Initialisation 5.1.2 Initialisation may Affect Bloat 5.1.3 Seeding 5.2 GP Mutation 5.2.1 Is Mutation Necessary? 5.2.2 Mutation Cookbook 5.3 GP Crossover 5.4 Other Techniques 32 5.5 Tree-based GP 39 6 Modular, Grammatical and Developmental Tree-based GP 47 6.1 Evolving Modular and Hierarchical Structures 47 6.1.1 Automatically Defined Functions 48 6.1.2 Program Architecture and Architecture-Altering 50 6.2 Constraining Structures 51 6.2.1 Enforcing Particular Structures 52 6.2.2 Strongly Typed GP 52 6.2.3 Grammar-based Constraints 53 6.2.4 Constraints and Bias 55 6.3 Developmental Genetic Programming 57 6.4 Strongly Typed Autoconstructive GP with PushGP 59 7 Linear and Graph Genetic Programming 61 7.1 Linear Genetic Programming 61 7.1.1 Motivations 61 7.1.2 Linear GP Representations 62 7.1.3 Linear GP Operators 64 7.2 Graph-Based Genetic Programming 65 7.2.1 Parallel Distributed GP (PDGP) 65 7.2.2 PADO 67 7.2.3 Cartesian GP 67 7.2.4 Evolving Parallel Programs using Indirect Encodings 68 8 Probabilistic Genetic Programming 8.1 Estimation of Distribution Algorithms 69 8.2 Pure EDA GP 71 8.3 Mixing Grammars and Probabilities 74 9 Multi-objective Genetic Programming 75 9.1 Combining Multiple Objectives into a Scalar Fitness Function 75 9.2 Keeping the Objectives Separate 76 9.2.1 Multi-objective Bloat and Complexity Control 77 9.2.2 Other Objectives 78 9.2.3 Non-Pareto Criteria 80 9.3 Multiple Objectives via Dynamic and Staged Fitness Functions 80 9.4 Multi-objective Optimisation via Operator Bias 81 10 Fast and Distributed Genetic Programming 83 10.1 Reducing Fitness Evaluations/Increasing their Effectiveness 83 10.2 Reducing Cost of Fitness with Caches 86 10.3 Parallel and Distributed GP are Not Equivalent 88 10.4 Running GP on Parallel Hardware 89 10.4.1 Master–slave GP 89 10.4.2 GP Running on GPUs 90 10.4.3 GP on FPGAs 92 10.4.4 Sub-machine-code GP 93 10.5 Geographically Distributed GP 93 11 GP Theory and its Applications 97 11.1 Mathematical Models 98 11.2 Search Spaces 99 11.3 Bloat 101 11.3.1 Bloat in Theory 101 11.3.2 Bloat Control in Practice 104 III Practical Genetic Programming 12 Applications 12.1 Where GP has Done Well 12.2 Curve Fitting, Data Modelling and Symbolic Regression 12.3 Human Competitive Results – the Humies 12.4 Image and Signal Processing 12.5 Financial Trading, Time Series, and Economic Modelling 12.6 Industrial Process Control 12.7 Medicine, Biology and Bioinformatics 12.8 GP to Create Searchers and Solvers – Hyper-heuristics xiii 12.9 Entertainment and Computer Games 127 12.10The Arts 127 12.11Compression 128 13 Troubleshooting GP 13.1 Is there a Bug in the Code? 13.2 Can you Trust your Results? 13.3 There are No Silver Bullets 13.4 Small Changes can have Big Effects 13.5 Big Changes can have No Effect 13.6 Study your Populations 13.7 Encourage Diversity 13.8 Embrace Approximation 13.9 Control Bloat 13.10 Checkpoint Results 13.11 Report Well 13.12 Convince your Customers 14 Conclusions Tricks of the Trade A Resources A.1 Key Books A.2 Key Journals A.3 Key International Meetings A.4 GP Implementations A.5 On-Line Resources 145 B TinyGP 151 B.1 Overview of TinyGP 151 B.2 Input Data Files for TinyGP 153 B.3 Source Code 154 B.4 Compiling and Running TinyGP 162 Bibliography 167 Inde

    Using Prior Knowledge and Learning from Experience in Estimation of Distribution Algorithms

    Get PDF
    Estimation of distribution algorithms (EDAs) are stochastic optimization techniques that explore the space of potential solutions by building and sampling explicit probabilistic models of promising candidate solutions. One of the primary advantages of EDAs over many other stochastic optimization techniques is that after each run they leave behind a sequence of probabilistic models describing useful decompositions of the problem. This sequence of models can be seen as a roadmap of how the EDA solves the problem. While this roadmap holds a great deal of information about the problem, until recently this information has largely been ignored. My thesis is that it is possible to exploit this information to speed up problem solving in EDAs in a principled way. The main contribution of this dissertation will be to show that there are multiple ways to exploit this problem-specific knowledge. Most importantly, it can be done in a principled way such that these methods lead to substantial speedups without requiring parameter tuning or hand-inspection of models

    Evolutionary Algorithms Based on Effective Search Space Reduction for Financial Optimization Problems

    Get PDF
    학위논문 (박사)-- 서울대학교 대학원 : 전기·컴퓨터공학부, 2015. 8. 문병로.This thesis presents evolutionary algorithms incorporated with effective search space reduction for financial optimization problems. Typical evolutionary algorithms try to find optimal solutions in the original, or unrestricted search space. However, they can be unsuccessful if the optimal solutions are too complex to be discovered from scratch. This can be relieved by restricting the forms of meaningful solutions or providing the initial population with some promising solutions. To this end, we propose three evolution approaches including modular, grammatical, and seeded evolutions for financial optimization problems. We also adopt local optimizations for fine-tuning the solutions, resulting in hybrid evolutionary algorithms. First, the thesis proposes a modular evolution. In the modular evolution, the possible forms of solutions are statically restricted to certain combinations of module solutions, which reflect more domain knowledge. To preserve the module solutions, we devise modular genetic operators which work on modular search space. The modular genetic operators and statically defined modules help genetic programming focus on highly promising search space. Second, the thesis introduces a grammatical evolution. We restrict the possible forms of solutions in genetic programming by a context-free grammar. In the grammatical evolution, genetic programming works on more extended search space than modular one. Grammatically typed genetic operators are introduced for the grammatical evolution. Compared with the modular evolution, grammatical evolution requires less domain knowledge. Finally, the thesis presents a seeded evolution. Our seeded evolution provides the initial population with partially optimized solutions. The set of genes for the partial optimization is selected in terms of encoding complexity. The partially optimized solutions help genetic algorithm find more promising solutions efficiently. Since they are not too excessively optimized, genetic algorithm is still able to search better solutions. Extensive empirical results are provided using three real-world financial optimization problems: attractive technical pattern discovery, extended attractive technical pattern discovery, and large-scale stock selection. They show that our search space reductions are fairly effective for the problems. By combining the search space reductions with systematic evolutionary algorithm frameworks, we show that evolutionary algorithms can be exploited for realistic profitable trading.1. Introduction 1 1.1 Search Methods 3 1.2 Search Space Reduction 4 1.3 Main Contributions 5 1.4 Organization 7 2. Preliminaries 8 2.1 Evolutionary Algorithms 8 2.1.1 Genetic Algorithm 10 2.1.2 Genetic Programing 11 2.2 Evolutionary Algorithms in Finance 12 2.3 Search Space Reduction 12 2.3.1 Modular Evolution 12 2.3.2 Grammatical Evolution 13 2.3.3 Seeded Evolution 14 2.3.4 Summary 14 2.4 Terminology 15 2.4.1 Technical Pattern and Technical Trading Rule 15 2.4.2 Forecasting Model and Trading Model 16 2.4.3 Portfolio and Rebalancing 17 2.4.4 Data Snooping Bias 17 2.5 Financial Optimization Problems 19 2.5.1 Attractive Technical Pattern Discovery and Its Extension 19 2.5.2 Stock Selection 20 2.6 Issues 21 2.6.1 General Assumptions 21 2.6.2 Performance Measure 22 3. Modular Evolution 23 3.1 Modular Genetic Programming 24 3.2 Hybrid Genetic Programming 28 3.3 Attractive Technical Pattern Discovery 29 3.3.1 Introduction 29 3.3.2 Problem Formulation 31 3.3.3 Modular Search Space 33 3.3.4 Experimental Results 35 3.3.5 Summary 41 4. Grammatical Evolution 44 4.1 Grammatical Type System 45 4.2 Hybrid Genetic Programming 47 4.3 Extended Attractive Technical Pattern Discovery 51 4.3.1 Introduction 51 4.3.2 Problem Formulation 54 4.3.3 Experimental Results 56 4.3.4 Summary 73 5. Seeded Evolution 76 5.1 Heuristic Seeding 77 5.2 Hybrid Genetic Algorithm 78 5.3 Large-Scale Stock Selection 81 5.3.1 Introduction 81 5.3.2 Problem Formulation 83 5.3.3 Ranking with Partitions 85 5.3.4 Experimental Results 87 5.3.5 Summary 96 6. Conclusions 104Docto

    Field Guide to Genetic Programming

    Get PDF

    Testing market imperfections via genetic programming

    Get PDF
    The thesis checks the validity of the efficient markets hypothesis focusing on stock markets. Technical trading rules are generated by using an evolutionary optimization algorithm (Genetic Programming) based on training samples. The trading rules are subsequently applied to data samples unknown to the algorithm beforehand. The benchmark strategy consists of a classic buy-and-hold strategy in the DAX and the Hang Seng. The trading rules generally fail at consistently beating the benchmark thus indicating that market efficiency holds.Gegenstand der Dissertation ist die Überprüfung von Markteffizienz auf Aktienmärkten. Hierzu werden technische Handelsregeln mit Hilfe eines evolutionären Optimierungsalgorithmus (Genetic Programming) anhand von Trainingsdaten erlernt und anschließend auf eine unbekannte Zeitreihe angewandt. Als Benchmark dient eine klassische buy-and-hold Strategie im DAX und Hang Seng. Es zeigt sich, dass die mittels Genetic Programming generierten Handelsstrategien den Benchmark auf risikoadjustierter Basis nicht durchgängig schlagen können und somit die These effizienter Märkte für den DAX und den Hang Seng gültig ist

    ECGA vs. BOA in discovering stock market trading experts

    No full text
    This paper presents two evolutionary algorithms, ECGA and BOA, applied to constructing stock market trading expertise, which is built on the basis of a set of specific trading rules analysing financial time series of recent price quotations. A few modifications of ECGA are proposed in order to reduce the computing time and make the algorithm applicable for real-time trading. In experiments carried out on real data from the Paris Stock Exchange, the algorithms were compared in terms of the efficiency in solving the optimization problem, in terms of the financial relevance of the investment strategies discovered as well as in terms of the computing time

    Mechanical Circulatory Support in End-Stage Heart Failure

    Get PDF
    corecore