Loading
Nota de Estudos
Study Reminders
Support
Text Version

Incluindo Indicadores em Opções Customizadas

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Incluindo Indicadores em Opções Customizadas

00:00 Speaker 1: Olá, todos, e bem-vindos à Parte 6 da Seção 4 da Visualização de Dados com Python e Matplotlib. Neste tutorial vamos adicionar mais um indicador simples para preencher o nosso gráfico, e então começaremos com mais customização. Então, o que nós vamos fazer é que vamos adicionar esse indicador chamado de "alto menos baixo". E a ideia de alta menos baixa é acompanhar a volatilidade. Agora, provavelmente, você suaviria alto menos baixo com algum tipo de média móvel, ou alta menos baixa pode ser uma mudança de porcentagem, então está normalizada através de estoques ou o que seja. Por enquanto, vamos mantê-lo realmente simples e só vamos fazer o alto menos baixo. Por isso, a ideia de alto menos baixo é você tomar ... Digamos que estamos usando dados diários, que somos, você leva o alto daquele dia menos a baixa daquele dia, e você recebe uma faixa de preços que aquele instrumento variou entre para aquele dia. E assim, isso é útil porque quanto mais variância no preço, mais realmente volátil esse preço foi.

00:58 S1: Então, nós vamos em frente e só vamos adicionar isso por baixo da média móvel. E o que vamos dizer é: "def alto menos baixo", e para calcular para isso, temos altas e temos mínimas, e isso é tudo o que precisamos. E aí, tudo o que temos a fazer neste momento é devolver as máximas menos as mínimas. Agora, curiosamente, o que podemos fazer é algo simples como este é, digamos, por exemplo, temos uma situação em que temos altas são iguais a 6787689. E aí temos algumas mínimas. As mínimas são iguais a, e vamos apenas espaço algumas vezes. Então, 1232421. Então, essas são as nossas máximas e as nossas mínimas, por exemplo. Podemos ter H_L como igual a, basicamente dizendo: "Ei, este é o alto menos baixo." E o que podemos fazer, é podemos usar o mapeamento, e em Python 3, é mais parecido com mapeamento de lista. Então, o que nós fazemos é, primeiro, queremos mapear o alto menos baixo. E então passamos ... Assim você passa a função, e então passa qualquer tipo de parâmetro para essa função. Temos altas, temos mínimas. E então, basicamente, temos que converter isso para uma lista se você estiver em Python 3. Se você está seguindo junto no Python 2, você provavelmente deve pegar o Python 3. Mas se você está no Python 2, você realmente ... Você não precisa da lista lá, mas no Python 3, você absolutamente faz. Então, então, poderíamos imprimir H_L, e vamos salvá-lo em torno disso, e vamos apenas ... Nós nem precisamos chegar ao estoque para enredo.

02:39 S1: Então, imprime esta lista: 5555268. Então esse é o nosso alto menos baixo. 555, bom. 5268, então, bom, que era exatamente o que queríamos. Assim, podemos fechar isso, não vamos avançar mais, e podemos nos livrar desse código aqui mesmo. E agora, o que podemos fazer é, na verdade, aplicar esse código em nossos dados de precificação. Então, a gente recebe todos os dados aqui, e aí estamos definindo nossas médias móveis aqui, legal. E aí nós começamos, na verdade ... Nós recriamos os dados um pouco aqui, e então começamos a plotar dados aqui. Então, como eu estava dizendo antes, geralmente, é uma boa ideia meio que agarrar tudo junto. Então, nós poderíamos realmente torcermos mais isso. Então essas são nossas coisas de AX2. Nós vamos nos livrar desses. Estas são as nossas coisas AX3. Então lá em cima é onde colocaremos as coisas do AX1.

03:31 S1: Então, primeiro, precisamos definir o alto menos baixo. Então, a gente faria como H menos L é igual ... E aí, novamente, este seria um mapa de alto menos baixo. Opa, isso é sublinhado baixo. E aí, nós temos os altos Ps e os baixos Ps, ok? E aí nós precisamos realmente converter isso tudo para uma lista, então nós fazemos lista. Então, é uma lista de tudo isso. Então, o que nós vamos fazer é apenas dizer AX1.plot, e vamos traçar a data, e depois o H_L. Então, com isso, vamos em frente e vamos salvar e correr aquele, e vamos traçar X de novo. E agora temos o alto menos baixo no gráfico superior.

