No video

Cálculo de Cotas de Carteira de Ações com Python | Python para Investimentos #27

  Рет қаралды 9,271

Código Quant - Finanças Quantitativas

Código Quant - Finanças Quantitativas

Күн бұрын

Use Python para calcular a real rentabilidade de sua carteira de ações utilizando o cálculo de cotas.
A cotização de carteira permite acompanhar a rentabilidade de seus investimentos considerando os aportes e retiradas.
Esse vídeo faz parte de uma série Python para Investimentos, na qual eu mostro como utilizar a linguagem de programação PYTHON através da ferramenta online Google Colab para fazer seus estudos no mercado financeiro.
✅ 𝐏𝐘𝐓𝐇𝐎𝐍 𝐏𝐀𝐑𝐀 𝐈𝐍𝐕𝐄𝐒𝐓𝐈𝐌𝐄𝐍𝐓𝐎𝐒 𝐂𝐎𝐌𝐏𝐋𝐄𝐓𝐎:
• Python para Investimentos
✅ 𝐂𝐎𝐃𝐈𝐆𝐎 𝐅𝐎𝐍𝐓𝐄:
colab.research...
✅𝐆𝐈𝐓𝐇𝐔𝐁:
github.com/cod...
#pythonparainvestimentos #financasquantitativas
✅ 𝗖𝗮𝗻𝗮𝗹 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/joinchat/...
✅ 𝗥𝗲𝗱𝗲𝘀 𝗦𝗼𝗰𝗶𝗮𝗶𝘀:
/ codigoquant
/ codigoquant
/ codigoquant
github.com/cod...

