• Nenhum resultado encontrado

6 StockMOS: STOCK MARKET OPERATION SYSTEM

6.4 Módulo de Análise da previsão

6.4.4 Recomendação de Operações

Considerando as possíveis posições do usuário perante a ação estudada apresentadas na Subseção 6.4.1 e a atuação dos parâmetros apresentados na Subseção 6.4.2, o sistema pode su- gerir uma operação que realize a manutenção da posição na ação escolhida ou não. A Tabela 6.4 apresenta as possíveis saídas do sistema.

Operação Descrição

Inverter Posição O usuário deve encerrar sua posição atual e iniciar a posição oposta

Vender O usuário deve vender ações

Comprar O usuário deve comprar ações

Manter O usuário deve manter sua posição

Tabela 6.4: Listagem das possíveis saídas do DSS para o usuário.

Observando a Tabela 6.4, a operação Inverter Posição sugere que o usuário com a posi- ção Comprado passe a operar Vendido e vice-versa. A operação Manter sugere ao usuário que mantenha a posição atual e as saídas Vender e Comprar sugerem a realização das operações de venda e compra respectivamente. Além disso, caso o usuário esteja com a posição Fora e o sistema sugerir a operação Vender, o sistema sugere que o usuário passe a alugar ações no mercado, ou seja, a operar Vendido. Sendo assim, considerando a posição do usuário na ação em estudo e a porcentagem de diferença entre o valor atual da cotação e o valor de previsão entregue pelo sistema, a tomada de decisão é realizada com base no FR.

Para uma melhor compreensão da abordagem apresentada, o Pseudocódigo 6.2 apresenta como a rotina desta geração de recomendação foi implementada no sistema de apoio à decisão.

Pseudocódigo 6.2 Método para a geração da recomendação de posição para um determinado ativo, dado os argumentos para horizonte de previsão ℎ𝑝 e fator de risco 𝑓 𝑟.

𝑣𝑎 ← 𝑜𝑏𝑡𝑒𝑟𝑉 𝑎𝑙𝑜𝑟𝐴𝑡𝑢𝑎𝑙() 𝑣𝑝 ← 𝑜𝑏𝑡𝑒𝑟𝑃 𝑟𝑒𝑣𝑖𝑠𝑎𝑜𝐸𝑚𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑒𝑠(ℎ𝑝) 𝑝𝑜𝑠 ← 𝑜𝑏𝑡𝑒𝑟𝑃 𝑜𝑠𝑖𝑐𝑎𝑜𝐴𝑡𝑢𝑎𝑙() 𝑝𝑜𝑟𝑐𝑒𝑛𝑡 ← 𝑐𝑎𝑙𝑐𝑢𝑙𝑎𝑟𝐷𝑖𝑓 𝑒𝑟𝑒𝑛𝑐𝑎𝐸𝑚𝑃 𝑜𝑟𝑐𝑒𝑛𝑡𝑎𝑔𝑒𝑚(𝑣𝑎, 𝑣𝑝) if 𝑝𝑜𝑟𝑐𝑒𝑛𝑡 ≥ 𝑓 𝑟 then if 𝑝𝑜𝑠 = 𝑉 𝑒𝑛𝑑𝑖𝑑𝑜 then 𝑟 ← 𝐼𝑛𝑣𝑒𝑟𝑡𝑒𝑟𝑃 𝑜𝑠𝑖𝑜 else if 𝑝𝑜𝑠 = 𝐶𝑜𝑚𝑝𝑟𝑎𝑑𝑜 then 𝑟 ← 𝑀 𝑎𝑛𝑡𝑒𝑟 else 𝑟 ← 𝐶𝑜𝑚𝑝𝑟𝑎𝑟 end if else if 𝑝𝑜𝑟𝑐𝑒𝑛𝑡 ≤ −𝑓 𝑟 then if 𝑝𝑜𝑠 = 𝐶𝑜𝑚𝑝𝑟𝑎𝑑𝑜 then 𝑟 ← 𝐼𝑛𝑣𝑒𝑟𝑡𝑒𝑟𝑃 𝑜𝑠𝑖𝑜 else if 𝑝𝑜𝑠 = 𝑉 𝑒𝑛𝑑𝑖𝑑𝑜 then 𝑟 ← 𝑀 𝑎𝑛𝑡𝑒𝑟 else 𝑟 ← 𝑉 𝑒𝑛𝑑𝑒𝑟 end if end if return 𝑟

