Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003. EXCENOMIC – UMA FERRAMENTA DE AUXÍLIO À ANÁLISE DE INVESTIMENTO Eduardo Bonchristiani Filho (UNIFEI) [email protected] Leonardo Sousa de Albuquerque Lima (UNIFEI) [email protected] Edson de Oliveira Pamplona, Dr. (UNIFEI) [email protected] Resumo A proposta deste trabalho é a apresentar um software em ambiente Windows® , utilizando a programação em VBA – Visual Basic for Applications – editada em Excel, para profissionais e estudantes que atuam na área de análise de investimentos. Com este software o usuário é capaz de realizar cálculos de matemática financeira, analisar as alternativas de investimentos, elaborar quadros de amortização de financiamentos, conversão de taxas, considerando depreciações de ativos e imposto de renda. Trata-se de uma ferramenta com interface amigável e que se utiliza do Office® para execução, não necessitando de instalação prévia de software. Palavras-chave: Software, Engenharia Econômica, VBA 1. Introdução Este trabalho apresenta um software em ambiente Windows®, que visa auxiliar o estudo de análise de investimentos, agilizando o processo de cálculos, construção de tabelas e análises gráficas. A idéia inicial do trabalho era elaborar uma planilha eletrônica com macros de forma a aprimorar um software, o “Engenharia Econômica 1.0”, descrito em ALMEIDA (1996). O trabalho final resultou em um programa que é apresentado em uma interface de fácil utilização, desenvolvido em Visual Basic for Applications (VBA), editado através do Editor de Visual Basic do Excel. Com ele permite-se calcular equivalências de pagamentos, relações entre taxas, quadro de amortizações de financiamentos, tabelas de depreciações e sua influência em investimentos e outras análises como Valor Presente Líquido (VPL), Taxa Interna de Retorno (TIR), Valor Anual (VA), Valor Futuro (VF) e o Pay Back com atualização, bem como algumas análises gráficas relevantes. O software possui, também, um sistema de orientação ao usuário que, ao se posicionar o mouse sobre os botões de comando ou entradas de dados, auxiliam em sua correta interpretação. Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003 2. Tópicos abordados O programa procurou cobrir os pontos básicos mais utilizados por profissionais da área de Engenharia Econômica. São eles: - Conversões de taxas: Taxas efetivas anuais, semestrais, trimestrais, mensais e diárias podem ser convertidas entre si nesta janela. - Tabelas de Depreciações: Esta janela permite ao usuário calcular o fluxo de caixa após o Imposto de Renda, considerando a depreciação de ativos como elemento dedutível. O resultado desta operação é mostrado em uma tabela, de maneira clara e de fácil entendimento. - Equivalências: As relações de equivalências conhecidas da matemática financeira podem ser trabalhadas nesta seção. Conversões entre valor presente, futuro e séries anuais, bem como séries gradientes podem ser realizadas com facilidade nesta janela. - Amortizações: Amortização de dívidas no Sistema Francês de Amortização (PRICE) e no Sistema de Amortização Constante (SAC) podem ser facilmente calculadas nesta janela, permitindo ainda que se especifique um período de Carência e se este será com ou sem capitalização. - Cálculo de séries perpétuas: Permite-se obter fluxos com séries perpétuas, mostrados na apostila base do curso de Engenharia Econômica. - Fluxos de Caixa: O programa permite que fluxos de caixa sejam inseridos para análise de duas formas, uma com séries anuais iguais e outra com fluxo variado. Simultaneamente à entrada dos valores do fluxo de caixa é construído um diagrama de representação do mesmo. Também é possível analisar o fluxo através do cálculo do valor presente, valor futuro, valor anual, TIR (taxa interna de retorno) e Pay back descontado, bem como gerar um gráfico entre a TIR e o VPL (valor presente líquido). 3. Estrutura geral do programa O Excenomic apresenta um menu inicial onde o usuário direciona a janela na qual será feito o estudo requisitado. Os tópicos estão separados em janelas distintas, pois o programa apresenta estrutura de um ambiente MDI (Interface com Múltiplos Documentos). O tipo de linguagem utilizada na programação do Excenomic, Visual Basic for Applications (VBA), por se tratar de uma linguagem específica do Office é pouco conhecida no meio universitário. Por essa razão houve grande dificuldade em encontrar material de auxílio à programação. É importante ressaltar que a programação do software foi possível devido aos conhecimentos adquiridos durante o período universitário, no estudo da linguagem C, parte integrante da grade curricular do curso. PINA (2002) apresenta um exemplo da forma como os cálculos são realizados em planilha eletrônica a partir de fontes externas, com entrada de dados em janelas (user forms). Neste trabalho utilizou-se deste exemplo como base para o desenvolvimento da programação. Uma fonte preciosa de informações sobre a sintaxe da programação em VBA trata-se de uma ferramenta existente no Office, as chamadas macros (sub-rotinas). As sub-rotinas são gravadas quando se tem uma tarefa que deve ser executada muitas vezes, geralmente são atribuídas a botões de comando. Quando esses são solicitados, a macro é executada. Para que fosse compreendida a sintaxe dos comandos em VBA, as macros foram gravadas e editadas. Após a compreensão da macro, essa era apagada do Excel e transcrita para código de VBA. Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003 Boa parte do programa foi elaborado com este artifício. Mostra-se portanto, que toda a programação foi feita através do método de tentativa e erro, o que gerou certa demora na construção do software. Também foram utilizados os arquivos de ajuda do Microsoft Excel e Visual Basic com o intuito de obter informações sobre ferramentas facilitadoras dos softwares. À medida que o conhecimento na linguagem avançava, as idéias iniciais eram alteradas, melhorando cada vez mais a velocidade, eficiência e aparência do software. O “Engenharia Econômica 1.0” foi usado como base do estudo apenas no que tange a sua execução, pois não se teve acesso ao código fonte. Todos os testes feitos no Excenomic eram confrontados com seu antecessor, e quando era gerado algum tipo de conflito de resultados, o mesmo cálculo era executado manualmente, com auxílio de tabelas e calculadoras. Como uma das idéias iniciais era aumentar o alcance e confiabilidade do “Engenharia Econômica 1.0”, procurou-se descobrir o maior número de falhas e corrigí-las, simplificar ao máximo a utilização do software e acrescentar conceitos não utilizados. LAPPONI (2000) apresenta uma planilha eletrônica que foi utilizada como orientação para desenvolvimento da lógica para cálculo do Pay Back descontado. Outro conceito inserido neste programa foi o cálculo de séries perpétuas. A primeira seção a ser desenvolvida do Excenomic, foi a de Equivalências, onde optou-se por escrever todas as equações em código de VBA e não utilizar as ferramentas do Excel, já que isto acarretaria em certa demora de resposta. Em HIRSCHFELD (1998) foi encontrado o modelo das equações de equivalências. Em determinados cálculos, onde a explicitação da raiz ficava impossível, foi necessária a criação de uma sub-rotina que calculasse a raiz da equação pelo método da dicotomia, conhecimento adquirido através da revisão dos conceitos de cálculo numérico. Após vários testes, esta secção foi concluída com sucesso. Outra lógica importante foi a construção das planilhas (tabelas) de Depreciações e Investimentos, encontradas em PAMPLONA (2002), visto que este, apresenta de forma detalhada o raciocínio e portanto a lógica necessária para a construção das rotinas. Esta parte do trabalho ocupou grande parte de todo o processo de programação, devido a forma tação das tabelas e o aprendizado de uma ferramenta nova do Office 2000, as chamadas spreadsheets (parte integrante do Web Compponents). O software também possibilita que, à medida que os valores são inseridos na planilha, seja gerado o diagrama de fluxos de caixa de maneira simultânea. Esta foi a última secção a ser desenvolvida devido a sua complexidade. Para a construção desses gráficos buscou-se o auxílio em ROYER (2002). Outras secções do Excenomic apesar de uma lógica um pouco mais simples, teve-se a necessidade de proteger o software de possíveis erros de digitação (Pokayokes), facilitando sua utilização por iniciantes ou leigos. Essa preocupação resultou na proteção das entradas de dados com caracteres indesejáveis, portanto, foram desenvolvidas duas sub-rotinas com este fim, sendo permitido apenas a inserção de números e sinais negativos, e a transformação de todas a vírgulas inseridas em pontos. Este é um problema pouco conhecido, mas para cálculos realizados dentro desta linguagem de programação, a vírgula representa um objeto separador de algarismos e não números fracionários. Esta função desenvolvida serve para traduzir ao programa a entrada de dados. Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003 Quando se extrai uma tabela do Acess para o Excel por exemplo, podem ocorrer falhas nos cálculos, devido ao problema comentado. A aparência do Excenomic ocupou grande parte do tempo de elaboração do software, já que todos os ícones utilizados foram criados (desenhados) pelos próprios programadores. Partiu-se de que um ambiente amigável e bem organizado torna mais estimulante o estudo de Engenharia Econômica. O Excenomic possui alguns aplicativos gerados a partir de ferramentas do Office 2000, portanto só pode ser utilizado por este tipo de configuração ou superior. Abaixo seguem alguns ambientes gerados a partir do software: Figura 1 – Menu inicial do Programa A figura 1 apresenta o menu inicial do programa, onde ao clicar sobre as figuras e seus respectivos títulos, se tem acesso a outras janelas. Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003 Figura 2 – Sistema de auxílio ao usuário, com mensagens/indicações A figura 2 apresenta a janela de cálculo de equivalências, quando são preenchidas três das quatro lacunas, a quarta é calculada. É mostrado também a mensagem gerada ao usuário, quando o mouse é posicionado sobre os comandos do programa, o que facilita a utilização do software. Figura 3 – Fluxo de caixa Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003 Figura 4 – Resultados e gráfico (VPL x TIR) A figura 3 mostra a janela do Fluxo de caixa em períodos variados, onde ao entrar com os valores do pagamento, um fluxo é gerado simultaneamente. Ao acionar o botão de calcular são mostrados os resultados dos cálculos e o resultado gráfico (conforme figura4). Caso não seja fornecido o valor da TMA, o software considera este valor como zero. O botão localizado no canto inferior esquerdo da tela replica o último valor digitado no fluxo, facilitando a entrada de dados com valores iguais. Figura 5 – Análise de Fluxo após o I.R. Bonchristiani Filho, Eduardo; Lima, Leonardo S. A. e Pamplona, Edson de O. Excenomic – uma ferramenta de auxílio à análise de investimento. XXIII ENEGEP - Ouro Preto, MG, Brasil, 22a 24 de outubro de 2003 A figura 5 apresenta a tabela gerada no cálculo da depreciação. Quando esta tela é aberta ela não apresenta nenhuma linha da planilha, os valores são inseridos nas lacunas e após acionado o comando de calcular, é gerada a tabela. Figura 6 – Financiamento pelo sistema PRICE Na figura 6 da mesma forma que na planilha de depreciação, a tabela só é gerada após a inserção dos valores nas lacunas. Nesta opção pode-se optar por um período de carência. Além das telas apresentadas o programa apresenta outras similares com outras funções. 4. Conclusões O Excenomic pode se tornar uma ferramenta de larga utilização no processo de tomada de decisões devido a sua facilidade de uso e utilização de gráficos. A comparação entre fluxos de caixa diferentes pode ser feita de forma simples e com resultados imediatos. Dessa forma, usuários habituados a trabalhar em ambiente Windows? podem usufruir do programa mesmo sem o conhecimento avançado de Engenharia Econômica. O programa possui a capacidade de trabalhar com várias funções como: relações de equivalência, financiamentos, taxas, imposto de renda e cálculo do Pay Back descontado, usado muitas vezes, como critério de desempate entre duas alternativas de investimento. Também possui como vantagem o fato de ser um arquivo pequeno (facilitando downloads) e não necessitar de instalação, já que trata-se de um arquivo de Excel. Espera-se que este trabalho possa ser utilizado por outros profissionais, futuros engenheiros e administradores, bem como pessoas que se utilizem destas ferramentas para tomadas de decisões. 5. Referências ALMEIDA, M. B., PEREIRA, R e PAMPLONA, E. O. Engenharia Econômica 1.0 – Um software para análise de Investimentos, 16º ENEGEP, Piracicaba, 1996. HIRSCHFELD, H. - Engenharia Econômica e Análise de Custos – Editora Atlas, 1998; LAPPONI, J.C. – Projetos de Investimentos, São Paulo: Editora Lapponi Treinamento e Editora LTDA, 2000. PAMPLONA, E. O., MONTEVECHI, J. A. B. - Engenharia Econômica I - Apostila EFEI/FUPAI, 2002; PAMPLONA, E. O., MONTEVECHI, J. A. B. - Engenharia Econômica II - Apostila EFEI/FUPAI, 2002; PINA, Pedro - Programação e análise de resultados de modelos usando VBA em Excel. [on line, http// 194.65.82.103/mestrado/computacao/computacao.htm; capturado em 2002] ROYER, Stéphane – Actions sur les graphiques. http://xlbysteph.free.fr/aideinformatique/actiongraphique; capturado em 2002] [on line,