Aplicações de Modelos de Volatilidade: otimização de portfólio usando GARCH

Uma aplicação interessante da variância calculada a partir dos modelos da família ARCH é a possibilidade de obter os pesos para um portfólio de mínima variância ao longo do tempo. Veremos neste artigo como obter as medidas para um portfólio de dois ativos e a possibilidade do cálculo por meio do R e do Python.

Minimização de Portfólio

Minimização de portfólio é um conceito muito importante para a área de gestão de carteiras. Refere-se ao processo de selecionar ativos de forma a criar uma carteira de investimentos que tenha o menor nível possível de risco para um determinado nível de retorno esperado.

A ideia por trás da minimização de portfólio é encontrar a combinação ideal de ativos que reduza a volatilidade e o risco geral da carteira, enquanto ainda busca alcançar um retorno desejado. Isso é alcançado através da diversificação, ou seja, investindo em diferentes tipos de ativos, como ações, títulos, commodities e outros, de modo a reduzir a exposição a riscos específicos de cada ativo.

Uma das teorias mais conhecidas relacionadas à minimização de portfólio é a Teoria Moderna do Portfólio (Modern Portfolio Theory - MPT), desenvolvida por Harry Markowitz. Essa teoria estabelece que os investidores podem criar portfólios eficientes que maximizam o retorno esperado para um determinado nível de risco, ou minimizam o risco para um determinado nível de retorno. A MPT considera não apenas o retorno e o risco individual de cada ativo, mas também a relação entre eles e como eles interagem quando combinados em uma carteira.

Para obter um portfólio que contenha o menor nível de risco possível (variância), devemos ter como inputs:

- variância dos ativos;

- covariância dos ativos;

- pesos dos ativos que minimizem a variância do portfólio.

Em um portfólio com dois ativos, pode-se calcular a variância do portfólio com a seguinte equação:

    \[\sigma^2_{p,t} = w^2_{1,t} \times \sigma^2_{1,t} + (1 - w_{1,t})^2 \times \sigma^2_{2,t} + 2w_{1,t}(1 - w_{1,t}) \times \sigma_{12,t}\]

Veja que na equação acima definimos cada componente com o índice t, ou seja, estamos levando em consideração os pesos, a variância e covariância dinâmica, estes dois últimos que obtemos por meio de modelos do tipo ARCH.

Pesos ótimos

Vimos acima a equação para obter a variância do portfólio, mas como calcular os pesos ótimos que possibilitem obter a menor variância possível de todas as combinações de pesos existentes para os dois ativos?

Uma abordagem é defini-los de modo que a variância seja minimizada, a oartur de uma condição de primeira ordem:

    \[\frac{\partial \sigma^2_{p,t}}{\partial w_{1,t}} = 0\]

A solução será

    \[w_{1,t} = \frac{\sigma^2_{2,t} - \sigma_{12,t}}{ \sigma^2_{1,t} + \sigma^2_{2,t} - 2\sigma_{12,t}}\]

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

O exemplo abaixo demonstra os Pesos Dinâmicos entre ITSA4 e MGLU3, calculado a partir de um GARCH (1,1) com distribuição t de student assimétrica. Os dados referem-se ao período de 2015 a junho de 2023 em periodicidade diária com retorno simples. A estimativa foi feita tanto utilizando o R quanto o Python.

 

_____________________

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

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PNADc Trimestral - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PNADc Trimestral do 3º trimestre de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

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.