Loading

Alison's New App is now available on iOS and Android! Download Now

Study Reminders
Support
Text Version

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

    +

Adición de indicadores a opciones personalizadas

00:00 Speaker 1: Hola, todos, y bienvenidos a la Parte 6 de la Sección 4 de Visualización de Datos con Python y Matplotlib. En este tutorial, vamos a añadir un indicador más simple para llenar nuestro gráfico, y entonces empezaremos con más personalización. Entonces, lo que vamos a hacer es que vamos a añadir este indicador llamado "alto menos bajo". Y la idea de lo alto menos bajo es rastrear la volatilidad. Ahora, probablemente, usted fluiría alto menos bajo con algún tipo de promedio móvil, o alto menos bajo podría ser un cambio de porcentaje, por lo que se normaliza a través de acciones o lo que sea. Por ahora, vamos a mantenerlo realmente simple y sólo vamos a hacer alto menos bajo. Así que la idea de alto menos bajo es tomar ... Digamos que estamos usando los datos diarios, que somos, se toma el máximo de ese día menos el mínimo de ese día, y se obtiene una gama de precios que ese instrumento varió entre para ese día. Y así, esto es útil porque cuanto más varianza en el precio, más volátil es ese precio.

00:58 S1: Por lo tanto, vamos a seguir adelante y vamos a añadir esto por debajo de la media móvil. Y lo que vamos a decir es, "def alto menos bajo", y para calcular para esto, tenemos máximos y tenemos mínimos, y eso es todo lo que necesitamos. Y entonces, todo lo que tenemos que hacer en este punto es devolver los máximos menos los mínimos. Ahora, curiosamente, lo que podemos hacer es algo sencillo como este es, digamos, por ejemplo, tenemos una situación en la que tenemos máximos son iguales a 6787689. Y luego tenemos algunos mínimos. Los mínimos son iguales a, y vamos a dejar espacio un par de veces. Así, 1232421. Así que esos son nuestros máximos y nuestros mínimos, por ejemplo. Podemos tener H_L igual a, básicamente diciendo, "Oye, este es el alto menos bajo." Y lo que podemos hacer, es que podemos usar el mapeo, y en Python 3, es más parecido a la correlación de listas. Por lo tanto, lo que hacemos es, primero, que wanna mapear el alto menos bajo. Y luego pasamos ... Así que pasa la función, y luego pasa cualquier tipo de parámetros a esa función. Tenemos máximos, tenemos mínimos. Y luego, básicamente, tenemos que convertir esto a una lista si estás en Python 3. Si lo estás siguiendo en Python 2, probablemente deberías conseguir Python 3. Pero si estás en Python 2, realmente ... No necesitas la lista ahí, pero en Python 3, lo haces absolutamente. Así que entonces, podríamos imprimir H_L, y vamos a guardarlo alrededor de eso, y vamos a ... Ni siquiera necesitamos llegar a la acción para trazar.

02:39 S1: Así pues, imprime esta lista: 5555268. Así que esa es nuestra alta menos baja. 555, bueno. 5268, así que, bueno, eso era exactamente lo que queríamos. Así que podemos cerrar de esto, no vamos a ir más lejos, y podemos deshacernos de este código aquí mismo. Y ahora, lo que podemos hacer es aplicar este código a nuestros datos de precios. Por lo tanto, obtenemos todos los datos aquí, y luego estamos definiendo nuestros promedios móviles aquí, cool. Y entonces empezamos, en realidad ... Recreamos los datos un poco aquí, y luego comenzamos a trazar datos aquí. Así que, como decía antes, en general, es una buena idea que kinda lo haga todo junto. Así que, en realidad, podríamos seguir con esto. Así que estas son nuestras cosas de AX2. Vamos a deshacernos de estos. Estas son nuestras cosas de AX3. Así que aquí arriba es donde pondremos las cosas de AX1.

