programação

Tecnologia no Mercado Financeiro

Tecnologia no Mercado Financeiro

Que a tecnologia está mudando o status quo no mundo, todos já sabemos. O aumento vertiginoso do processamento e armazenamento computacional está causando impactos disruptivos em várias esferas, das mais diversas áreas do conhecimento e da vida. Com todo este potencial tecnológico, alguns conceitos (antigos, porém na “moda”) como inteligência artificial e machine learning estão rondando a cabeça de muitos gestores de negócio mundo afora. No entanto, os robôs já estão dominando os afazeres humanos ou ainda temos tempo de nos adaptar? O objetivo deste post é tentar esclarecer como essas mudanças têm modificado o panorama de negócios no mercado financeiro.

Mas, o que são “dados”?

Os principais ingredientes das técnicas de inteligência artificial e machine learning são os dados – que nada mais são do que informações armazenadas. Podemos controlar informações sobre preços de ações ao longo do tempo, os registros contábeis de uma empresa, flutuações no mercado de commodities, moedas, etc…

Porém, dados sempre foram coletados por boa parte das empresas. Mas o real fator disruptivo está na magnitude em que conseguimos fazer isso hoje. Com alguns dólares, podemos processar terabytes de informação em servidores dedicados na nuvem, algo inimaginável de se pensar numa planilha de Excel, no seu próprio computador. Também, os bancos de dados estão cada vez mais robustos, permitindo que armazenemos cada vez mais informação. Cerca de 90% de toda a informação gerada até hoje no mundo foi gerada nos últimos 2 anos (e que continua crescendo de maneira exponencial).

Então, surge a pergunta:

Mas vem cá, como todo esse poder computacional está mudando o mercado financeiro?

Desde gestoras de ativos e grandes fundos de investimento, até seguradoras. Os líderes mais antenados do mercado já estão tendo “dores de cabeça” sobre como criar vantagens competitivas através da tecnologia. Veja alguns exemplos:

Áreas de grande impacto da tecnologia, hoje, no mercado

  • Trading e gestão de portfólios

Duas das áreas mais chamativas do mercado financeiro, por estarem sendo frequentemente retratadas em filmes, documentários, etc… Vemos pessoas de terno berrando ao telefone, inúmeras telas de computador com gráficos sinistros, desespero no rosto de quem colocou aquele zero a mais na ordem de compra/venda, entre outros exemplos. Também, são áreas que contratam toneladas de PhDs em física, matemática e ciência de foguetes.

Traders baseados em estratégias discricionárias (decisão baseada na escolha humana) somam apenas 10% do volume negociado em ações. Fundos quantitativos já somam mais de 60% deste volume, mais do que o dobro de uma década atrás.

Marko Kolanovic, Global Head of Macro Quantitative & Derivatives Strategy do JP Morgan.

Essas informações se baseiam nos volumes negociados nos Estados Unidos. O Brasil ainda está engatinhando nesse processo e com informações inconsistentes sobre a atuação de estratégias sistemáticas na gestão de portfólios.

A aplicação da inteligência artificial no processo de decisão se baseia em modelos quantitativos complexos que buscam capturar, através de observações passadas, sinais de mercado que visam automatizar o processo de decisão, tirando o erro humano do jogo. Os modelos de machine learning e inteligência artificial são cruciais no rebalanceamento e adaptação dos algoritmos à dinâmica (que, aliás, é extremamente dinâmica) de mercado.

  • Detecção de fraudes financeiras

Em um relatório da empresa de segurança digital McAfee, foi estimado que fraudes e crimes cibernéticos custam à economia global cerca de U$600 bilhões. Uma boa parcelas desses crimes (e das mais preveníveis) é a de fraudes em cartão de crédito, que vem crescendo de maneira acelerada por conta do aumento das transações online.

Com grandes massas de dados sobre comportamento dos consumidores, os modelos de inteligência artificial e machine learning são muito utilizados para detectar padrões que ferramentas estatísticas tradicionais não conseguiriam detectar.

No Brasil, esta área já é mais desenvolvida em comparação com o segmento de trading e gestão de portfólios, com grandes bancos e financeiras contratando equipes de cientistas de dados para desenvolver modelos de prevenção de crimes cibernéticos.

  • Precificação e gestão de seguros

Num negócio que basicamente deriva da gestão de riscos, é necessário mensurar diversas dimensões de probabilidades: probabilidade de um furacão ou incêndio acontecer, de uma pessoa se tornar inadimplente ou perder o emprego, de um eventual problema de saúde aparecer, etc…

Para isso, a imensidão de processamento e armazenamento de dados veio revolucionar o setor das seguradoras. Hoje, a informação é o novo petróleo, e o negócio das seguradoras possui como alicerce a informação.

