Dissertação

{en_GB=Portfolio Optimization with NeuroEvolution of Augmenting Topologies} {} EVALUATED

{pt=O algoritmo NEAT é usado para resolver Problemas de Otimização com Restrições utilizando Funções de Penalidade, com o intuito de otimizar diferentes Métricas de Desempenho, obtendo o Sinal de Alocação de Capital que determina qual a percentagem do capital que é alocada para cada empresa no início de cada mês. Para obter o Sinal de Negociação – que representa os sinais diários de compra e venda – os dados dos indicadores técnicos, preços diários e de volume são transformados usando o método de Análise de Componentes Principais (PCA) para reduzir a dimensão do input que é introduzido no algoritmo NEAT. Uma função de fitness, que combina a Taxa de Retorno (ROR) com a média dos lucros diários durante a fase de teste do algoritmo, é implementada para avaliar o desempenho de cada genoma na população. A simulação é feita com dados diários reais durante o ano de 2018. Três casos de estudo diferentes foram analisados para garantir a robustez do sistema: diferentes abordagens de Stop- Loss, diferentes combinações de dados através de métodos estatísticos e diferentes Métricas de Desempenho otimizadas pelo NEAT. A partir da combinação destes estudos, foi encontrada uma solução que superou a estratégia buy and hold do índice S&P500, atingindo uma taxa de retorno final de 45,25% e um desvio padrão dos retornos da Carteira de Investimentos de 0,0790. Ficou provado que, apesar do crash no mercado, a solução do sistema garantiu ganhos estáveis durante todo o ano., en=The NEAT algorithm is used to solve Constraint Optimization Problems with Penalty Functions, in order to optimize different Performance Metrics, obtaining the Capital Allocation Signal that determines which percentage of the capital is allocated to each company at the beginning of every month. To obtain the Trading Signal - that represents daily buy and sell signals - technical indicators, daily prices and volume data are transformed using the Principal Component Analysis (PCA) method to reduce the number of features that are loaded to the NEAT algorithm. A fitness function that combines the Rate of Return (ROR) with the mean of the daily profits during the testing phase of the algorithm is implemented to evaluate the performance of every genome in the population. The simulation is tested with real daily data during the year of 2018. Three different case studies where tested to ensure the robustness of the system: different Stop-Loss approaches, different statistical methods to combine data and different optimized Performance Metrics. From the combination of these studies, a solution was found that outperformed the buy and hold strategy of the S&P500 index, achieving a final rate of return of 45.25% and a standard deviation of the portfolio returns of 0,0790. It was proved that despite a market crash, the system’s solution can guarantee steady earnings throughout all year.}
{pt=Carteira de Investimentos, Neuroevolução de Topologias de Aumento, Problemas Otimização com Restrições, Funções de Penalidade, Métricas de Desempenho, Análise de Componentes Principais, en=Portfolio, NeuroEvolution of Augmenting Topologies, Constraint Optimization Problems, Penalty Functions, Performance Metrics, Principal Component Analysis}

Julho 1, 2019, 9:0

Orientação

ORIENTADOR

José Rui De Matos Figueira

Departamento de Engenharia e Gestão (DEG)

Professor Associado

ORIENTADOR

Rui Fuentecilla Maia Ferreira Neves

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Auxiliar