03:31 S1: Por lo tanto, primero, tenemos que definir el bajo bajo. Así que, haríamos como H menos L igual a ... Y luego, de nuevo, este sería un mapa de alto menos bajo. Oops, eso es subrayado bajo. Y entonces, tenemos las altas Ps y las bajas Ps, ¿de acuerdo? Y luego necesitamos convertir esto todo a una lista, así que hacemos una lista. Por lo tanto, es una lista de todo eso. Entonces, lo que vamos a hacer es simplemente decir AX1.plot, y vamos a trazar la fecha, y luego el H_L. Así que, con eso, vamos a seguir adelante y a guardar y ejecutar ese, y vamos a trazar X de nuevo. Y ahora tenemos el alto menos bajo en el gráfico superior.

04:25 S1: Así que ahora tenemos un gráfico. Hay muchas cosas en marcha aquí y tenemos datos que estamos usando. Así que, eso es bastante fresco. Ahora, de nuevo, hay algunas cosas que no son las más grandes en este momento. Por lo tanto, algunas de las cosas que estamos en especie de tener en marcha aquí son nuestras fechas. Realmente no podemos leer las fechas. Estos números aquí abajo no significan nada para nosotros, estos números aquí no significan nada para nosotros, no tenemos nuestras etiquetas. Si hacemos zoom a un lugar específico en un gráfico, no se hace zoom en el otro gráfico, por lo que tenemos que arreglar eso. Y no tenemos título, y probablemente hay algunas otras cosas que no estoy pensando en este minuto, pero sí tenemos muchas cosas que todavía están mal en este gráfico. Por lo tanto, lo que necesitamos hacer ahora en el próximo ... Básicamente, el resto de este apartado está dedicado a que kinda arregle este gráfico y lo haga presentable. Así que tenemos muchos cambios que hacer, pero tenemos los datos y ahora solo hacemos algo de personalización. Por lo tanto, vamos a conseguir que este gráfico sea bastante bueno en poco tiempo. Así que de todos modos, eso es lo que ustedes tienen que mirar hacia adelante con el resto de esta sección, así que estén atentos para eso. 00:00 Speaker 1: Hola a todos, y bienvenidos a la parte siete de la sección cuatro de nuestra Visualización de Datos con Python y la Serie de Tutorial Matplotlib. En esta parte, de lo que vamos a estar hablando es de ajustar las fechas y arreglar algunos otros temas, y realmente, eso es lo que estaremos haciendo por el resto de esta sección.

00:18 S1: Así que, en primer lugar, nos encontramos con que cuando trazamos este gráfico, una de las primeras cosas que notamos es, simplemente tenemos mucho solapamiento sucediendo aquí. Por lo tanto, las fechas se muestran en ax2. Realmente necesitan mostrar en ax3 y simplemente podemos deshacernos de las otras fechas que están apareciendo en absoluto; ni siquiera queremos esas. Así que lo primero que vamos a seguir adelante y hacer es que vamos a cerrar de esto por ahora. Y en primer lugar, bajaremos a donde definimos cosas para ax2, y ni siquiera ... Realmente no queremos eso en absoluto, así que vamos a cortar eso. Así que Ctrl + X, cortar, bajar a ax3, y luego Ctrl + V para pegar. Y cambie esto a ax3, ax3, ax3. Así que ahora lo que estamos haciendo es que estamos tramando con suerte esas etiquetas en ax3. Vamos a comprobar para asegurarnos de que todo es el modo que esperamos. Y seguro que basta, ahora solo tenemos los números allí, no fechas y números aquí, no fechas y ... Aquí tenemos fechas. Así que se ve bien. Así que estamos en un comienzo relativamente decente.