Пікірлер: 78
@jeison_sanches
@jeison_sanches 2 жыл бұрын
Valeu!
@codigoquant
@codigoquant 2 жыл бұрын
Muito obrigado! 👊
@MarceloSilva-ym7vs
@MarceloSilva-ym7vs 7 ай бұрын
Muito bom. Vou utilizar... mas já vejo que precisa considerar o tratamento de eventos do tipo desdobramento, pagamento de dividendos, etc...
@retratista7649
@retratista7649 Жыл бұрын
Muito bom seu conteúdo. Deveria haver uma função de agregação por média ponderada para calcular o preço médio de entrada das posições na criação do dataframe: trade_prices. wa_func = lambda x: np.average(x, weights=arquivo.loc[x.index, 'quantidade']) trade_prices = pd.pivot_table(arquivo, index=['data'], values='preço', columns=arquivo['ativo'].str.upper(), aggfunc= wa_func, fill_value=0)
@GenesLuna
@GenesLuna Жыл бұрын
É verdade. Muitas vezes fazemos mais de um a compra ou venda de ativo no mesmo dia a preços diferentes. Então é importante calcular o preço médio.
@vielmond1840
@vielmond1840 10 ай бұрын
Faz anos que estava procurando um vídeo como esse. Parabéns e obrigado. Abraços...
@franklinwanderson4316
@franklinwanderson4316 2 жыл бұрын
O melhor conteúdo da Internet.
@lecalvip
@lecalvip 3 жыл бұрын
Excelente. Segui o passo a passo e consegui cotizar a minha carteira real. Muito obrigado!
@silvaleandrodp
@silvaleandrodp 3 жыл бұрын
Cara muito legal seu canal, conheci ontem e pretendo maratonar e me tornar membro. Precisamos muito desse tipo de conteúdo no Brasil! Parabéns!
@codigoquant
@codigoquant 3 жыл бұрын
Show Leandro! Que bom que gostou do canal!
@cscd4800
@cscd4800 3 жыл бұрын
Muito bom! Uma dúvida: se no arquivo excel tivesse, para um determinado dia, mais de uma compra/venda de um mesmo ativo, o aggfunc do pivot_table para criar o df "trade_price" deveria ser calculado de outra maneira? No caso de mais de uma compra de um ativo no dia, por exemplo, não deveríamos ter aggfunc = média dos preços ponderada pelas quantidades? Parabéns pelo conteúdo! Abs,
@aracoara1
@aracoara1 3 жыл бұрын
Eu entendo que sim. Eu fiz esse ajuste no código, colega.
@EngBrennoAzevedo
@EngBrennoAzevedo Жыл бұрын
@@aracoara1 Eu estava lendo os comentários porque encontrei possibilidades de melhorias no código. Como você resolveu esse problema? Eu tenho na minha base compras do mesmo ativo com preços diferentes. Eu estava resolvendo no excel onde esta minha base de dados, pra ja importar no python com a planilha corrigida, mas dá um trabalho grande.
@gmtufaile
@gmtufaile 10 ай бұрын
Vc consegue resolver esse problema pelo aggfunc, fazendo média ponderada ao invés de uma média simples, ou soma. No meu caso, o que funcionou foi o código abaixo, onde weights são os "pesos" que são representados pela quantidade que vc comprou por cada preço diferente da mesma ação. aggfunc=lambda rows: np.average(rows, weights=df.loc[rows.index, 'Quantidade'])
@rogerioalencar5972
@rogerioalencar5972 3 жыл бұрын
O cara não é só excelente, é tb benevolente em disponibilizar tanto conteúdo bom. MEUS PARABÉNS!!
@codigoquant
@codigoquant 3 жыл бұрын
valeu!
@Tudumanu
@Tudumanu 3 жыл бұрын
Oi Amigo, primeiramente muito obrigado pelo conteúdo de excelente qualidade! Queria compartilhar que encontrei um erro na fórmula da etapa final de cálculo da rentabilidade. Para a quantidade da primeira cotação vc escolheu o valor do saldo que veio do Yahoo { carteira.loc[data]['saldo'].copy() }. Deveria considerar o valor do saldo do seu aporte { aportes[data].copy() }. Digo isso pq vc pode comprar no dia e no mesmo dia dar um circuit breaker a ação cair mto ou sair notícia que impulsione pra cima logo depois que vc comprou... assim no fim do dia sua carteira já teve uma rentabilidade!
@EngBrennoAzevedo
@EngBrennoAzevedo Жыл бұрын
Estava lendo os comentários pra ver se alguém tinha percebido o mesmo que eu. É isso mesmo. Tem outras coisas também que percebi que precisa ser implementado para melhorar o código.
@iAlexSpritesify
@iAlexSpritesify 3 жыл бұрын
Cara estou assistindo todos os seus vídeos. São bons demais.
@codigoquant
@codigoquant 3 жыл бұрын
Top!
@titopb
@titopb 3 жыл бұрын
Excelente! parabéns!
@codigoquant
@codigoquant 3 жыл бұрын
Que bom que gostou! Obrigado
@silmarnevesmoreno3958
@silmarnevesmoreno3958 Жыл бұрын
Muito obrigado pelo código. No meus dados estou apanhando, pois tenho ações que não são mais negociadas e, na hora de pegar o preço, tá dando erro e estou apanhando para contornar esse problema. Tem alguma ideia? Muito obrigado.
@kalilkelvin
@kalilkelvin 4 жыл бұрын
Muito bom! Excelente conteúdo
@codigoquant
@codigoquant 4 жыл бұрын
Legal q gostou! Obrigado!
@andrebauerle7029
@andrebauerle7029 3 жыл бұрын
Muito bom! Como sempre!!
@codigoquant
@codigoquant 3 жыл бұрын
Obrigado!
@cristianomartinsdasilva1914
@cristianomartinsdasilva1914 3 жыл бұрын
Proventos, Rendimentos, Desdobramento e etc... como eles entram nesse Sistema de Cotas?
@EngBrennoAzevedo
@EngBrennoAzevedo Жыл бұрын
Os grupamentos e desdobramento você precisa ajustar na sua base de dados. Eu passei por esse problema. Por exemplo, eu tinha ações de IGTI3 que sofreu desdobramento. Se eu mantiver minha base sem fazer o ajuste, a cotização vai ficar errada, porque na base de preço do yahoo o valor de todo o histórico é ajustado.
@THIAGOSILVA-dg1vd
@THIAGOSILVA-dg1vd 3 жыл бұрын
Ótimo vídeo. Seria legal um vídeo sobre MACD COMPRAR ou VENDER enviar mensagem TELEGRAMA usando o google colab..
@brunofelipe5497
@brunofelipe5497 3 жыл бұрын
estou tendo este erro na terceira linha for i, data in enumerate(aportes.index): if i == 0: carteira.at[data, 'vl_cota'] = 1 ValueError: cannot reindex from a duplicate axis
@brunofelipe5497
@brunofelipe5497 3 жыл бұрын
Consegui arrumar, estava vindo uma linha duplicada. mas agora na linha if aportes[data] != 0: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
@codigoquant
@codigoquant 3 жыл бұрын
show
@brunoricardosecco5739
@brunoricardosecco5739 Жыл бұрын
Oi! Tenho uma dúvida, em caso de venda de todas as ações em uma determinada data e posteriormente uma compra dessa mesma ação, creio que esse cenário causa um erro no cálculo, alguém sabe como resolver?
@gmtufaile
@gmtufaile 10 ай бұрын
Estou com uma dúvida parecida. No meu caso eu fiquei um período de uns 3 meses sem nenhum ativo na carteira, até voltar a investir. Mas não comprei exatamente as mesmas ações. O que eu estou tentando fazer é remover os dias cuja soma de ativos da carteira = 0. Então a conta é feita até o ultimo dia do periodo com ativo, e logo em seguida, já vem o primeiro dia do próximo periodo com ativo, para continuar de onde parou. Mas não sei se isso está certo conceitualmente, alguém sabe?
@IvanCoxInvestidor
@IvanCoxInvestidor Жыл бұрын
Parabéns pelo conteúdo, sabe informar quando vai ter o próximo curso?
@nyferreira4632
@nyferreira4632 3 жыл бұрын
Primeiramente Parabéns pelos seus vídeos , em segundo lugar uma sugestão de vídeo importação de dados com indicadores para análise de ETF's e Reit's americanos.
@codigoquant
@codigoquant 3 жыл бұрын
Valeu! E obrigado pela sugestão
@nyferreira4632
@nyferreira4632 3 жыл бұрын
@@codigoquant Muito Obrigado
@esquigts
@esquigts 3 жыл бұрын
Muito útil a informação compartilhada. Obrigado! Gostaria de saber como funciona se eu adicionar o dividendo gerado pelas acoes no processo de criação e destruição de cotas. como devo incorporar isso? devo adicionar uma coluna na carteira chamada dividendo (cumsum) e depois fazer o saldo com a soma das posições de acoes e o acumulado de dividendos ganhos ao longo do tempo?
@luccasgonzales
@luccasgonzales 4 жыл бұрын
Sensacional!! Seus vídeos têm me ajudado muito. Gostaria de saber se poderia disponibilizar o Collab deste vídeo também, por gentileza? Muito obrigado.
@codigoquant
@codigoquant 4 жыл бұрын
Que bom que tem gostado e tem te ajudado. Claro. Coloquei o link do código na descrição.
@andrepinheiroguimaraes4321
@andrepinheiroguimaraes4321 3 жыл бұрын
Muito bom mesmo seus conteúdos, Parabéns. na parte baixanda as cotas das ações, meu valor do dia 22-04-2020 das ações estão diferentes, e também me gerou outra duvida, na parte da carteira posição * prices, não deveria ter multiplicado o valor das ações que adquiri , porque pelo que entendi, foi multiplicado pelo valor da cota do dia de fechamento. Por exemplo = na ITSA4 foi comprada 400 ações a um preço de 9,07 que daria um valor de 3628,00 e na tabela foi pego o valoor da cota do dia * 400 dando um valor de 8,884 Obg
@maykondouglas2294
@maykondouglas2294 3 жыл бұрын
Primeiramente parabéns pelo trabalho! Uma pergunta: poderia fazer um vídeo sobre Fronteira de Markowitz em python?
@MFvidius
@MFvidius Жыл бұрын
Sensacional o vídeo e o conteúdo. Parabéns! Uma dúvida que me surgiu, tentei rodar e vi que não deu: como faria para computador posições short? Ou seja, quando primeiro abrimos uma venda a descoberto para aproveitar uma queda e somente depois finaliza-se a posição.
@marcelocunha3894
@marcelocunha3894 3 жыл бұрын
Muito bom conteúdo. Mas no 1 dia o "Quantidade de cotas" = aporte? E o valor das cotas do final do dia não deveria ser o Saldo (fechamento) / aporte? if i == 0: carteira.at[data, 'vl_cota'] = carteira.loc[data]['saldo'] / aportes[data] carteira.at[data, 'qtd_cotas'] = aportes[data] carteira.at[data, 'retorno'] = carteira.iloc[i]['vl_cota'] - 1
@luisfilholopes
@luisfilholopes 3 жыл бұрын
Quando i != 0 e aporte != 0 acho que tem alguma divergência tambêm... Você conseguiu decifrar?
@Gandalfablon
@Gandalfablon 2 жыл бұрын
Quando recebemos dividendos, o meu preço médio de aquisição cai e entra o dividendo na mesma proporção. O preço médio de aquisição teremos então que ajustar manualmente de tempos em tempos, no arquivo, certo ? E o dividendo que entra, precisamos fzr algum ajuste no codigo?
@Richard.bassan
@Richard.bassan 4 жыл бұрын
Mês que vem quero me tornar membro como forma de agradecimento
@codigoquant
@codigoquant 4 жыл бұрын
Top! 👊
@pytagore3409
@pytagore3409 3 жыл бұрын
Conteúdo bacana! Que referência poderia fornecer com relação a fonte de dados de ativos por minuto (incluindo volatilidade, retorno, vendas, etc), com extração via Python?
@codigoquant
@codigoquant 3 жыл бұрын
Obrigado! Acho que o mais completo seria conectar o Metatrader via link da corretora. No geral as bases tem somente dados ohlcv
@marcelocunha3894
@marcelocunha3894 3 жыл бұрын
Quando há Split ou grupamento, saberia dizer como devemos adaptar os dados?
@robertocavalcante8166
@robertocavalcante8166 4 жыл бұрын
Excelente Vídeo! Possuo uma dúvida. Se eu tiver recebido um dividendo no meio do caminho, como faço para incluir no código ou planilha, pois este valor não é um aporte, mas sim um ganho de rentabilidade (até pq há o desconto do valor do ativo) ou este API do yahoo trabalha com o valor sem descontos? Canal muito bom! Parabéns!!!
@codigoquant
@codigoquant 4 жыл бұрын
Valeu! Vc pode trabalhar tanto com o preço ajustado por proventos e splits ['Adj Close'] quanto com o preço sem ajustes ['Close']
@RapGlycerio
@RapGlycerio 4 жыл бұрын
Excelente vídeo, tentei procurar algo parecido e não tinha encontrado até agora. Parabéns pelo conteúdo Dúvida: dá para adicionar na carteira o valor aplicado na Selic ou CDB? Como seria? Seria adicionar uma nova coluna identificando o tipo de ativo, e utilizar o if para fazer o cálculo dependendo do ativo? E para o valor em saldo corrente?
@FernandoOliveira-jr3xw
@FernandoOliveira-jr3xw 4 жыл бұрын
Excelente conteúdo, o canal vem ajudando bastante o pequeno investidor. Tentei reproduzir o código e observei que o yahoo finance não possui as cotações no pós carnaval (06/03/19 e 26/02/20), bugando assim todo o resto da cotização. Na sua opinião, como esse problema poderia ser contornado?
@codigoquant
@codigoquant 4 жыл бұрын
Valeu! dropna() deve resolver
@codigoquant
@codigoquant 4 жыл бұрын
Para ser mais específico: prices.dropna(how='all', inplace=True)
@FernandoOliveira-jr3xw
@FernandoOliveira-jr3xw 4 жыл бұрын
@@codigoquant vlw, muito obrigado.
@brunomachadodasilva2556
@brunomachadodasilva2556 3 жыл бұрын
@@codigoquant uma outra forma ainda, seria fazer um fillna com a última cotação válida. prices.fillna(method='ffill')
@AgnaldoPinheiro
@AgnaldoPinheiro 3 жыл бұрын
Excelente vídeo, trabalho de muito valor. Muito obrigado por compartilhar. Dúvida aqui: o código arquivo = pd.read_excel('trades.xlsx') leu meu arquivo Excel porém os valores negativos (vendas) aparecem em positivo na tabela gerada pelo código. Fiz algo errado?
@lucascampos5182
@lucascampos5182 4 жыл бұрын
BOA NOITE PROFESSOR.VOCÊ DA AULAS PELO SKPER DE PROGRAMAÇÃO.?GOSTARIA DE APRENDER PRA TESTAR UMAS ESTRATEGIAS DE BACKTEST PARA SWING TRADER.TEM DISPONIBILIDADE ?QUAL SEU EMAIL ?
@codigoquant
@codigoquant 4 жыл бұрын
Não. O que é?
@lucascampos5182
@lucascampos5182 4 жыл бұрын
@@codigoquant To to tentando calcular taxas de acerto,erro,exp mat e payolf de estrategias para utilizar um setup em swing trader e usar.Como por exemplo essa estrategias aqui :kzbin.info/www/bejne/oIGxpIanZ5hgbac
@codigoquant
@codigoquant 4 жыл бұрын
@@lucascampos5182 Entendi. Pra cada estratégia vai ter que implementar a lógica em python para fazer o backtesting e obter essas métricas de desempenho. Dá pra fazer isso "na unha" ou com auxílio de algum módulo de backtesting.
@lucascampos5182
@lucascampos5182 4 жыл бұрын
@@codigoquant Faz um vídeo de como fazer Backtest de setup de swing trader como IFR!
@Tivebew
@Tivebew 4 жыл бұрын
Faz um video de como fazer um setup super conhecido no python: Ema cross 9/26 Obrigado pela atenção Bom trabalho
@codigoquant
@codigoquant 4 жыл бұрын
Legal. Obrigado pela sugestão.
@FabianoPetrillo
@FabianoPetrillo 3 жыл бұрын
Eu não gostei do vídeo. Eu adorei! Muito obrigado!
@codigoquant
@codigoquant 3 жыл бұрын
Que ótimo!
@jersonjuniortv
@jersonjuniortv 3 жыл бұрын
Olá, trades está retornando tudo zerado: trades = trade_quant.reindex(index=prices.index) trades.fillna(value=0, inplace=True) trades 2020-04-22 0.0 0.0 0.0 0.0 0.0 0.0
@jersonjuniortv
@jersonjuniortv 3 жыл бұрын
Estava usando csv ao invés de xlsx! Já pensou usar o Power BI para visualização dos dados?
@codigoquant
@codigoquant 3 жыл бұрын
Sei que há como integrar o Python no Power BI mas não testei ainda.
@aracoara1
@aracoara1 3 жыл бұрын
@Thiago - Bacana. Também uso o google sheet. Porém, não precisa exportar ele como xls. Você pode ler diretamente do google sheet. Use o pacote gspread.readthedocs.io/en/latest/
@404Raul
@404Raul 3 жыл бұрын
o meu ainda da esse problema, mesmo com xlsx
@rgirotto
@rgirotto 2 жыл бұрын
@@404Raul vem zerado pq os dois índices tem que ser um datetime. Quando são de tipos diferentes zera tudo. seta a coluna de datas como indice e depois como datetime usando df['data'] = pd.to_datetime(df['data'])
SIMULANDO CARTEIRAS ALEATÓRIAS DE AÇÕES | PYTHON PARA INVESTIMENTOS #6
15:05
Código Quant - Finanças Quantitativas
Рет қаралды 11 М.
ANÁLISE DE EMPRESAS COM PYTHON | Classificando empresas da bolsa segundo a Magic Formula | #8
22:49
Código Quant - Finanças Quantitativas
Рет қаралды 17 М.
Real Or Cake For $10,000
00:37
MrBeast
Рет қаралды 58 МЛН
Como Calcular Corretamente a Rentabilidade de uma Carteira de Ações | Cotização de Investimentos
11:40
Código Quant - Finanças Quantitativas
Рет қаралды 24 М.
Fronteira Eficiente na Prática com Python | Otimização de Carteira | Markowitz
27:24
Código Quant - Finanças Quantitativas
Рет қаралды 9 М.
SALVANDO PREÇOS HISTÓRICOS (COM PYTHON) de TODAS as AÇÕES do ÍNDICE BOVESPA no GOOGLE PLANILHAS
18:40
Tirei a CERTIFICAÇÃO FINANCEIRA mais difícil (e rara) do mundo
12:06
Código Quant - Finanças Quantitativas
Рет қаралды 7 М.
DADOS CVM DE FUNDOS DE INVESTIMENTO: Como obter e tratar com  PYTHON #16
19:58
Código Quant - Finanças Quantitativas
Рет қаралды 12 М.
CVM: Demonstrações Financeiras com Python | BALANÇO, DRE, DFC, DMPL, DVA das Empresas da Bolsa
12:46
Código Quant - Finanças Quantitativas
Рет қаралды 28 М.
PYTHON PARA INVESTIMENTOS #4: Simulando uma CARTEIRA DE AÇÕES e comparando com o IBOVESPA
10:21
Código Quant - Finanças Quantitativas
Рет қаралды 18 М.