A partir de uma precificação e gestão mais assertiva a partir de análise de dados, é possível alocar os riscos de uma maneira mais eficiente e cobrar o valor adequado para cada perfil de cliente.

Carreiras e outros assuntos

A inteligência artificial e métodos de machine learning estão gerando valor em outras diversas áreas do mercado financeiro, mas, para não tornar o post muito extenso, podemos deixar este papo para o bar.

Com essa variedade de áreas de assuntos demandando conhecimentos matemáticos e estatísticos, há muitas possibilidades de novas carreiras. Se pensarmos em palavras-chave, há cientistas de dados, engenheiros de machine learning, analistas de dados, estrategistas quant, etc… Boa parte dos profissionais vêm das áreas de engenharia, matemática, física, economia, estatística, entre outros cursos com foco analítico. Boa parte dessas profissões necessitam de um conhecimento vastamente disseminado na internet.

Com isso, o Clube de Finanças está construindo núcleos de estudo (com foco em análise de risco, conjuntura macroeconômica e análise de empresas) que incluem estudos em modelagem matemática e utilização de programação, como R e Python. Com isso, preparamos os nossos membros para estarem aptos a abraçarem as inovações tecnológicas.

Posted by Gabriel Dias in Derivativos, Programação, 0 comments
Introdução a funções básicas financeiras no R

Introdução a funções básicas financeiras no R

Se você é um estudante de economia, ou um interessado no assunto, e já parou para pensar “Será que vou me ferrar no futuro por não saber programar?”, com certeza este artigo é para você.

Afinal, existe uma pitada em você de mistura de medo com curiosidade e, com tempo, pode ter certeza, vai ficando maior. Para isso, estamos aqui para desmistificar sobre os primeiros passos, em específico, para programar em R, um software tão potente quanto amplo, com vasta aplicação no mundo de finanças.

O que é R

Direto ao ponto, R é uma linguagem e ambiente para computação estatística e gráficos desenvolvida por John Chambers e colegas na Bell Laboratories, tendo como diferencial a facilidade para plotar gráficos, além de ser de graça e rodar em diversas plataformas, tais como Windows e MacOS.

Em específico, para o mercado financeiro existem diversas aplicações para análises financeiras, sendo muito mais intuitivas para compreender conceitos da economia, a exemplo, os de econometria.

A propósito, com o R é mais fácil baixar dados da internet, cortando o tempo perdido e a chatice de ficar entrando nos sites-fonte para baixar planilhas. Enfim, basta explorá-lo que você poderá fazer qualquer coisa – até criar jogos, apesar de não ser o objetivo do programa.

Para saber mais, indico fortemente fuçar o site do R, além de ler o que está escrito aqui. Neste último texto algumas coisas interessante são citadas como packages (pacotes) e formatação de documentos. Você vai se surpreender quanta coisa dá pra fazer com o R.

No mais, muitos que já tenham ouvido falar sobre o R podem também se perguntar sobre a importância do seu aprendizado para aplicação no mercado financeiro, uma vez que já estão familiarizados com o Excel, e, às vezes, também com o VBA. Para isso, te respondo.

R x Excel

A batalha do século. De um lado, uma plataforma potente e mais complicada, e por outro, uma mundialmente aplicada e aceita, mas com limites. O que escolher?

De início, podemos refletir que programar é tornar o que é complicado simples e rápido. Ou seja, se ater somente ao Excel não vai ajudá-lo a resolver problemas mais complexos de forma eficiente. E nessa, incluo VBA, que apesar de ser uma maneira de tornar o Excel mais divertido, não chega perto do R, que tem o potencial computacional muito maior.

Então, se você quer ser mais eficiente com manipulação de dados, sugiro fortemente o R. No mais, caso não conheça o Excel, também sugiro dar uma olhada nele, já que a grande maioria do mundo corporativo o usa como base (existe uma infinidade de curso de graça na internet para Excel).

Um fator interessante é que o R é bastante intuitivo (não mais que o Excel), com linguagem simples e direta, o que pode ser uma boa maneira para iniciar nos estudos de linguagens de programação.

De qualquer forma, é uma discussão muito extensa e que alguns até me condenariam por essa comparação, mas que em resumo, explica-se nesse gráfico:

Os primeiRos passos

Apesar do trocadilho bobo no título, o que virá a seguir poderá ter muito impacto na sua vida e de repente até despertar uma paixão, então siga-os sem medo de errar. Se houver alguma dificuldade, só mandar nos comentários que faremos o possível para ajudá-lo no processo.

E como tudo começa? Instalando o R…

Para muitos pode parecer uma coisa simples, mas não é. Não queremos vírus e nem baixar coisas inúteis, que também podem ser vírus.

