A estratégia de long & short

Long-short refere-se a uma estratégia em que se possui uma posição comprada e uma vendida, normalmente no mercado de ações. O objetivo desta estratégia é buscar uma posição em se tenha uma imunidade dos movimentos do mercado, ou seja, é considerada neutra em relação ao mercado. No post de hoje, realizamos um exercício de uma estratégia long & short utilizando o Beta de mercado para a construção e ordenação de portfolios. O exercício é criado a partir de ações brasileiras e utilizando o R para a sua construção.

O objetivo da estratégia, é encontrar os ativos ou portfolio que devem ser escolhidos como aqueles que vão estar em uma posição comprado ou vendida. Há inúmeras formas de realizar esse procedimento, e uma delas é através da separação de ações que possuem betas de mercado elevados e aqueles que possuem betas baixos. O objetivo geral então é realizar um sistema de classificação através de um fator de mercado ou estatística para ranquear os portfolios que estarão comprados ou vendidos.

No caso da estratégia com Betas de Mercados, Betas elevados tendem a serem mais voláteis que o movimento de mercado, enquanto beta baixos tendem a representar menos volatilidade. Neste exercício, trataremos de construir portfolios com betas elevados, de forma a ter uma posição comprada, e também betas pequenos, de forma a ter uma posição vendida. A diferença entre os retornos de ambos resultará no resultado da estratégia long & short.

Trataremos de utilizar 5 ações escolhidas sem nenhum critério. Utilizamos o período de 2011-01-01 até 2022-07-01, transformando preços das ações em retornos mensais. Os pesos dos ativos em cada portfolio foi baseado na Capitalização de Mercado da ação, e para deixar o exercício mais simples e com o foco na estratégia, foi utilizado o valor da Capitalização do dia de 2022-07-18 constante durante todo o período.

O primeiro passo será importar os pacotes necessários.

Como nosso objetivo é criar os betas de mercado mensais, trataremos de realizar a importação dos preços de fechamento das ações, bem como os dados da Ibovespa e do CDI, este com o propósito de calcular o excesso de retorno das ações e do mercado.

Os preços das ações e do Ibovespa foram retirados com a função tq_get do {tidyquant}, enquanto a série do CDI foi retirado com o pacote {rbcb} através do código 4391.

Após a importação, calculamos os retornos mensais utilizando a função tq_transmute do pacote {tidyquant} em conjunto com a função periodReturn do pacote {quantmod}. Abaixo, realizamos o tratamento dos dados e calculamos os excessos de retorno.

Com os excessos de retornos em mãos, podemos calcular os betas mensais através de uma função de janela móvel. Abaixo, vemos no gráfico o resultado dos betas em uma janela de 48 meses.

Em seguida, importamos os dados da Capitalização de Mercado através do site do Yahoo Finance e realizamos os seus devidos tratamentos.

Antes de classificar os portfolios, devemos defasar os valores do beta. Esse procedimento é necessário devido ao tempo da informação contida no Beta. O beta é calculado apenas em sua totalidade com os valores no fim do mês, portanto, não há a informação sobre o seu valor durante o período presente do retornos das ações, o valor conhecido é apenas aquele do período anterior.

Agora podemos classificar os portfolios baseados no valor da mediana dos Betas encontrados. Aqueles que estão abaixo da mediana, se encontram no portfolio com betas baixos (beta low), ao contrário, tem-se os betas altos (beta high). Por fim, calcula-se os retornos dos portfolios "high" e "low" com base nos pesos da Capitalização de Mercado de cada ação através da função weighted.mean().

Visualizamos o comportamento dos retornos mensais de ambos os portfolios no gráfico abaixo.

 

Abaixo, calculamos o resultado a estratégia long & short por meio da diferença entre os portfolios em posição comprada e vendida.

Com os resultados completos, visualizamos os retornos anuais dos portfolios.


Para averiguar a performance, também podemos calcular o retorno acumulados do portfolios.

 

__________________________________________________

Quer saber mais?

Veja nossos cursos da trilha de Finanças Quantitativas e veja o vídeo comentado com o código no Clube AM.

_________________________________________________

Referências

Tidy Finance with R by Christoph Scheuch, Stefan Voigt and Patrick Weiss.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise regional do mercado de trabalho com dados do CAGED usando Python

Os microdados dos CAGED fornecem informações detalhadas a nível de cidade, sexo, raça, nível de instrução, idade, salário e outras sobre os trabalhadores formais do Brasil, possibilitando ricas análises regionais de dados. Neste artigo mostramos como acessar, processar e analisar estes dados utilizando o Python.

Transfer Learning: mostrando porque o Python está na ponta do desenvolvimento

A aprendizagem por transferência (transfer learning) é o reuso de um modelo pré-treinado em um novo problema. Portanto, sua utilização torna-se um avanço enorme para a previsão de diferentes tipos de variáveis, principalmente para aquelas ordenadas no tempo. Mostramos nesta postagem o uso do Transfer Learning com o Python para o caso de Séries Temporais.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.