04:25 S1: Então agora nós temos um gráfico. Tem um monte de coisa acontecendo aqui e nós temos dados que estamos usando. Então, isso é bem legal. Agora, de novo, há algumas coisas que não são as maiores agora. Então, algumas das coisas que nós estamos meio que tem acontecendo aqui são nossas datas. Não podemos realmente ler as datas. Esses números aqui embaixo não significam nada para nós, esses números aqui não significam nada para nós, nós não temos nossos rótulos. Se nós zoarmos para um ponto específico em um gráfico, ele não vai dar um zoom no outro gráfico, então nós temos que corrigir isso. E não temos título, e provavelmente há algumas outras coisas que não estou pensando nisso logo neste minuto, mas temos muitas coisas pequenas que ainda estão erradas com este gráfico. Então, o que precisamos estar fazendo agora no próximo ... Basicamente, o restante desta seção é dedicado a meio de fixar esse gráfico e a ficar apresentável. Por isso, temos muitas mudanças a fazer, mas conseguimos os dados e agora apenas fazemos alguma customização. Então, nós vamos receber este gráfico parecendo muito bem em nenhum momento. Então, de qualquer maneira, é o que vocês têm que olhar para frente com o resto desta seção, então fiquem ligados por isso. 00:00 Speaker 1: Olá todo mundo, e bem-vindos à parte sete da seção quatro de nossa Data Visualization com Python e Matplotlib Tutorial Series. Nesta parte, o que vamos estar falando é ajustar as datas e consertar algumas outras questões, e realmente, é o que estaremos fazendo para o resto desta seção.

00:18 S1: Então, antes de mais nada, descobrimos que quando tramamos este gráfico, uma das primeiras coisas que notamos é, só temos muita sobreposição acontecendo aqui. Então, as datas estão sendo mostradas no ax2. Eles realmente precisam mostrar no ax3 e nós podemos simplesmente nos livrar das outras datas que estão aparecidas em tudo; nós não queremos nem essas. Então a primeira coisa que nós vamos seguir adiante e fazer é fechamos isso por enquanto. E antes de mais nada, vamos descer para onde definimos coisas para ax2, e nem mesmo ... Nós realmente não queremos isso em nada, então vamos cortar isso. Por isso, Ctrl + X, recorte, desça até ax3 e, em seguida, Ctrl + V para colar. E mude isso para ax3, ax3, ax3. Então agora o que estamos fazendo é que estamos tramando esperemos que esses rótulos no ax3. Vamos verificar para ter certeza de que tudo é o caminho que esperamos. E com certeza, agora só temos os números lá, não datas e números aqui, não datas e ... Aqui, temos datas. Então parece bom. Então, estamos de folga para um início relativamente decente.

01:33 S1: Então agora o que queremos fazer é querer nos livrar dos rótulos dos X em ax1 e ax2. Então o que podemos fazer é podemos dizer isso. Podemos dizer plt.setp, e o que nós vamos fazer aqui é ax1.get_xticklabels. E aí o que nós vamos fazer é vamos defini-los visible=falso. Então o que isso vai fazer é livrar-se do X ticks para o eixo 1. E aí fazemos exatamente a mesma coisa. Na verdade, vamos fazer aqui. Vamos descer para o ax2. É aqui que nós grafamos, nós grade, adicionamos a caixa na caixa de anotação, e depois vamos descer aqui, e faremos exatamente a mesma coisa. Então, plt.setp. Desta vez, ax2. Ainda get_xticklabels. E nós vamos definir visible=falso. Então agora vamos salvar e correr isso, e vamos ver o que a gente recebe agora. Então, agora o que temos é que ainda temos isso mais tempo lá, mas vamos lidar para isso em um pouco. Mas nós não temos mais esses números no gráfico.

02:56 S1: Então, a próxima coisa que a gente quer ir em frente e fazer é a gente vai vir para cá. Então com a média móvel, por exemplo, só para meio que incorporamos o que aprendemos até agora, e se quisemos mostrar o que essas médias móveis realmente significaram? Assim, a forma como moviam médias funcionam, estas podem não ser a melhor média móvel para esta empresa, mas a forma como as médias móveis funcionam é basicamente quando a média móvel mais rápida, portanto esta azul, está abaixo da média móvel mais lenta, isso significa que o preço está se tendência para baixo. Está caindo. E isso é verdade. E então uma vez que essa média móvel mais rápida se cruza acima da média móvel mais lenta, isso significa que o preço está se trending. Então, de novo, se alinhamos isso, sim, isso é verdade. E, então, de novo, cruza-se a este ponto, e depois é para baixo. Então nessa marca bem nessa área, isso é ruim, preço vai caindo. Esta marca, boa. Preço está subindo. Ruim.

