Otimização da carteira pelo modelo de Markowitz - Parte 2 - Outspoken Market
Вставка
- Опубліковано 7 лют 2025
- Na parte 2 desta série, com download dos códigos em R, apresento a vocês a teoria de Markowitz de uma maneira muito prática, que oferece o máximo retorno esperado possível para um determinado nível de risco minimizado.
Esta teoria foi desenvolvida por Harry Markowitz em seu trabalho "Portfolio Selection", publicado em 1952 pelo Journal of Finance. Mais tarde, ele recebeu um prêmio Nobel pelo desenvolvimento do MPT - Modern Portfolio Theory.
Download dos códigos no site:
www.outspokenm...
💻 | Ciência dos Dados na prática com nova aula toda semana por apenas R$79 por mês 🔥
www.outspokenm...
Instagram: leandrowar
Facebook: facebook.com.br/outspokenmarket
Twitter: outspokenmarket
Tem alguma dúvida? Sugestão de vídeo? Comente aqui ou acesse nosso site:
www.outspokenm...
Gostou dos vídeos? Curta, compartilhe e assine o canal para não perder mais nenhum!
A Liberdade é o caminho!
Download dos arquivos:
www.outspokenmarket.com/blog/otimizacao-da-carteira-pelo-modelo-de-markowitz-parte-2
Sabe muito!!!
Muito obrigado!
Sensacional a explicação, apesar de eu achar que essa presepada não vai dar mais lucro na prática.,., simplesmente porque retornos passados não garantem retornos futuros...
Somos dois. E esse é um grande problema. Abraços
EXCELENTE! Gratidão! Você teria esse mesmo código em Python?
Oi Allan, ainda não o tenho em Python, mas farei na playlist de Python para finanças quantitativas. Obrigado pelo comentário e abraços
Olá Leandro, sou nova no canal, e obrigado pela incrível aula que foi a aula 1, poderia me dizer como encontrar os retornos dos ativos? obrigado.
Oi Carla, muito obrigado e seja muito bem-vinda. O retorno vai depender do período de interesse, mas é sempre (valor_final/inicial)-1
Obrigado pelo comentário e abraços.
Excelente vídeos. Meus parabéns.
Muito obrigado pelo comentário e apoio! Grande abraço
Fantástico. Parabéns pela iniciativa e entusiasmo.
Muito obrigado, Alexandro. Feliz em ajudar! Grande abraço
Não sou muito de comentar em vídeos que assisto, mas nesse eu não posso deixar d fazer isso: me ajudou demaaaais! Obrigada!
Agradeço muito e fico contente em ajudar, Geisyane. Obrigado e abraços!
Poderia me orientar quanto a este erro:
Risk-free rate greater than avg return on global minimum variance portfolio
Oi Fabio. Este erro acontece porque a taxa livre de risco è maior do que a do portfolio em si. O modelo nao està convergindo. Tem que mudar os papéis. Abraços!
Irmão. No caso de fundos de previdÊncia, com retorno a longo prazo e retorno atual, como vc faria?
Oi Felipe, os principios sao os mesmos, mas voce dai usaria a média dos retornos anuais até aqui, digamos dos ultimos 5 anos, como seus parametros iniciais e faria a alocaçao. Abraços
@@OutspokenMarket Vou tentar. Obrigado!!!
De nada
Parabéns, Leandro! Acabei de virar CGA e seus vídeos foram muito úteis para que eu aplicasse o que estava vendo a teoria na prática. Excelente! vc vai longe.
Que demais, Rafaella, muito obrigado mesmo. E parabéns pelo CGA. Baita conquista. Abraços
não entedi, como a carteira mais eficiente tem uma probabilidade de retorno próximo ou inferior ao risco?
Olà Carla. Estudei esta biblioteca do R e ela apresenta alguns problemas. Vou refazer este teste e usar o Python que parece ser mais efetivo para este caso. Obrigado pelo comentàrio e abraços!
Muito bom! Parabéns pelo trabalho!
Muito obrigado, Anselmo! Grande abraço
Sensacional!
Muito obrigado, Guilerme, grande abraço!
Boa Leandro! Dá pra fazer esse modelo no Colab? Outra coisa, como vou fazer alocação caso o peso resulte num valor maior que 1?
Dá sim, Felipe. Basta copiar e colar lá. Se os pesos ficam maiores, significa que sua carteira estaria alavancada. O mesmo pode acontecer com um peso negativo, que significaria que você estaria vendido (short selling) naquele ativo. Abraços!
@@OutspokenMarket Valeu!
De nada
Poderia investir em um aplicativo de gestão de carteira. Tem muita gente que se interessaria pela solução
Obrigado pela sugestao. Nao è o meu tipo de negòcio, mas mesmo assim a ideia è valida. Abraços
O primeiro aluno já está aqui 🙌
Seja muito bem-vindo! Vamos juntos nesta jornada! Grande abraço e muito obrigado
Parabéns, ficou muito bom!
Vou ver se consigo evoluir para o que comentei na otimização via Excel, incluir as demais informações (rendimentos + dividendos + juros sobre capital) que cada ativo proporciona no cálculo do retorno por ativo e então rodar a otimização.
O desafio será calcular o retorno em função dos diferentes períodos de tempo (algumas são recentes, de 2 a 3 meses, e outras já tem mais de 18 meses) em que cada ativo estão presentes no portfólio.
Ótimo, muito obrigado. Também estou tentando achar mais sobre isso. Abraços
Parabéns pelo ensinamento, mas como eu vejo que a maioria não aplica seus conhecimentos por não sermos expert em computação avançada....vç não teria como fazer alguma coisa em prol da maioria...obrigado
Muito obrigado. Já tem aqui no canal duas playslists para começar a programar do zero: www.youtube.com/@OutspokenMarket/playlists Abraços!
Top Leandro parabéns, adoraria se continuasse falando sobre o assunto está bem legal!! Abs.
Muito obrigado pelo feedback, Júlio. Ainda tem bastante coisa sim para falar. Além do fato que preciso começar a usar para mim mesmo. Vou falar sobre isso no próximo vídeo também. Obrigado pelo comentário e abraço!
Parabens pela iniciativa! No meu projeto final da faculdade fiz esse mesmo trabalho incluindo mais ativos.
Olà Soraya, muito obrigado! Voce chegou a estudar a frequencia ideal que o algoritmo deve ser utilizado para manter a carteira atualizada?
Outro tipo de problema bastante frequente:
Error in chol.default(cov.mat) :
the leading minor of order 6 is not positive definite
Olà Michael. Este erro parece ter correlaçao com aquele primeiro. Por favor tenter aquele mètodo que eu propus no outro comentàrio para entender se chega a resolver esse problema. Nao tem a ver com o codigo em si, mas com a funçao de otimizaçao do algoritmo, que precisa de uma condiçao especifica da matriz para poder funcionar. Muito obrigado e abraço!
@@OutspokenMarket Estou tendo um problema parecido. Error in chol.default(cov.mat) :
the leading minor of order 4 is not positive definite
Alguém teve algo parecido e conseguiu resolver. URGENTE É PARA MEU TCC
O algoritmo não está convergindo. Dá um problema no cálculo matricial do R. Um modo fácil, mas não sei se possível para você, seria trocar os ativos ou o intervalo. Abraços
Muito bom! O problema é que quando fui rodar o código no R com a minha própria carteira me deparei com vários erros...Um erro frequente é este:
Error in quadprog::solve.QP(Dmat = Dmat, dvec = dvec, Amat = Amat, bvec = bvec, :
matrix D in quadratic function is not positive definite!
Se alguém puder dar uma ajuda, agradeço.
Abs!
Olà Michael. Isto esta acontecendo porque sua matriz nao é positiva definida (os autovetores nao sao positivos). O algoritmo de otimizaçao apenas vai conseguir trabalhar desde que sua matriz seja assim. Em algumas pesquisas que fiz, uma provavel soluçao para o seu problema é fazer uma pequena transformaçao na matriz como abaixo:
library(Matrix)
sua_nova_matriz
@@OutspokenMarket Valeu Leandro! Vou tentar a tua dica sim. Abraço e parabéns pelo conteúdo!
@@OutspokenMarket Oi Leandro! blz? Cara, infelizmente não funcionou. Retornou esse erro:
Error in tangency.portfolio(retorno_medio, nova_matriz, tx_livre_risco, :
invalid inputs
@Eric Raphael Reis Obrigado! Qualquer ajuda é bem vinda! Infelizmente a transformação da matriz deu erro novamente :/
Error in tangency.portfolio(retorno_medio, nova_matriz, tx_livre_risco, :
invalid inputs
@@OutspokenMarket Oi Leandro, tentei usar a função nearPD, mas infelizmente sem sucesso. Vc saberia um outro caminho pra resolver o problema da matriz positiva definida?
Muito bom o conteudo porem fiquei com duvida do seguinte
- tem como coloca na planilha do excel a opcao shortseeling?
-sobre os bonds tem como fazer um video mostrando como seria a montagem desse tipo de estrutura?
Oi Fabricio. Nao tem no Excel como fazer o short, salvo se entrar na programaçao em VBA - ai nao é muito a minha àrea. Posso evoluir para os bonds, mas eles sao historicamente menos rentaveis que as açoes. Nao sei se vale a pena. Abraços e obrigado pelo comentàrio!
Professsor, a bliblioteca (IntroCompFinR) está com erro... o código ão funciona mais
Olà Aleffer, sim, vi outros casos serem reportados também. Provalvemente terei que refazer este video com uma atualizaçao. Obrigado pelo feedback e abraços
Renda fixa é livre risco entre aspas, né? Pois você assume os riscos dos bancos e ainda ganha menos que eles. Se vc investir menos de R$250 mil tudo bem, pois tem o FGC.
Obviamente tem risco, Mas a renda fixa é o ativo considerado “livre de risco” pela teoria, dado que comparada às ações esse risco é realmente muito menor. Muito obrigado pelo comentário e abraço.
Olá Leandro! Seu conteúdo é muito rico em informações, julgo a dizer que não há nada parecido em outros canais brasileiros. Gostaria de saber se assinando seu conteúdo você teria pretensão de ensinar programação em MQL? Acho fundamental para de fato tornar aplicável todo o conhecimento em Finanças quantitativas, tendo em vista que os EA são se suma importância para o desenvolvimento automatizados das técnicas ensinar aqui. De resto agradeço sua disposição em contribuir com seus conhecimentos, abraços!
Olà Pablo, muito obrigado.Sendo muito honesto estou trabalhando ainda para ver qual é a melhor alternativa para oferecer isso à comunidade do Outspoken. Mas fora isso, no meu curso terà o modulo completo de finanças quantitativas, chegando até mesmo ao uso de deep learning. Grande abraço e muito obrigado pleo comentàrio!
Perfeito! Pretendo assinar seu conteúdo, onde encontro mais detalhado informações dos módulos e duração das aulas?
Me manda um email que te passo a ementa: leandro.guerra@outpsokenmarket.com Obrigado e abraço!
Há atualmente diversas críticas ao modelo.
A principal é a falta do fator preço nele. O preço pago é um fator de risco.
Explico: o que é mais arriscado: ativo A custando 50 por ação com vol de 10%a.a. ou esse mesmo ativo A com vol de 12%a.a. custando 40 por ação?
Segundo Markowitz, o 2º caso é mais arriscado, mas nós dois sabemos que o é o 1º. Você pagou bem menos pelo mesmo ativo.
Sou adepto dessa crítica. Acho que há muitos investidores famosos que também são.
Qual seria uma forma de corrigí-la?
Oi Antonio, nao sei se isso é realmente um problema, porque o que vai determinar parte do risco nao é apenas o preço e a volatilidade, mas também o tempo que este ativo fica na carteira. Com o tempo - muito tempo, nao estou falando de curto prazo - a volatilidade tende a diminuir e se ambos os preços subirem, é irrelevante a diferença de 10 reais e 2% na vol.
Entao eu acho que existem mais elementos a serem considerados do que apenas o fator preço. A ideia de Markowitz era alocaçao para minimizar o risco levando em consideraçao média e variancia. Preço è subjetivo.
Obrigado pelo comentàrio e abraços!
Cara muito bacana seu canal de vdd pensei em fazer algo muito parecido com python.
Agora fiquei com uma duvida como você faz a execução de ordens via MT4 e 0MQ ou tem alguma outra coisa?
#PS:+1INSCRITO
Olà Rafael, muito obrigado e bem-vindo! Eu nao uso o MT. Minha corretora oferece uma outra plataforma, deles mesmo, para eu poder fazer os meus trades. Além disso, nao uso robos. Minhas operaçoes sao baseadas no grafico diario, com a ideia de realizar o menor numero de operaçoes possiveis. Entao, além da falta de tempo para estudar MQL, nunca senti a necessidade. Obrigado e abraços!