IBOV

109.275,49 pts

+1,16%

SP500

4.522,94 pts

-0,22%

DJIA

35.018,66 pts

-0,03%

NASDAQ

14.985,73 pts

-0,41%

IFIX

2.802,51 pts

-0,16%

BRENT

US$ 87,61

-0,94%

IO62

¥ 752,50

+1,83%

TRAD3

R$ 4,43

+5,98%

ABEV3

R$ 14,49

-0,34%

AMER3

R$ 34,32

+3,37%

ASAI3

R$ 11,94

-0,74%

AZUL4

R$ 27,21

+7,67%

B3SA3

R$ 13,28

+8,32%

BIDI11

R$ 25,49

+13,28%

BBSE3

R$ 20,59

-0,43%

BRML3

R$ 8,94

+2,40%

BBDC3

R$ 17,52

-0,56%

BBDC4

R$ 21,07

-0,14%

BRAP4

R$ 28,20

-1,77%

BBAS3

R$ 31,29

+0,90%

BRKM5

R$ 49,41

+0,42%

BRFS3

R$ 23,35

-1,51%

BPAC11

R$ 21,52

+8,14%

CRFB3

R$ 14,60

-2,92%

CCRO3

R$ 11,90

+4,93%

CMIG4

R$ 13,00

+0,30%

HGTX3

R$ 37,51

+0,00%

CIEL3

R$ 2,14

+2,88%

COGN3

R$ 2,34

+6,36%

CPLE6

R$ 6,68

+2,92%

CSAN3

R$ 22,54

+2,59%

CPFE3

R$ 26,86

+0,71%

CVCB3

R$ 12,79

+10,64%

CYRE3

R$ 15,32

+3,86%

ECOR3

R$ 7,63

+4,66%

ELET3

R$ 33,55

+1,54%

ELET6

R$ 32,75

+1,23%

EMBR3

R$ 21,15

+2,77%

ENBR3

R$ 21,46

-0,83%

ENGI11

R$ 40,69

-1,50%

ENEV3

R$ 12,92

+2,94%

EGIE3

R$ 39,50

+0,43%

EQTL3

R$ 22,31

+0,49%

EZTC3

R$ 19,95

+5,55%

FLRY3

R$ 18,38

+1,37%

GGBR4

R$ 28,67

-1,27%

GOAU4

R$ 11,96

-1,23%

GOLL4

R$ 17,04

+3,58%

NTCO3

R$ 22,25

+6,61%

HAPV3

R$ 11,21

+2,65%

HYPE3

R$ 28,79

+1,30%

IGTA3

R$ 33,24

+0,00%

GNDI3

R$ 64,87

+1,77%

IRBR3

R$ 3,53

+4,74%

ITSA4

R$ 9,61

-0,10%

ITUB4

R$ 23,27

-0,89%

JBSS3

R$ 36,30

-0,84%

JHSF3

R$ 5,25

+6,06%

KLBN11

R$ 25,75

+0,23%

RENT3

R$ 54,36

+9,04%

LCAM3

R$ 24,21

+7,84%

LWSA3

R$ 8,60

-0,46%

LAME4

R$ 6,47

+3,02%

LREN3

R$ 26,13

+5,15%

MGLU3

R$ 6,66

+5,54%

MRFG3

R$ 22,31

-1,67%

BEEF3

R$ 9,76

-1,11%

MRVE3

R$ 11,90

+5,87%

MULT3

R$ 19,66

+4,85%

PCAR3

R$ 20,01

+0,15%

PETR3

R$ 34,59

+0,99%

PETR4

R$ 31,89

+1,27%

VBBR3

21,30

+3,80%

PRIO3

R$ 24,23

+1,00%

QUAL3

R$ 16,80

+0,96%

RADL3

R$ 20,44

-0,48%

RAIL3

R$ 17,54

+4,84%

SBSP3

R$ 36,17

+1,34%

SANB11

R$ 31,19

-1,04%

CSNA3

R$ 26,46

+2,59%

SULA11

R$ 24,31

+2,27%

SUZB3

R$ 60,34

-2,44%

TAEE11

R$ 37,65

+2,28%

VIVT3

R$ 48,60

-0,18%

TIMS3

R$ 12,83

-1,23%

TOTS3

R$ 26,45

+4,54%

UGPA3

R$ 13,60

+2,79%

USIM5

R$ 16,55

-1,19%

VALE3

R$ 86,86

-1,53%

VIIA3

R$ 4,25

+6,25%

WEGE3

R$ 30,83

+1,08%

YDUQ3

R$ 19,94

+2,94%

IBOV

109.275,49 pts

+1,16%

SP500

4.522,94 pts

-0,22%

DJIA