03:50 S1: Então vamos falar sobre a criação de um preenchimento personalizado que vai preencher este vermelho, este verde e este vermelho. Bem, a maneira como nós podemos fazer isso está se descindo para ... Nós estaremos fazendo isso em ax3. Estamos tramando aqui e basicamente ... Primeiro, vamos definir esses. As linhas são um pouco grossas para o que vamos acabar fazendo, então vamos dizer linewidth=1. E, novamente, faremos a largura de linhagem aqui igual a 1. A seguir, o que queremos fazer é depois que planejamos, vamos em frente e fazemos um ax3.fill_between e preenchemos entre a data, e depois "-start:", preenchemos entre lá, e então isso é ... Bom, pelo menos esse é o X. E então o que estamos preenchendo? Bem, estamos preenchendo entre o ma2 do "-start:" Para o "ma1-start:". Onde? E então aqui, vamos dizer que este é o descendente. Este seria onde "ma2-start:" é maior que ... E então usaremos apenas maior ou igual a "ma1-start:". Então esse será o nosso preenchimento entre. E então esta é a declaração onde, e depois podemos adicionar vírgula aqui, e podemos dizer que a cor da face aqui será igual a vermelha. E aí podemos dizer que a cor de borda é igual a vermelha. E então finalmente podemos adicionar o alfa, e só usaremos 0,5 por enquanto.

05:42 S1: Então então fazemos a exata mesma coisa de novo vindo por aqui, onde vamos dizer ax3.fill_between e depois namorar, e depois a mesma coisa de novo. Então o X. E então o que estamos preenchendo entre? Bem, estamos preenchendo entre o "ma2-start:" E o "ma1-start:". E, desta vez, a instrução where é onde o ma2 do "-start:" é menor ou igual ao "ma1-start:". E então aqui, a cor da face será igual a verde, a cor de borda será igual a verde e, em seguida, novamente, o alfa se estabelecerá como 0,5. Portanto, essa é uma espécie de nossa maneira de preencher para facilmente ver onde nossas compras e vendas podem estar. Então, novamente, vamos enredo Exxon. Ah, nós temos um erro. Vamos trazer isso para cima. Onde não está definido. Vamos fechar com isso. Certo, ok. Por isso, precisa ser "onde =". "Onde =", ok. Então vamos tentar isso de novo. Nós vamos traçar a Exxon, e vamos trazer o gráfico. E agora temos o preenchimento. Então esse é o bom momento, vender tempo e, em seguida, bom tempo, vender tempo.

07:25 S1: Então, que somos nós incorporando a parte de preenchimento que aprendemos. Então realmente, por último, a única coisa que nós talvez desejaríamos consertar sobre isso seria algo como aqueles tempos, então deixe-me trazer isso para cima. Então esses pequenos tempos aqui. Agora, poderíamos tentar removê-las. Além disso, se mudarmos o alto menos baixo, por exemplo, em vez de enredo, fazemos a data da trama, e então adicionaremos mais um pequeno parâmetro aqui, que é aquele traço. Dessa forma, trama uma linha ao invés de uma dispersão. Então, se somarmos isso, podemos ver que ele se livre disso para essa trama de topo, mas ainda assim não esta trama inferior porque este é um candelabro. Por isso, uma das coisas que poderíamos fazer é por exemplo, poderíamos simplesmente vir por aqui no espaço do cabeçalho, basta se livrar do espaço do cabeçalho. E o cabeçalho pode simplesmente cobrir esse preço e isso está totalmente bem. Podemos fazer algo assim, para que pudéssemos dizer hspace em vez de 0,2 ou poderíamos fazer 0,04, algo assim. E aí agora, só não é realmente que uma grande questão aí. Então, eventualmente, eu acho que provavelmente é melhor apenas manter o espaço de cabeçalho zero ' causa mesmo quando você faz isso enorme, ele ainda está no caminho, mas se você fizer isso muito pouco, ele vai atropelar essa anotação.