01:33 S1: Así que ahora lo que queremos hacer es eliminar las etiquetas X en ax1 y ax2. Así que lo que podemos hacer es que podamos decir esto. Podemos decir plt.setp, y lo que vamos a hacer aquí es ax1.get_xticklabels. Y entonces lo que vamos a hacer es que vamos a establecerlos visible=falso. Así que lo que esto hará es deshacerse de las garrapatas X para el eje 1. Y luego hacemos exactamente lo mismo. En realidad, vamos a hacerlo aquí. Bajaremos a ax2. Aquí es donde graficamos, cuadramos, añadimos la caja en el cuadro de anotación, y luego bajaremos aquí, y haremos lo mismo. Así, plt.setp. Esta vez, ax2. Todavía get_xticklabels. Y vamos a establecer visible=false. Así que ahora vamos a ahorrar y a correr eso, y veamos lo que nos llega ahora. Así que, ahora lo que tenemos es que todavía tenemos esto más tiempo ahí, pero vamos a manejar para eso en un poco. Pero no tenemos más de esos números en el gráfico.

02:56 S1: Así que la siguiente cosa que queremos seguir adelante y hacer es que vamos a venir aquí abajo. Así que con el promedio móvil, por ejemplo, sólo para la clase de incorporar lo que hemos aprendido hasta ahora, ¿qué pasa si queremos mostrar lo que realmente significan estos promedios móviles? Así que la forma en que se mueven los promedios de trabajo, estos pueden no ser el mejor promedio móvil para esta empresa, pero la forma en que funcionan los promedios móviles es básicamente cuando el promedio móvil más rápido, por lo que este azul, está por debajo del promedio móvil más lento, eso significa que el precio es tendencia hacia abajo. Está cayendo. Y eso es verdad. Y luego una vez que este promedio móvil más rápido se cruza por encima del promedio móvil más lento, eso significa que el precio es tendencia hacia arriba. Así que de nuevo, si alineamos esto, sí, eso es verdad. Y luego de nuevo, se cruza en este punto, y luego está abajo. Así que a esta marca justo en esta zona, eso es malo, el precio está bajando. Esta marca, buena. El precio está subiendo. Malo.

03:50 S1: Así que hablemos de crear un relleno personalizado que llenará este rojo, este verde, y este rojo. Bueno, la manera en que podemos hacer esto es bajar a ... Estaremos haciendo esto en ax3. Estamos tramando aquí y básicamente ... En primer lugar, vamos a establecerla. Las líneas son un poco gruesas para lo que vamos a terminar haciendo, así que digamos linewidth=1. Y de nuevo, haremos el ancho de línea aquí es igual a 1. A continuación, lo que queremos hacer es después de haber trazado, vamos por delante y hacer un ax3.fill_between y llenamos entre la fecha, y luego "-start:", llenamos entre allí, y luego eso es ... Bueno, al menos eso es la X. Y entonces, ¿qué estamos llenando? Bueno, estamos llenando el ma2 del "-start:" Al "ma1-start:". ¿Dónde? Y luego aquí, digamos que este es el descendente. Aquí sería donde "ma2-start:" es mayor que ... Y luego simplemente usaremos mayor o igual que "ma1-start:". Así que ese será nuestro relleno entre. Y entonces esta es la declaración donde, y luego podemos agregar coma aquí, y podemos decir que el color de la cara aquí será igual al rojo. Y luego podemos decir que el color del borde es igual al rojo. Y entonces finalmente podemos añadir el alfa, y sólo usaremos 0,5 por ahora.

05:42 S1: Así que entonces volvemos a hacer exactamente lo mismo aquí, donde vamos a decir ax3.fill_between y luego la fecha, y luego la misma cosa otra vez. Así que la X. Y entonces, ¿qué estamos llenando? Bueno, estamos llenando el "ma2-start:" y el "ma1-start:". Y esta vez, la sentencia where es donde el ma2 del "-start:" es menor o igual que el "ma1-start:". Y luego aquí, el color de la cara será igual a verde, el color del borde será igual a verde, y luego de nuevo, el alfa se establecerá como 0.5. Así que este es el tipo de nuestra manera de llenar para ver fácilmente dónde nuestras compras y ventas podrían ser. Así que de nuevo, vamos a planear Exxon. Oh, tenemos un error. Vamos a poner esto arriba. Donde no está definido. Vamos a cerrar esto. Correcto, bien. Así que necesita ser "donde =". "Donde =", de acuerdo. Así que vamos a intentar esto otra vez. Vamos a diagramar a Exxon, y vamos a sacar el gráfico. Y ahora tenemos el relleno. Así que este es el buen momento, vender tiempo, y luego buen tiempo, vender tiempo.