É válido comentar que os passos a seguir incluirão baixar a plataforma R Studio que nos facilitará como meio de escrever códigos e resolver problemas mais rápido.

“RStudio é um conjunto de ferramentas integradas projetadas para ajudá-lo a ser mais produtivo com R. Ele inclui um console, editor de destaque de sintaxe que suporta execução de código direto e uma variedade de ferramentas robustas para traçar, visualizar histórico, depurar e gerenciar seu espaço de trabalho.” – R Studio

Etapas para Instalação do R

  1. Baixar o R: https://www.r-project.org/

CRAN > Escolha o servidor da UFPR (Brazil) > Seu sistema operacional (no caso Windows) > Install R for the first time > Download R … for Windows

  1. Baixar o R Studio: https://www.rstudio.com/products/rstudio/rstudio/download

Installers for Supported Plataforms > Seu sistema operacional (no caso Windows)

Quando você abrir o R Studio, você verá isto abaixo. Confirma? Show!

Introdução ao ambiente R

Vamos começar com códigos simples, e aproveite para ir reaplicando no seu R. Antes, devo-lhes explicar uma coisa importante: todo texto ou código que inicie com o símbolo “#” no R não é lido, ou seja, os textos escritos para a situação abaixo com “#” servirão somente como guia, não tendo impacto na leitura do R caso você copie e cole na plataforma.

Outro ponto importante é que a interface do R está divida em quatro partes as quais vamos nos atentar somente a esquerda-superior(Script) e a esquerda-inferior(Console), sendo que todo código na área Script é salvo, enquanto no Console, é o Script “rodando”, em termos gerais.

Os códigos abaixo serão aplicados no Script no intuito de se observar o comportamento do R e para “rodá-los”, basta clicar Ctrl + R.

Aos primeiros códigos

Vou ensiná-los cinco códigos básicos para aplicação no R e que explicam o funcionamento da plataforma.

# 1: Adição 
3 + 5

Clique Ctrl + R e veja que resulta em 7. Teste com subtração e outras funções matemáticas e veja o resultado. Símbolos: multiplicação “*”, divisão “/”, exponenciação “^”.

A propósito, o Ctrl + R será necessário sempre que quiser que rode um código, como já mencionado.

# 2: Guardando informação 
poupança <- 200

A palavra poupança agora está vinculada ao valor 200. Desta forma criei uma variável chamada poupança que quando quiser, posso requisitá-la na busca de seus valores ou objetos relacionados.:

# 3: Requisitando valores/objetos da variável
print(poupança)

Veja que uma vez que clicou Ctrl + R tanto para a criação da variável, quanto para o “print”, você perceberá que o valor vinculado a palavra será chamado.

# 4: Guardando mais de um dado
Ibm_açoes <-  c(159.82, 160.02, 159.84)

Agora, se você “printar” a variável Ibm_açoes, perceberá que o conjunto de valores aparecerá.

#5: Plotando um gráfico
plot(Ibm_açoes)

Gráfico de pontinho é feio? Temos uma solução: caso você queira uma linha, acrescente o argumento type=l (l de line), ficando: plot(Ibm_açoes, type=”l”).

Fim

Com estas cinco funções espero ter contribuído e atiçado sua vontade de aprender mais sobre R e programação, deixando claro que há uma vastidão de funções, sendo que algumas delas já estão prontas (criadas por outras pessoas membros da comunidade R) que nos facilitam e muito a vida.

#Plus1: não resisti e coloquei uma aplicação com uso de pacotes
install.packages(“tidyquant”) #baixando os pacotes da internet
library(tidyquant) #colocando disponível as funções do pacote no R
apple <- tq_get("AAPL", get = "stock.prices") #pegando os valores da ação Apple
plot(apple$date, apple$adjusted, type="l")

Veja o que acontece. O legal é que você nem precisou ir atrás dos dados. O próprio R fez isso para você através do pacote.

#Plus2: se ficou em dúvida quanto a alguma fórmula, faça, por exemplo
?library

Para aqueles que se interessaram e querem aprender mais sobre a linguagem, fica de sugestão o Curso de Introdução ao R com aplicabilidade em economia do Vitor Wilher, além da plataforma de estudos em programação Data Camp que tem muita coisa boa para R. Ambos pagos, mas que valem a pena considerar o investimento na troca de menos festinhas no final de semana.

Para o próximo mês estarei trabalhando em um artigo dedicado somente aos códigos iniciais não abordados aqui para que vocês possam praticar e desenvolver no R, pelo menos um pouco, sem custo algum a não ser seu “gostei” ou “compartilhar” no facebook. Barato não? 

Seja bem-vindo ao mundo do R.

 

Posted by Henrique Rosa in Programação, 4 comments