35.018,66 pts

-0,03%

NASDAQ

14.985,73 pts

-0,41%

IFIX

2.802,51 pts

-0,16%

BRENT

US$ 87,61

-0,94%

IO62

¥ 752,50

+1,83%

TRAD3

R$ 4,43

+5,98%

ABEV3

R$ 14,49

-0,34%

AMER3

R$ 34,32

+3,37%

ASAI3

R$ 11,94

-0,74%

AZUL4

R$ 27,21

+7,67%

B3SA3

R$ 13,28

+8,32%

BIDI11

R$ 25,49

+13,28%

BBSE3

R$ 20,59

-0,43%

BRML3

R$ 8,94

+2,40%

BBDC3

R$ 17,52

-0,56%

BBDC4

R$ 21,07

-0,14%

BRAP4

R$ 28,20

-1,77%

BBAS3

R$ 31,29

+0,90%

BRKM5

R$ 49,41

+0,42%

BRFS3

R$ 23,35

-1,51%

BPAC11

R$ 21,52

+8,14%

CRFB3

R$ 14,60

-2,92%

CCRO3

R$ 11,90

+4,93%

CMIG4

R$ 13,00

+0,30%

HGTX3

R$ 37,51

+0,00%

CIEL3

R$ 2,14

+2,88%

COGN3

R$ 2,34

+6,36%

CPLE6

R$ 6,68

+2,92%

CSAN3

R$ 22,54

+2,59%

CPFE3

R$ 26,86

+0,71%

CVCB3

R$ 12,79

+10,64%

CYRE3

R$ 15,32

+3,86%

ECOR3

R$ 7,63

+4,66%

ELET3

R$ 33,55

+1,54%

ELET6

R$ 32,75

+1,23%

EMBR3

R$ 21,15

+2,77%

ENBR3

R$ 21,46

-0,83%

ENGI11

R$ 40,69

-1,50%

ENEV3

R$ 12,92

+2,94%

EGIE3

R$ 39,50

+0,43%

EQTL3

R$ 22,31

+0,49%

EZTC3

R$ 19,95

+5,55%

FLRY3

R$ 18,38

+1,37%

GGBR4

R$ 28,67

-1,27%

GOAU4

R$ 11,96

-1,23%

GOLL4

R$ 17,04

+3,58%

NTCO3

R$ 22,25

+6,61%

HAPV3

R$ 11,21

+2,65%

HYPE3

R$ 28,79

+1,30%

IGTA3

R$ 33,24

+0,00%

GNDI3

R$ 64,87

+1,77%

IRBR3

R$ 3,53

+4,74%

ITSA4

R$ 9,61

-0,10%

ITUB4

R$ 23,27

-0,89%

JBSS3

R$ 36,30

-0,84%

JHSF3

R$ 5,25

+6,06%

KLBN11

R$ 25,75

+0,23%

RENT3

R$ 54,36

+9,04%

LCAM3

R$ 24,21

+7,84%

LWSA3

R$ 8,60

-0,46%

LAME4

R$ 6,47

+3,02%

LREN3

R$ 26,13

+5,15%

MGLU3

R$ 6,66

+5,54%

MRFG3

R$ 22,31

-1,67%

BEEF3

R$ 9,76

-1,11%

MRVE3

R$ 11,90

+5,87%

MULT3

R$ 19,66

+4,85%

PCAR3

R$ 20,01

+0,15%

PETR3

R$ 34,59

+0,99%

PETR4

R$ 31,89

+1,27%

VBBR3

21,30

+3,80%

PRIO3

R$ 24,23

+1,00%

QUAL3

R$ 16,80

+0,96%

RADL3

R$ 20,44

-0,48%

RAIL3

R$ 17,54

+4,84%

SBSP3

R$ 36,17

+1,34%

SANB11

R$ 31,19

-1,04%

CSNA3

R$ 26,46

+2,59%

SULA11

R$ 24,31

+2,27%

SUZB3

R$ 60,34

-2,44%

TAEE11

R$ 37,65

+2,28%

VIVT3

R$ 48,60

-0,18%

TIMS3

R$ 12,83

-1,23%

TOTS3

R$ 26,45

+4,54%

UGPA3

R$ 13,60

+2,79%

USIM5

R$ 16,55

-1,19%

VALE3

R$ 86,86

-1,53%

VIIA3

R$ 4,25

+6,25%

WEGE3

R$ 30,83

+1,08%

YDUQ3

R$ 19,94

+2,94%

Python: listas e operações repetidas (for loop)

filipe-duarte

27 JAN

3 MIN

Python: listas e operações repetidas (for loop)