07:25 S1: Así pues, nosotros incorporamos la parte de relleno que aprendimos. Así que realmente, por último, lo único que tal vez querríamos arreglar sobre esto sería algo así como esos tiempos, así que déjenme traer eso. Así que estos pequeños tiempos aquí. Ahora, podríamos tratar de eliminarlos. Además, si cambiamos el bajo menos bajo, por ejemplo, en lugar de trama, hacemos la fecha de la trama, y luego agregaremos un pequeño parámetro más aquí, que es ese guión. De esa manera, traza una línea en lugar de una dispersión. Así que si añadimos eso, podemos ver que se deshace de ella para esta trama superior, pero todavía no esta trama de fondo porque se trata de un candelabro. Así que una de las cosas que podríamos hacer es por ejemplo, podríamos simplemente venir aquí en el espacio de la cabecera, simplemente deshacerse del espacio de la cabecera. Y la cabecera solo puede cubrir ese precio y eso está totalmente bien. Podemos hacer algo así, así que podríamos decir hspace en lugar de 0,2 o podríamos hacer 0,04, algo así. Y entonces ahora, no es realmente que un gran tema de un tema allí. Así que, con el tiempo, creo que probablemente es mejor sólo para mantener el espacio de cabecera cero ' causa incluso cuando se hace enorme, todavía está en el camino, pero si se hace demasiado poco, se ejecutará sobre esta anotación.

08:45 S1: Pero al igual que con cualquier cosa en gráficos, lo que termina sucediendo es, por ejemplo, podríamos decir que hspace es igual a 0.0. Y ahora mismo, está corriendo un poco este hachas. Entonces entonces la pregunta estaría bien, qué si lo anotamos aquí mismo, toma esto, corte, y luego justo antes de mostrar todo, hazlo en ese orden. Entonces, ¿qué sucede si lo intentamos? Así que podemos ver que hay propiedades a los ejes que bastante siempre lo hace así que los ejes tienen precedente sobre lo que sea. Y vimos que este era el caso cuando los ejes eran fechas superpuestas y todo esto. Así que usted tiene que tener en cuenta que en mente, porque muchas veces, el orden que las cosas aparecerán es el orden que fueron creados. Pero en nuestro caso, eso no es realmente lo que está sucediendo aquí porque un hachas siempre tiene prioridad, y eso es realmente sólo algo para salvarte de cubrir cosas accidentalmente y cosas. Sólo tienes que tener eso en mente. Lo único que puede cubrir otros ejes es otro de los ejes. Así que de todos modos, vamos a cambiar esta espalda. Pero si lo dejas en cero, por ejemplo, y luego hacemos esto, está totalmente bien, si tienes de tamaño completo el gráfico. Las otras cosas que son un problema todavía serían la superposición de los valores Y aquí, de los cuales vamos a estar hablando muy pronto.

10:08 S1: Así que, de todos modos, eso es todo para este tutorial. Mantente atento al siguiente tutorial, donde estaremos hablando de etiquetas y limpieza de marcadores y todo eso. Así que estad atentos para eso. Gracias por ver.

