A linguagem de programação R é uma das mais recentes ferramentas de ponta. Hoje, milhões de analistas, pesquisadores e marcas como Facebook, Google, Bing, Accenture, Wipro estão usando R para resolver problemas complexos. Os aplicativos R não estão limitados a apenas um setor, podemos ver a programação R em – bancos, comércio eletrônico, finanças e muito mais.
Basicamente, a linguagem R é um programa de código aberto, orientada por linha de comando mantido pela equipe de desenvolvimento do núcleo R, link do site disponível em https://www.r-project.org/ . Além disso, a linguagem R é bastante usada para realizar operações estatísticas e mineração de dados. O download do programa pode ser feito aqui utilizando qualquer um dos mirrors. Recomendo também a instalação do RStudio que é uma interface com recursos adicionais para o R.
O software R fornece um conjunto estatístico avançado capaz de realizar todas as tarefas financeiras necessárias. Com a ajuda do R, as instituições financeiras são capazes de realizar a medição do risco negativo, ajustar o desempenho do risco e utilizar visualizações como gráficos de velas, gráficos de densidade, gráficos de rebaixamento, etc. O R também fornece ferramentas para médias móveis, autorregressão e análise de séries temporais que formam o cerne das aplicações financeiras.
As indústrias financeiras também estão aproveitando os processos estatísticos de séries temporais de R para modelar o movimento de seu mercado de ações e prever os preços das ações. O R também fornece recursos para mineração de dados financeiros por meio de seus pacotes como quantmod, pdfetch, TFX, pwt, etc. O R facilita a extração de dados de ativos online. Com a ajuda do RShiny, você também pode demonstrar seus produtos financeiros por meio de visualizações vívidas e envolventes.
Assim como as instituições financeiras, os setores bancários usam R para modelagem de risco de crédito e outras formas de análise de risco. Os bancos fazem uso intenso do Mortgage Haircut Model, que permite assumir a propriedade em caso de inadimplência. A modelagem do corte de hipoteca envolve a distribuição do preço de venda, a volatilidade do preço de venda e o cálculo do déficit esperado. Para esses propósitos, o R é frequentemente usado junto com ferramentas proprietárias como o SAS. O R também é usado em conjunto com o Hadoop para facilitar a análise da qualidade do cliente, segmentação do cliente e retenção.
Aplicação Prática do R em Finanças – Introdução à Análise de Ações com R
Para mostrar o poder analítico do software R, aproveitando este item envolvendo finanças, vamos fazer uma análise, utilizando o pacote “quantmod”, envolvendo análise técnica de uma ação.
A análise de ações e investimentos é um tema que pode ser muito bem explorado na programação. Isso inclui a linguagem R, que já possui vasta literatura, pacotes e funções desenvolvidas no tema. Neste post faremos uma breve introdução ao assunto utilizando os pacotes quantmod e forecast (para previsão). Esta aplicação de trading automatizado tem propósito didático para o contexto de finanças quantitativas com redes neurais. Portanto, não deve ser utilizado como tomada de decisão para investimentos pessoais do leitor.
install.packages(“quantmod”)
library(“quantmod”)install.packages(“forecast”)
library(forecast)
A ação analisada será a da Apple, uma das maiores empresas de equipamentos eletrônicos e softwares do mundo, foi fundada em 1976, tendo como seus fundadores os estudantes Steve Jobs e Steve Wozniak. Os dados serão extraídos do site Yahoo Finance, conforme estudo de caso de Trading abordado anteriormente.
Acoes <- c(“AAPL”)
O período analisado será os últimos 5 anos.
Data_Inicio = as.Date(“2017-03-31”)
Data_fim = as.Date(“2022-03-31”)
getSymbols(Acoes, src = “yahoo”, from = Data_Inicio, to = Data_fim)
O argumento src = "yahoo"
indica a fonte dos dados. Também podemos utilizar outras fontes como o Google Finance, FRED, Oanda, bancos de dados locais, CSVs e vários outros.
Podemos gerar o resumo dos dados com os seguintes comandos: head(), tail() e summary().
O comando “head” nos mostra os 6 primeiros registros/preços , “tail” nos mostra os 6 últimos registros/preços e o comando “summary” nos mostra algumas estatísticas descritivas básicas como a o intervalo de máximos e mínimos, média e mediana. São 6 colunas com: preço de abertura, preços máximo e mínimo do dia, preço de fechamento, volume de transações e preço ajustado. Obtendo como resposta:
Criando Gráficos para Análise Técnica Básica
A função chartSeries() é usada para gerar o gráfico dos dados que foram coletados.
chartSeries(AAPL)
Também é possível usar um comando adicional subset() para usar apenas as informações referentes aos últimos 3 meses.
chartSeries(AAPL, subset=”last 3 months”)
Para tornar a análise ainda mais robusta podemos adicionar alguns indicadores técnicos, no caso vamos adicionar Bandas de Bollinger com a função addBBands().
chartSeries(AAPL)
addBBands()
As Bandas de Bollinger possuem relação com a volatilidade e são compostas por três curvas a curva central costuma ser uma média móvel dos preços e serve como base para as duas outras curvas. Frequentemente, quando as bandas de Bollinger se aproximam da média, o preço das ações de uma companhia sofrem consideráveis alterações. Assim, movimentos fora das bandas propõem a continuação da tendência. Altas e baixas fora das bandas, seguidas de altas e baixas dentro das bandas propõem uma reversão de tendência. Neste caso, deve-se comprar quando o preço toca a banda Bollinger inferior e vender quando o preço toca a banda superior.
É possível plotar mais gráficos como o de retorno diário, utilizando a função diff().
diffAAPL <- diff(log(AAPL))
plot(diffAAPL$AAPL.Adjusted,
main = “Retorno díários – Apple”)
Thanks for your blog, nice to read. Do not stop.