Observando o Pseudocódigo 6.2, se o percentual calculado for maior ou igual ao FR definido e o investidor está Fora da ação ou está operando Vendido, então uma recomendação de Comprar é gerada pelo sistema. Caso o investidor esteja Comprado na ação, então a saída é dada como Manter Posição, pois o ativo pode seguir em tendência de alta. Se o percentual calculado for menor que o FR e o investidor estiver Comprado ou Fora da ação analisada, então uma recomendação de Vender é realizada. Caso o investidor esteja posicionado como Vendido, então uma recomendação de Manter é gerada pois o ativo está em tendência de baixa.

Uma vez compreendido cada módulo apresentado neste capítulo do sistema StockMOS, ações de maior impacto na bolsa de valores brasileira, especificamente no índice IBovespa (BM&F Bovespa, 2015), foram selecionadas para os experimentos desta pesquisa. Com isto, a fatia do conjunto de teste foi utilizada para simular operações no mercado sobre um conjunto de dados não visto durante a preparação dos preditores e da definição dos parâmetros HP e FR do sistema de recomendação.

obtidos junto a uma discussão sobre o impacto que o sistema de apoio à decisão tem, quando comparado com abordagens da análise fundamentalista e técnica para operar no mercado de ações, conhecidas como Buy & Hold e Cruzamento de Médias Móveis respectivamente.

7

RESULTADOS

Neste capítulo, os resultados obtidos com a execução do sistema StockMOS serão apre- sentados. Para isto, algumas empresas com ações listadas na Bolsa de Valores de São Paulo (BM&F Bovespa, 2015) foram selecionadas para os experimentos.

Inicialmente neste capítulo, experimentos com redes neurais artificiais foram realizados com o objetivo de identificar um bom modelo de arquitetura para previsão de séries temporais financeiras. Uma vez tendo um modelo definido, este foi utilizado como o principal método de predição do módulo Preditores do sistema para a realização dos experimentos.

Um segundo experimento foi realizado para verificar o impacto de indicadores técnicos sobre a previsão do valor de fechamento diário das ações. Isso foi possível devido a arquitetura modularizada proposta pelo sistema, que possibilitou a coleta de resultados entre os módulos.

Por último, os experimentos realizados no sistema StockMOS, conforme a proposta apre- sentada no Capítulo 6, foram executados. Com o objetivo de validar a proposta do sistema, os resultados obtidos foram comparados com abordagens de investimentos da análise fundamen- talista, como é o caso do Buy & Hold, e da análise técnica com o uso de indicadores Médias

Móveis(também conhecida como Cruzamento de Médias Móveis).

O sistema StockMOS foi implementado utilizando a plataforma Microsoft .Net Framework versão 4.5 com a linguagem C#. A implementação dos algoritmos de Machine Learning foi realizada com a utilização do Framework de código aberto chamado Encog (Heaton, 2015) na versão 3.3. Além disso, toda a informação que o sistema utiliza internamente como séries temporais, estruturas de redes neurais e configurações adicionais foram persistidas em um banco de dados SQL Server Express 2012. A implementação dos cálculos dos indicadores técnicos foi realizada com a ajuda da biblioteca TA-Lib (2015) e os gráficos apresentados foram gerados com a ajuda da biblioteca ZedGraph (2015). Com a implementação concluída, o programa foi executado em uma máquina virtual no ambiente Microsoft Windows Azure. Esta máquina operou com o sistema operacional Microsoft Windows Server 2012 64 Bits e o hardware era composto por um processador Intel Xeon E-5 2.2Ghz, 14GB de memória RAM e disco rígido de 600GB. A seguir serão apresentados os papéis estudados, os preditores utilizados e os parâmetros informados na análise da previsão junto aos resultados obtidos nos experimentos.

Documentos relacionados