00:00 Presidente 1: Hola, todos, y bienvenidos a la parte ocho de la sección cuatro. En esta parte, de lo que vamos a estar hablando es de limpiar un poco las cosas y añadir etiquetas. Así que en primer lugar, vamos a añadir nuestras etiquetas para que la gente sepa lo que está mirando. Así que por ejemplo aquí, tenemos ax1 y bueno, básicamente nuestro ... En realidad, nos encontramos aquí en las definiciones, y aquí mismo, etiquetamos para ax2. Vamos adelante y etiqueta para ax1. Así que plt.ylabel aquí sería algo como H menos L, o alto menos bajo. Entonces para nuestros ejes 3, podríamos hacer plt.ylabel, y aquí diríamos probablemente MAVGZ, así que moviendo los promedios, algo corto así que encajaría en que los ejes Y, ' causa si se recuerda, nuestros ejes Y son bastante pequeños en por lo menos la parte superior y el gráfico inferior.

01:00 S1: A continuación, lo que queremos seguir adelante y hacer es poner esto arriba, y vamos a hablar de lo que vamos a hacer después. Así que plot Exxon. Y de acuerdo, así que ahora tenemos nuestras etiquetas, y esta es la razón. Así que si hicimos MAVGZ mucho más grande, sería demasiado grande para los ejes. Así que la siguiente cosa de la que hablaremos ahora son estos números aquí. Así que en primer lugar, tenemos un poco demasiados números en estos ejes, y podemos hacer que la fuente sea más pequeña, pero incluso si hicimos la fuente más pequeña, todavía tendríamos la superposición de los ejes de fondo y este eje medio, y los ejes medios y estos ejes superiores. Eso todavía estaría sucediendo sin importar lo que hiciéramos al tamaño de la fuente, bastante. Tal vez puedas hacerlo, pero puedes ver que es un solapamiento perfecto. Solo se están tomando los lugares de cada uno. Así que hay dos cosas que queremos hacer. Uno es por lo menos para la parte superior y los ejes inferiores, en realidad wanna tienen menos marcadores aquí, y eso es totalmente factible. Y luego también queremos recortar posiblemente uno de estos marcadores aquí y uno de los marcadores aquí para que no tengamos este solapamiento en marcha. Así que eso es de lo que vamos a estar hablando ahora, es hacer esas dos cosas.

02:06 S1: Así que en primer lugar, en ax1, vamos a ir a donde realmente estamos tramando cosas, así que sería justo aquí. Y ponemos las garrapatas, las X garrapatas en falso. Ahora lo que vamos a seguir adelante y hacer es que vamos uno más abajo y haremos ax1.yaxes.set_major_locator, y luego los establecemos a mticker.MaxNLocator. Y luego aquí decimos el número. Así que nbins, por lo que esto es número de papeleras, y digamos que queremos que sean cinco. Bueno. Así que ahora, vamos a ahorrar y ejecutar eso. Lo mismo, complotando a Exxon. Oh, ¿qué hicimos? ¿Micher? Alrighty. Mticker. De acuerdo, trate de que una vez más. Okay, cool. Así que ahora podemos ver que tenemos menos, y que no están corriendo el uno sobre el otro. Todavía tenemos este solapamiento aquí, pero no se están corriendo el uno sobre el otro. Así que ahora vamos a arreglar este solapamiento en esta parte superior. Así que la forma en que podemos hacerlo es con un parámetro más. Así que tenemos nbins=5. Y luego podemos añadir este otro pequeño parámetro, y es podar, y decimos que wanna prune el valor más bajo. Así que podemos salvarlo y ejecutarlo, y vamos a trazar de nuevo a Exxon. Y ahora podemos ver que no hay solapamiento en absoluto. Así que 84, 86, 88, 90, 92, 94, y luego empezamos la otra.