Dando sequência ao nosso curso de introdução ao Python, no artigo a seguir tratamos de listas e laços de repetição (for loop) com esta linguagem de programa. Nos textos anteriores, já elencamos as operações básicas e variáveis, bem como introduzimos o programador iniciante aos primeiros passos com o Google Colab.

A partir deste estudo prévio, onde já aprendemos como preparar o ambiente para escrever códigos em Python e a realizar operações matemáticas básicas e variáveis, hoje seguimos um passo adiante para que a análise de dados quantitativos entre em sua rotina como investidor. Para facilitar a compreensão do conteúdo, elencamos o artigo nos seguintes tópicos:

  • Listas
  • Como criar listas no Python
  • Laços de repetição Python (for loop)

Boa leitura!

Introdução ao Python: Listas

As listas são extremamente úteis para quem utiliza programa, independentemente da linguagem, pois elas permitem que você armazene uma sequência de valores (dados) em apenas um único objeto.

Quem realiza análise de dados está acostumado a utilizar esse tipo de estrutura, que pode ser conceituada como uma coleção de dados em um formato de vetor. Note que podemos salvar dados numéricos (integer / float) e textuais (string).

Listas organizam itens de forma linear, os quais podem ser acessados a partir de um índice que indica a posição. No Python o índice da lista inicia em 0.

Como criar uma lista no Python?

As listas em Python apresentam elementos dentro de colchetes [], e os elementos são separados por vírgulas. Veja abaixo como podemos criar uma lista que salva cinco elementos para representar os últimos anos.

Atribuímos o nome ‘anos’ para representar a nossa lista. Salvamos os valores 2016, 2017, 2018, 2019 e 2020. Abaixo, vamos utilizar a função print() para mostrar os valores da lista anos.

Os valores são mostrados entre colchetes e separados por vírgulas. Uma dúvida que surge é: como faço para acessar um item da lista? Você deve digitar o nome da lista seguido de colchetes e, em seguida, escreva o número que representa a posição do item que deseja acessar.

Por exemplo, para acessar o primeiro item, o ano 2016, nos utilizamos o comando anos[0]. Nesse sentido, para acessar o segundo item, digitamos anos[1]. Vejamos abaixo como acessar todos os elementos, um por vez:

Perceba que esse processo de acessar um item por vez é muito trabalhoso. O que podemos fazer para automatizar esse procedimento de mostrar um conjunto de elementos ou todos os itens de uma lista? Bem, podemos empregar o for loop, um laço de repetição que é empregado quando desejamos repetir um procedimento várias vezes.

É aí que entramos na segunda parte do artigo, ou seja, como criar laços de repetição no Python.

Laços de repetição (for loop)

Em determinados momentos precisamos realizar um cálculo diversas vezes seguidas. Por exemplo, quando necessitamos calcular o retorno simples para diversas ações de um portfólio. Nesse caso, teríamos que empregar uma operação (fórmula abaixo) para diversos itens. Esse seria um bom exemplo no qual poderíamos empregar o for loop a fim de automatizar esse procedimento.

Antes de mostrar a aplicação de cálculo do retorno vamos ver como usar o laço de repetição para mostrar os anos da lista anos.

Vamos utilizar o retorno simples de uma ação (Rt) cuja fórmula está expressa a seguir:

Para calcular o retorno simples, vamos precisar de duas listas, uma para salvar os valores dos preços em t e outra para os preços em t-1. Em seguida, vamos pedir para imprimir os valores dos retornos para 3 ações:

  • Listas de preços:

  • Cálculo do retorno:

Como faremos a iteração em duas listas, usaremos a função zip(preco_t, preco_t_1)

Conseguimos implementar o cálculo do retorno simples para 3 ações com valores de preços salvos em 2 listas (preco_t e preco_t_1). Após o comando ‘for’, o qual significa ‘para cada’, separamos os itens a serem iterados por vírgula, em seguida escrevemos ‘in’ (representa ‘em’) e as listas dentro da função zip().

No próximo artigo de Introdução ao Python estudaremos como realizar operações condicionais e como criar funções. Essas operações serão úteis quando precisarmos avaliar condições lógicas, e para aplicarmos determinadas operações em listas diferentes (ou em momentos distintos).

Baixe nosso aplicativo grátis! No TC você acompanha as principais notícias e cotações do mercado em tempo real, além de ter acesso a canais exclusivos para interagir com os melhores profissionais.

Colaborador do TC School

Aprenda tudo sobre contabilidade

E-BOOK

Aprenda tudo sobre contabilidade

Neste e-book — “Contabilidade”, trazemos informações e conceitos importantes sobre contabilidade financeira.

Receba todas as novidades do TC

Deixe o seu contato com a gente e saiba mais sobre nossas novidades, eventos e facilidades.