exploring cloud computing benefits when applying ... exploring cloud computing benefits when...

Download Exploring Cloud Computing Benefits when Applying ... Exploring Cloud Computing Benefits when Applying

Post on 13-Mar-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Exploring Cloud Computing Benefits when Applying a

    SAX/GA Approach to Computational Finance Problems

    Bernardo Daniel Nabais Gomes

    Thesis to obtain the Master of Science Degree in

    Electrical and Computer Engineering

    Supervisors: Prof. Nuno Cavaco Gomes Horta

    Prof. Rui Fuentecilla Maia Ferreira Neves

    Eng. António Manuel Lourenço Canelas

    Examination Committee

    Chairperson: Prof. António Manuel Raminhos Cordeiro Grilo

    Supervisor: Prof. Nuno Cavaco Gomes Horta

    Members of the Committee: Prof. João Nuno Oliveira e Silva

    October 2017

  • i

    Acknowledgments

    I would like to express my gratitude to my supervisors, Professor Nuno Horta and Professor Rui

    Neves, for their guidance and constant feedback.

    I would also like to thank António Canelas for guiding me through the already developed SAX/GA

    code.

    Finally, I thank my parents for allowing me to be a full-time student and for their constant support

    during this degree, especially during the development of this thesis.

  • ii

  • iii

    Abstract

    This work presents an evaluation of Cloud Computing commercial platforms and its use on Financial

    Market’s algorithms. The algorithms designed for market prediction generally require a lot of heavy

    computations, translated into high runtimes, while traders need to rapidly adjust to the trends. Cloud

    Computing shows up as a high promising solution where resources appear to be unlimited. Since

    heavy computations can be battled with parallelization and better hardware, this study aims at solving

    the traders’ problem. This approach uses a previously developed algorithm, SAX/GA, which has

    already been studied and achieved great results in market pattern recognition, its runtime being its

    drawback. The algorithm architecture is adapted to Amazon Web Services (AWS) using two

    parallelization schemas: (i) separation of the evaluated stocks across different machines; (ii)

    parallelization of the algorithm execution for a stock solution. For the first solution, ten stocks from the

    S&P500 were considered. The achieved runtimes were significant: (i) simply by adding a single

    machine to the computations, gains of 37% were immediately reached; (ii) on clusters with more than

    four machines, gains reached the 89% mark. The best runtime gain, 94%, was obtained on ten

    machines. Gains for the second parallelization architecture were evaluated through mean runtimes

    over ten runs. Starting from a four-machine cluster, the gains for the evaluated populations were over

    80%, and on a six-machine cluster, the gains obtained always exceeded the 85% mark. The results

    achieved show that with the right architecture, finance algorithms can highly benefit from cloud

    services.

    Keywords: Amazon Web Services, Cloud Computing, Finance Algorithms, Parallel Algorithms, Stock

    Market.

  • iv

  • v

    Resumo

    Este trabalho apresenta uma avaliação de plataformas de Cloud Computing para algoritmos de

    mercados financeiros. Estes algoritmos requerem uma grande capacidade de computação que se

    traduz em grandes tempos de execução, desfavoráveis aos traders. A solução de Cloud Computing

    entra em jogo de forma extremamente prometedora e recursos aparentemente ilimitados. Como a

    questão temporal pode ser contornada com melhor hardware e paralelização, este estudo procura

    contribuir para a resolução do problema dos traders. A abordagem considerada utiliza um algoritmo

    SAX/GA já desenvolvido e estudado, que mostrou ter atingido bons resultados no reconhecimento de

    padrões de mercado, sendo o longo tempo de execução a sua desvantagem. A sua arquitetura

    original é adaptada à cloud AWS utilizando dois mecanismos de paralelização: (i) separação dos

    stocks a serem avaliados por diferentes máquinas; (ii) paralelização da execução do algoritmo para

    um stock. Para a primeira solução, foram selecionados dez stocks do índice financeiro S&P500. Os

    ganhos obtidos foram significativos: (i) através da adição de apenas uma máquina na computação,

    foram obtidos ganhos de 37%; (ii) para clusters com mais de quatro máquinas os ganhos atingiram o

    patamar de 89%. O melhor ganho de tempo de execução, 94%, foi atingido para dez máquinas. Os

    ganhos da segunda arquitetura são relativos à média de dez varrimentos do programa. Para um

    cluster com quatro máquinas, os ganhos verificados para as diferentes populações foram sempre

    superiores a 80%, ultrapassando os 85% no cluster de seis máquinas. Os resultados obtidos mostram

    que com uma arquitetura adequada, os algoritmos financeiros podem beneficiar substancialmente de

    serviços de Cloud Computing.

    Palavras-chave: Algoritmos Financeiros, Algoritmos Paralelizados, Amazon Web Services, Cloud

    Computing, Mercado Financeiro.

  • vi

  • vii

    Table of Contents

    Acknowledgments ................................................................................................................................... i

    Abstract .................................................................................................................................................. iii

    Resumo ................................................................................................................................................... v

    Table of Contents ................................................................................................................................. vii

    List of Figures ........................................................................................................................................ ix

    List of Tables.......................................................................................................................................... xi

    List of Acronyms ................................................................................................................................. xiii

    1 Introduction ..................................................................................................................................... 1

    1.1 Computational Finance .......................................................................................................... 2

    1.2 Motivation for Cloud Computing Usage in Finance ............................................................... 2

    1.3 Purpose .................................................................................................................................. 3

    1.4 Thesis Outline ........................................................................................................................ 3

    2 Previous Work on SAX/GA ............................................................................................................ 5

    2.1 SAX Overview ........................................................................................................................ 5

    2.2 GA Overview .......................................................................................................................... 8

    2.3 SAX/GA Approach ................................................................................................................ 10

    2.4 Conclusions .......................................................................................................................... 13

    3 Cloud Computing Review and Service Providers ..................................................................... 15

    3.1 Essential Characteristics of Cloud Computing ..................................................................... 15

    3.2 Cloud Computing Architecture ............................................................................................. 16

    3.3 Cloud Computing Service Models ........................................................................................ 17

    3.4 Deployment Models.............................................................................................................. 19

    3.5 Cloud Computing Providers Overview and Conclusion ....................................................... 20

    3.6 Amazon Elastic Cloud Computing (EC2) ............................................................................. 25

    3.7 Conclusions .......................................................................................................................... 27

    4 Proposed Solution Architecture ................................................................................................. 29

    4.1 Cloud Computing used Infrastructure .................................................................................. 29

    4.2 Algorithm Parallelization Solutions ....................................................................................... 30

  • viii

    4.2.1 Stock Distribution Solution ...................................................................................... 30

    4.2.2 Algorithm Parallelization .......................................................................................... 33

    4.3 Cloud Computing Sol

Recommended

View more >