08:45 S1: Mas como com qualquer coisa em gráficas, o que acaba acontecendo é, por exemplo, poderíamos dizer que o hspace é igual a 0,0. E, agora mesmo, está correndo mais um pouco esse axé. Então, então a questão seria bem, e se anotamos bem aqui, pegue isso, corte, e então pouco antes de mostrarmos tudo, faça-o nessa ordem. Então o que acontece se tentarmos isso? Assim, podemos ver que há propriedades para os eixos que praticamente sempre faz com que os eixos tenham precedentes sobre o que quer que seja. E vimos isso foi o caso quando axes estavam sobrepondo datas e tudo isso. Então você tem que ter que ter isso em mente porque muitas vezes, a ordem de que as coisas aparecerão é a ordem em que elas foram criadas. Mas, no nosso caso, isso não é realmente o que está acontecendo aqui porque um axé sempre ganha prioridade, e isso é realmente apenas meio que para te salvar de cobrir as coisas acidentalmente e tal. Basta manter isso em mente. A única coisa que pode cobrir outro axé é outro machão. Então, de qualquer maneira, mudaremos isso de volta. Mas se você deixar no zero, por exemplo, e então nós fazemos isso, está totalmente bem, se você estiver em tamanho médio o gráfico. As outras coisas que são um problema ainda seriam a sobreposição dos valores de Y aqui, que nós vamos estar falando muito em breve.

10:08 S1: Então, de qualquer maneira, é isso para este tutorial. Fique atento ao próximo tutorial, onde estaremos falando de rótulos e limpando marcadores e tudo mais. Então, fique atento para isso. Obrigado por assistir.

00:00 Speaker 1: Olá, todo mundo, e bem-vindo à parte oito da seção quatro. Nesta parte, o que nós vamos estar falando é limpar as coisas um pouco e adicionar rótulos. Por isso, antes de mais nada, vamos adicionar nossos rótulos para que as pessoas saibam o que estão olhando. Então por exemplo aqui, temos ax1 e bem, basicamente o nosso ... Na verdade, chegamos aqui nas definições, e bem aqui, rotulamos para ax2. Vamos em frente e rotular para ax1. Por isso, plt.ylabel aqui seria algo como H menos L, ou alto menos baixo. Depois, para os nossos eixos 3, poderíamos fazer plt.ylabel, e aqui diria provavelmente MAVGZ, portanto, as médias em movimento, algo curto para que caberia naquele axé Y, porque se você relembrar, nossos eixos Y são bem pequenos em pelo menos o topo e o gráfico inferior.

01:00 S1: Em seguida, o que queremos seguir adiante e fazer é vamos trazer isso, e falaremos sobre o que vamos fazer em seguida. Então enredo Exxon. E ok, então agora nós temos nossos rótulos, e é por isso. Assim, se tornamos MAVGZ muito maior, seria muito grande para os eixos. Então, a próxima coisa que a gente quer falar agora são esses números aqui. Então, antes de mais nada, temos um pouco demais números nesses eixos, e podemos tornar a fonte menor, mas mesmo que tornamos a fonte menor, ainda teríamos a sobreposição dos eixos de baixo e deste axé do meio, e os eixos médios e este top axes. Isso ainda estaria acontecendo não importa o que fizemos com o tamanho da fonte, praticamente. Talvez você possa fazer, mas você pode ver que é uma sobreposição perfeita. Eles estão apenas tomando os lugares um do outro. Por isso, há duas coisas que queremos fazer. Um é pelo menos para o topo e os eixos de fundo, na verdade queremos ter menos marcadores aqui, e isso é totalmente factível. E aí nós também queremos aparar possivelmente um desses marcadores aqui e um dos marcadores aqui para não termos essa sobreposição acontecendo. Então é disso que nós vamos estar falando agora, está fazendo essas duas coisas.

02:06 S1: Então antes de tudo, no ax1, vamos simplesmente para onde estamos realmente tramando coisas, então estaria bem aqui. E nós definimos os tiques, o X ticks a falso. Agora o que vamos seguir adiante e fazer é vamos mais uma para baixo e vamos fazer ax1.yaxes.set_major_locator, e aí nós os definimos para o mticker.MaxNLocator. E então aqui dizemos o número. Então, nbins, então este é o número de bins, e digamos que queremos que seja cinco. Ok. Então agora, vamos salvar e correr isso. Mesma coisa, traça Exxon. Ah, o que nós fizemos? [chuckle] Micher? Alrighty. Mticker. Ok, tente isso mais uma vez. Ok, legal. Então agora podemos ver que temos menos, e eles não estão correndo uns sobre os outros. Nós ainda temos essa sobreposição aqui, mas eles não estão correndo um sobre o outro. Então agora nós vamos consertar essa sobreposição nesse topo. Assim, a forma como podemos fazer isso é com mais um parâmetro. Então temos nbins=5. E aí podemos adicionar esse outro pequeno parâmetro, e é ameixa, e dizemos que queremos podar o valor inferior. Assim, podemos salvar e executá-lo e traremos a Exxon novamente. E agora podemos ver que não há sobreposição em nada. Então, 84, 86, 88, 90, 92, 94, e aí começamos o outro.