03:42 S1: Así que ahora tenemos el solapamiento en la parte inferior, y podemos o no que wanna realmente arregle este, también, este 94. Usted podría deshacerse de eso, también, así que hay un poco más de espacio ' causa es casi como, parece que 94 podría ser parte de este, también. Pero de todos modos, vamos a cerrar de esto, y haremos exactamente lo mismo aquí. Así que vamos a bajar a ax2 y ax2 básicamente funciona este trozo. Entonces lo que haremos es que tomaremos ax2.yaxes.set_major_locator, y luego de nuevo, mticker.MaxNLocator. Así que asegúrate de atender los casos allí. Max locator, y luego nbins, número de contenedores, y de nuevo, sólo vamos a decir cinco, y luego vamos a podar igual a la parte superior. Para que no tengamos ese solapamiento en el valor superior también.

04:41 S1: Vamos a trazar un estilo diferente. Hagamos TSLA para Tesla. Bueno. Así que ahora tenemos el precio aquí, no más se superponen aquí, cool. Y luego mirando hacia abajo aquí, donde tenemos nuestros promedios móviles todavía tienen que ser arreglados, pero no hay problema para nosotros. Sabemos cómo hacerlo, así que lo haremos. Y todo lo demás, luciendo bastante bien. Así que, vamos a cerrar de esto. Y ahora por fin, hacemos lo mismo que hemos estado haciendo a los ejes 3, y mientras estamos en ello, sigamos adelante y pongamos esta anotación de vuelta a donde pertenece. Así que destacar que, Control X, ponerlo de nuevo aquí ' causa que pertenece a los ejes 2. Sólo quería traerlo allá abajo para mostrarles a ustedes que no siempre van a ser capaces de sobreescribir las cosas. De todos modos, así que ax3.yaxes.set_major_locator, y luego en aquí, ponemos mticker.MaxNLocator. Y luego como de costumbre, simplemente haremos los nbins= 5, y vamos a podar ese superior, superior.

05:47 S1: De acuerdo. Así que ahora podemos, sigamos adelante y salvemos y corramos esto, vamos a consolar de nuevo a Tesla. Alright. Así que ahora lo hemos hecho, y todavía parece que hay un ligero solapamiento allí. Si lo haces grande, realmente no tienes esa superposición completa, pero tal vez te wanna deshacerse de ... Usted podría wanna deshacerse de la inferior en aquí también. Casi parece que ni siquiera pomamos la parte superior en los promedios móviles. Debería ser justo aquí, supongo, y sería muy solapado. De todos modos, sabemos que lo hemos hecho porque ponemos las papeleras a cinco, y solo tenemos cuatro valores aquí. Anywho. Por lo que cerrar de ahí, eso es básicamente lo de limpiar el gráfico. No necesariamente necesitamos hacer mucho más para limpiar el gráfico, además de tal vez ese solapamiento. Pero por ejemplo, vamos a trazar, hagamos otra acción. Hagamos GOOG para Google. Y usted puede ver aquí, no hay realmente un problema de superposición que va necesariamente allí, o podríamos volver a ... Volvamos a hacer Exxon y veamos lo que Exxon está haciendo por nosotros. Así que aquí está Exxon, y no es realmente un problema aquí, tampoco.

07:02 S1: Así que, de todos modos, tenemos bastante limpieza en marcha. Y ahora lo que vamos a poder hacer es que estamos viendo este gráfico, digamos, y luego decidimos, "Hey, quiero hacer zoom en este punto". We wanna be able to zoom into this point and have everything come together. Así que vamos a añadir que "compartir X ejes" a este gráfico, y también nos falta un poco de volumen aquí. Así que añadir otro ... El volumen no es realmente un indicador, pero es otro punto de fijación de precios. O no punto de fijación de precios, pero es información sobre la acción. Así que wanna agregamos volumen, y hay algo genial que podemos hacer y mostrar con Matplotlib cuando añadimos el volumen. Así que estaremos agregando esas dos cosas a medida que avanzamos. Y entonces estaremos hablando de leyendas también porque no tenemos ninguna leyenda aquí en absoluto. Así que eso es lo que ustedes tienen que mirar hacia adelante, así que estén atentos para eso. Gracias por ver.