Criando um Dashboard de Índices de Sharpe no Python

Vamos continuar a série de postagens sobre como construir um Dashboard de métricas relacionadas a avaliação de ações e construção de um Portfolio de investimentos no Python. Trazemos nessa semana um componente importante para avaliação do risco: o cálculo do Índice de Sharpe.

Definindo o Sharpe

Cálculo do Índice de Sharpe

O Índice de Sharpe pode ser desmembrado em dois tipos: ex post e ex ante, isto é, a medida que tem como base comparar investimentos no passado, e aquela que tem como objetivo comparar investimentos de forma prospectiva, respectivamente.

As implementações práticas usam resultados ex post, enquanto as discussões teóricas focam em valores ex ante. Implícita ou explicitamente, assume-se que os resultados históricos têm pelo menos alguma capacidade preditiva, apostando que o que é visto no passado, ocorrerá no futuro.

Abaixo citamos como é possível calcular ambos os tipos, entretanto, como exemplo, criaremos somente o ex post no Python.

Ex ante

Para o cálculo ex ante, temos que  R_i seja o retorno projetado do investimento i e  R_f seja o retorno projetado do benchmark ou taxa de juros livre de risco. Os tildes na equação abaixo significam que não é conhecido com certeza os valores, portanto, chamados de retornos esperados. Definimos  \tilde{d} como o retorno diferencial.

\tilde{d} = \tilde{R_i} - \tilde{R_f}

\tilde{d} será o valor esperado de d e \sigma_d   será o valor previsto do desvio padrão, portanto, o índice de Sharpe será

 S = \frac{\tilde{d}}{\sigma_d}

Nessa versão, o Sharpe indica o diferencial do retorno esperado por unidades de risco associado ao retorno diferencial.

Ex post

Para o ex post, considere  R_{it}  o retorno do investimento i no tempo t, e  R_{ft}   o retorno do benchmark ou taxa de juros livre de risco no período t e  D_t o diferencial de retorno no período t.

 $D_t = R_it - R_ft

Calculamos a média de  D_t obtendo  \bar{D} , que será o valor médio de D no período t=1 até T, e também o desvio padrão de  D_t .

Com isso, o índice de Sharpe ex post será

 S_h = \frac{D}{\sigma_D}

Para tornar fácil a comparação de diferentes investimentos em diferentes janelas de tempo, é aconselhável utilizar o índice de Sharpe anualizado, obtido por meio do seguinte cálculo:

 S_T = \sqrt{T} S_t

Em que T é o período para anualizar, e que pode tomar o valor de 252 dias para dados diários e 12 meses para dados mensais.

Para obter o código do Dashboard abaixo, faça parte do Clube AM, o repositório de códigos da Análise Macro, contendo exercícios semanais de R e Python.

Dashboard de Índice de Sharpe

Para facilitar todo o trabalho de verificar essas métricas, é possível criar um Dashboard, que automatiza todo o processo de coleta, tratamento, criação das métricas e a visualização de dado. No Dashboard abaixo, o processo de coleta de dados financeiros foi feito por meio da biblioteca yfinance. O Dashboard é construído no ambiente da biblioteca Shiny e os gráficos construídos por meio do Plotly.

_____________________

Quer saber mais?

Veja nossa trilha de cursos de Finanças Quantitativas

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando um Simples Assistente de Pesquisa com LangGraph

O exercício utiliza o LangGraph para criar personas fictícias de analistas econômicos, entrevistá-las com um especialista fictício e, a partir dessas interações, gerar relatórios técnicos usando LLMs, buscas na web e execução paralela.

Construindo Corrective RAG (CRAG) com LangGraph

Este post explica o conceito de Agentic CRAG (Corrective Retrieval-Augmented Generation) e sua aplicação na análise das atas do COPOM. Mostramos como combinar recuperação de informações, avaliação de relevância, correção de consultas e busca externa em um fluxo estruturado com LangGraph.

Criando Personas de Analistas com LangGraph

Este post apresenta um estudo de caso sobre a criação de um assistente de pesquisa com o LangGraph, integrando o conceito de human-in-the-loop. O sistema gera personas de analistas a partir de um tema, recebe feedback humano e ajusta as respostas de forma iterativa, garantindo resultados mais precisos e personalizados.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.