03:42 S1: Então agora conseguimos a sobreposição na parte de baixo, e podemos ou não querer realmente consertar esta, também, esta 94. Você poderia se livrar disso, também, então há um pouco mais de espaço porque é quase como, parece que 94 poderia fazer parte deste também. Mas de qualquer forma, vamos fechar bem disso, e faremos exatamente a mesma coisa aqui. Então nós vamos descer para o ax2 e ax2 basicamente funciona esse pedaço. Então então o que faremos é levar ax2.yaxes.set_major_locator, e depois novamente, mticker.MaxNLocator. Por isso, certidão-se de atender os casos lá. Max locator, e depois nbins, so número de bins, e novamente, nós vamos dizer apenas cinco, e então nós vamos podar igual ao superior. Para que nós não tenhamos essa sobreposição no valor superior também.

04:41 S1: Vamos traçar um estilo diferente. Vamos fazer TSLA para Tesla. Ok. Então agora nós temos o preço aqui, não mais sobrepor aqui, legal. E então olhando para cá, onde temos nossas médias móveis elas ainda têm que ser arrumadas, mas nenhum problema para nós. Nós sabemos como fazer isso, então nós vamos. E tudo mais, parecendo muito bem. Então, vamos fechar com isso. E agora, finalmente, fazemos a mesma coisa que temos feito aos eixos 3, e enquanto estamos nele, vamos em frente e colocamos essa anotação de volta para onde ela pertence. Então, destaque que, Control X, coloque-o de volta para cima aqui porque pertence aos eixos 2. Eu só queria trazer lá embaixo para mostrar pra vocês que nem sempre você vai conseguir sobrescrever as coisas. Enfim, então ax3.yaxes.set_major_locator, e depois, aqui dentro, colocamos mticker.MaxNLocator. E então como de costume, vamos apenas fazer o nbins= 5, e vamos podar aquele superior, superior.

05:47 S1: Ok. Então nós podemos agora, vamos em frente e salvar e comandar isso, vamos enredo Tesla novamente. Tudo bem. Então agora nós fizemos isso, e ainda parecemos ter uma leve sobreposição lá. Se você faz isso grande, você realmente não tem aquela sobreposição completa, mas talvez você queira se livrar de ... Você pode querer se livrar da baixaria também aqui. Quase parece que nem sequer podamos o superior em médias móveis. Deveria estar bem aqui, eu suponho, e seria muito sobrepor. Enfim, sabemos que fizemos isso porque definimos as bins para cinco, e só temos quatro valores aqui. Anywho. Então, fechando para fora dali, é basicamente isso no que diz a limpeza do gráfico. Não precisamos necessariamente fazer muito mais para limpar o gráfico, além de talvez aquela sobreposição. Mas por exemplo, vamos enredo, vamos fazer outro estoque. Vamos fazer GOOG para o Google. E você pode ver aqui, não há uma questão realmente sobreposição acontecendo necessariamente lá, ou poderíamos voltar a ... Vamos fazer Exxon novamente e ver o que a Exxon está fazendo por nós. Então aqui está Exxon, e também não é realmente um problema aqui, também.

07:02 S1: Então de qualquer forma, nós temos bastante a limpeza acontecendo lá. E agora o que nós queremos ser capazes de fazer é estamos olhando para este gráfico, vamos dizer, e aí nós decidimos: "Ei, eu quero dar um zoom nesse ponto." Nós queremos ser capazes de dar um zoom nesse ponto e ter tudo se juntado. Então nós vamos adicionar que "compartilhe eixos X" para este gráfico, e também estamos perdendo um pouco de volume aqui. Então, adicionando outro ... O volume não é realmente um indicador, mas é outro ponto de precificação. Ou não ponto de precificação, mas são informações sobre o estoque. Por isso, queremos adicionar volume, e há um tipo de coisa legal que podemos fazer e mostrar com o Matplotlib quando adicionamos volume. Por isso, estaremos adicionando essas duas coisas à medida que avançamos. E então estaremos falando de lendas também porque não temos nenhuma legenda aqui em nada. Então é isso que vocês têm que olhar para frente, então fiquem atentos para isso. Obrigado por assistir.