diff --git a/evaluacion.ipynb b/evaluacion.ipynb deleted file mode 100644 index e7ca9c8..0000000 --- a/evaluacion.ipynb +++ /dev/null @@ -1,212 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e9052e8a-ce7e-456f-a2d5-7812ef4dc5bd", - "metadata": {}, - "source": [ - "## Evaluación\n", - "Completa lo que falta.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0f311f12-3e2d-4ae7-9443-c723dc383f0e", - "metadata": {}, - "outputs": [], - "source": [ - "# instalacion\n", - "!pip install pandas\n", - "!pip install matplotlib\n", - "!pip install pandas-datareader" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c4e2c69e-0097-4f05-97fb-3bb59273a644", - "metadata": {}, - "outputs": [], - "source": [ - "# 1 importa las bibliotecas\n", - "import pandas as pd\n", - "import pandas_datareader.data as web\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6cb70231-1b2b-4ba5-807f-513f348a4d5d", - "metadata": {}, - "outputs": [], - "source": [ - "# 2. Establecer una fecha de inicio \"2020-01-01\" y una fecha de finalización \"2021-08-31\"\n", - "\n", - "start_date = \n", - "\n", - "end_date = " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b7e243d4-8314-486e-88e7-a4890010ec2a", - "metadata": {}, - "outputs": [], - "source": [ - "# 3.Usar el método del lector de datos para almacenar los datos\n", - "# del precio de las acciones de facebook ('FB') en un DataFrame llamado data.\n", - "# https://finance.yahoo.com/quote/FB/history?p=FB\n", - "data = web.DataReader(name='FB', data_source='yahoo', start=start_date, end=end_date)\n", - "data\n", - "# La salida se ve igual a la que leemos en cualquier archivo CSV." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "838b49d7-0894-4cbd-913f-ce2c84196e58", - "metadata": {}, - "outputs": [], - "source": [ - "# 4. Explica el resultado." - ] - }, - { - "cell_type": "markdown", - "id": "946945e9-ad75-4d87-b6be-ab73928f15d9", - "metadata": {}, - "source": [ - "\n", - "* Entender los movimientos del precio, si suben o bajan.\n", - "* Los precios de las acciones se mueven constantemente a lo largo del día de trading a medida que la oferta y la demanda de acciones cambian (precio mas alto o mas bajo). Cuando el mercado cierra, se registra el precio final de la acción.\n", - "* EL precio de Apertura: Precio con el que un Valor inicia sus transacciones en una sesión bursátil. Normalmente este precio no tiene gran diferencia con el precio de cierre (salvo algun acontecimiento importante).\n", - "* El precio de cierre: Es la última cotización que registró durante el día en el mercado bursátil de un determinado título financiero. Nos podemos referir a la acción de una empresa, un índice, la moneda local u otro activo similar.\n", - "\n", - "* El precio de cierre ajustado representa el precio de cierre preciso basado en acciones corporativas. Por ejemplo, si el precio de cierre de las acciones de la empresa ABC era de USD 21.90 pero se pagaron dividendos de 100 centimos por accion, el precio de cierre se ajustara a USD 20.90.\n", - "\n", - "* El volumen mide la cantidad de acciones que se han comprado y vendido en un periodo determinado para una accion en concreto en este caso (FB). Se debe analizar el volumen en relacion a los volumenes anteriores, si suben o bajan." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0ddc586e-e22e-4eca-b46a-c2441e380f2a", - "metadata": {}, - "outputs": [], - "source": [ - "# 5. Muestre un resumen de la información básica sobre este DataFrame y sus datos \n", - "# use la funcion dataFrame.info() y dataFrame.describe()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2bcb73ef-2820-4419-9b0c-9f74fe69b374", - "metadata": {}, - "outputs": [], - "source": [ - "# 6. Devuelve las primeras 5 filas del DataFrame con dataFrame.head() o dataFrame.iloc[]\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "706df7d7-bb92-4da3-bee6-95097227e982", - "metadata": {}, - "outputs": [], - "source": [ - "# 7. Seleccione solo las columnas 'Open','Close' y 'Volume' del DataFrame con dataFrame.loc\n", - "data.loc[:, ['', '', '']]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "550a7449-0c7f-4566-a070-b465e7d53237", - "metadata": {}, - "outputs": [], - "source": [ - "# Ver el rango de lo datos\n", - "data.index.min(), data.index.max()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55c73f18-eb44-475b-877a-52668214f301", - "metadata": {}, - "outputs": [], - "source": [ - "# 8. Ahora grafica los datos de \"Close\" usando la biblioteca matplotlib en Python, \n", - "# 9. Agrega title, marker, linestyle y color para mejorar la visualizacion\n", - "\n", - "close = data['']\n", - "ax = close.plot(title='Facebook', linestyle='', color='')\n", - "ax.set_xlabel('')\n", - "ax.set_ylabel('')\n", - "ax.grid() #opcional\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ebaa4d03-d78b-4589-b4e7-1c626326e2d5", - "metadata": {}, - "outputs": [], - "source": [ - "# 10. Explica la grafica sencilla de linea" - ] - }, - { - "cell_type": "markdown", - "id": "d28c72cd-6a29-4d34-abef-9ca734fe55f2", - "metadata": {}, - "source": [ - "* Un gráfico de cierre es un tipo de gráfico que se utiliza normalmente para ilustrar los movimientos en el precio de un instrumento financiero a lo largo del tiempo.\n", - "* El gráfico muestra los movimientos de la cotización de Facebook desde el 01/01/2020 hasta el 31/08/2021. La línea une los precios de cierre diarios, es decir, se relaciona con el precio al que cierra un acción en una jornada o rueda de bolsa. \n", - "* Conocer el precio de cierre es importante porque este es el precio con el que iniciará la siguiente subasta de apertura de la cotización de la acción." - ] - }, - { - "cell_type": "markdown", - "id": "e7d91303-04f8-408d-a34a-8b3da5cdfb14", - "metadata": {}, - "source": [ - "*Fuente:https://finance.yahoo.com/quote/FB/history?p=FB" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "51ba2c03-07a1-44cd-84dc-7e37edb4a205", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/evaluacion_JudithCallisaya.ipynb b/evaluacion_JudithCallisaya.ipynb new file mode 100644 index 0000000..e74f14c --- /dev/null +++ b/evaluacion_JudithCallisaya.ipynb @@ -0,0 +1,854 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e9052e8a-ce7e-456f-a2d5-7812ef4dc5bd", + "metadata": {}, + "source": [ + "## Evaluación realizada\n", + "Completa lo que falta.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "0f311f12-3e2d-4ae7-9443-c723dc383f0e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pandas in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (1.3.3)\n", + "Requirement already satisfied: numpy>=1.17.3 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas) (1.21.2)\n", + "Requirement already satisfied: python-dateutil>=2.7.3 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas) (2.8.2)\n", + "Requirement already satisfied: pytz>=2017.3 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas) (2021.1)\n", + "Requirement already satisfied: six>=1.5 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from python-dateutil>=2.7.3->pandas) (1.16.0)\n", + "Requirement already satisfied: matplotlib in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (3.4.3)\n", + "Requirement already satisfied: numpy>=1.16 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from matplotlib) (1.21.2)\n", + "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from matplotlib) (2.8.2)\n", + "Requirement already satisfied: pyparsing>=2.2.1 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from matplotlib) (2.4.7)\n", + "Requirement already satisfied: cycler>=0.10 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from matplotlib) (0.10.0)\n", + "Requirement already satisfied: pillow>=6.2.0 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from matplotlib) (8.3.2)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from matplotlib) (1.3.2)\n", + "Requirement already satisfied: six in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from cycler>=0.10->matplotlib) (1.16.0)\n", + "Requirement already satisfied: pandas-datareader in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (0.10.0)\n", + "Requirement already satisfied: lxml in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas-datareader) (4.6.3)\n", + "Requirement already satisfied: requests>=2.19.0 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas-datareader) (2.25.1)\n", + "Requirement already satisfied: pandas>=0.23 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas-datareader) (1.3.3)\n", + "Requirement already satisfied: python-dateutil>=2.7.3 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas>=0.23->pandas-datareader) (2.8.2)\n", + "Requirement already satisfied: numpy>=1.17.3 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas>=0.23->pandas-datareader) (1.21.2)\n", + "Requirement already satisfied: pytz>=2017.3 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from pandas>=0.23->pandas-datareader) (2021.1)\n", + "Requirement already satisfied: six>=1.5 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from python-dateutil>=2.7.3->pandas>=0.23->pandas-datareader) (1.16.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from requests>=2.19.0->pandas-datareader) (2.10)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from requests>=2.19.0->pandas-datareader) (4.0.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from requests>=2.19.0->pandas-datareader) (2021.5.30)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\usuario\\anaconda3\\envs\\learning python\\lib\\site-packages (from requests>=2.19.0->pandas-datareader) (1.26.6)\n" + ] + } + ], + "source": [ + "# instalacion\n", + "!pip install pandas\n", + "!pip install matplotlib\n", + "!pip install pandas-datareader" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c4e2c69e-0097-4f05-97fb-3bb59273a644", + "metadata": {}, + "outputs": [], + "source": [ + "# 1 importa las bibliotecas\n", + "import pandas as pd\n", + "import pandas_datareader.data as web\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6cb70231-1b2b-4ba5-807f-513f348a4d5d", + "metadata": {}, + "outputs": [], + "source": [ + "# 2. Establecer una fecha de inicio \"2020-01-01\" y una fecha de finalización \"2021-08-31\"\n", + "\n", + "start_date = \"2020-01-01\"\n", + "\n", + "end_date = \"2021-08-31\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b7e243d4-8314-486e-88e7-a4890010ec2a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
HighLowOpenCloseVolumeAdj Close
Date
2020-01-02209.789993206.270004206.750000209.77999912077100209.779999
2020-01-03210.399994206.949997207.210007208.66999811188400208.669998
2020-01-06212.779999206.520004206.699997212.60000617058900212.600006
2020-01-07214.580002211.750000212.820007213.05999814912400213.059998
2020-01-08216.240005212.610001213.000000215.22000113475000215.220001
.....................
2021-08-25370.859985365.399994365.600006368.3900159684500368.390015
2021-08-26369.440002364.130005368.380005364.3800057888700364.380005
2021-08-27373.739990364.079987365.100006372.63000511214200372.630005
2021-08-30381.489990370.519989372.559998380.66000413547300380.660004
2021-08-31382.760010378.799988379.950012379.38000512345400379.380005
\n", + "

420 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " High Low Open Close Volume \\\n", + "Date \n", + "2020-01-02 209.789993 206.270004 206.750000 209.779999 12077100 \n", + "2020-01-03 210.399994 206.949997 207.210007 208.669998 11188400 \n", + "2020-01-06 212.779999 206.520004 206.699997 212.600006 17058900 \n", + "2020-01-07 214.580002 211.750000 212.820007 213.059998 14912400 \n", + "2020-01-08 216.240005 212.610001 213.000000 215.220001 13475000 \n", + "... ... ... ... ... ... \n", + "2021-08-25 370.859985 365.399994 365.600006 368.390015 9684500 \n", + "2021-08-26 369.440002 364.130005 368.380005 364.380005 7888700 \n", + "2021-08-27 373.739990 364.079987 365.100006 372.630005 11214200 \n", + "2021-08-30 381.489990 370.519989 372.559998 380.660004 13547300 \n", + "2021-08-31 382.760010 378.799988 379.950012 379.380005 12345400 \n", + "\n", + " Adj Close \n", + "Date \n", + "2020-01-02 209.779999 \n", + "2020-01-03 208.669998 \n", + "2020-01-06 212.600006 \n", + "2020-01-07 213.059998 \n", + "2020-01-08 215.220001 \n", + "... ... \n", + "2021-08-25 368.390015 \n", + "2021-08-26 364.380005 \n", + "2021-08-27 372.630005 \n", + "2021-08-30 380.660004 \n", + "2021-08-31 379.380005 \n", + "\n", + "[420 rows x 6 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 3.Usar el método del lector de datos para almacenar los datos\n", + "# del precio de las acciones de facebook ('FB') en un DataFrame llamado data.\n", + "# https://finance.yahoo.com/quote/FB/history?p=FB\n", + "data = web.DataReader(name='FB', data_source='yahoo', start=start_date, end=end_date)\n", + "data\n", + "# La salida se ve igual a la que leemos en cualquier archivo CSV." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "838b49d7-0894-4cbd-913f-ce2c84196e58", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "El volumen en la Bolsa se refiere a la cantidad de títulos negociados (equivalente en dinero) de una acción en un periodo determinado.\n", + "El volumen nos indica el interés de los inversores por una acción concreta. Atendiendo al volumen medio, existen valores de los que se negocian millones de títulos al día, mientras podemos encontrar otros de los que apenas se negocian unos cientos. Es habitual que las acciones de grandes empresas, o de gran capitalización, sean más negociadas que las de empresas más pequeñas o de baja capitalización.\n", + "Lo que realmente nos va a interesar a la hora de operar en el mercado son los cambios en el volumen de una acción. Un incremento del volumen nos dirá que hay más agentes en el mercado interesados en negociar la acción, o bien hay agentes que están operando por cuantías mayores.\n", + "Para los analistas técnicos el volumen es muy importante, ya que puede dar mayor validez o credibilidad a la detección las señales técnicas de compra o venta de una acción. A priori, una tendencia será más fuerte cuando el volumen va creciendo, ya que nos indica que el dinero que entra en el mercado está presionando el precio cada vez más, al alza en una tendencia alcista o a la baja en una tendencia bajista.\n", + "También es interesante ver qué precios concentran mayor volumen durante la sesión, con independencia del momento de la misma en el que se hayan producido las negociaciones. Esto nos puede indicar que existe cierta propensión a comprar o vender la acción a determinados precios, información que podemos utilizar para posicionar nuestras órdenes en el mercado.\n", + "Los precios de concentración de mayor volumen pueden tender a formar soportes y resistencias. El volumen por precio también nos puede dar pistas sobre los precios a los que están comprando o vendiendo las manos fuertes del mercado.\n" + ] + } + ], + "source": [ + "# 4. Explica el resultado.\n", + "print(\"El volumen en la Bolsa se refiere a la cantidad de títulos negociados (equivalente en dinero) de una acción en un periodo determinado.\")\n", + "print(\"El volumen nos indica el interés de los inversores por una acción concreta. Atendiendo al volumen medio, existen valores de los que se negocian millones de títulos al día, mientras podemos encontrar otros de los que apenas se negocian unos cientos. Es habitual que las acciones de grandes empresas, o de gran capitalización, sean más negociadas que las de empresas más pequeñas o de baja capitalización.\")\n", + "print(\"Lo que realmente nos va a interesar a la hora de operar en el mercado son los cambios en el volumen de una acción. Un incremento del volumen nos dirá que hay más agentes en el mercado interesados en negociar la acción, o bien hay agentes que están operando por cuantías mayores.\")\n", + "print(\"Para los analistas técnicos el volumen es muy importante, ya que puede dar mayor validez o credibilidad a la detección las señales técnicas de compra o venta de una acción. A priori, una tendencia será más fuerte cuando el volumen va creciendo, ya que nos indica que el dinero que entra en el mercado está presionando el precio cada vez más, al alza en una tendencia alcista o a la baja en una tendencia bajista.\")\n", + "\n", + "print(\"También es interesante ver qué precios concentran mayor volumen durante la sesión, con independencia del momento de la misma en el que se hayan producido las negociaciones. Esto nos puede indicar que existe cierta propensión a comprar o vender la acción a determinados precios, información que podemos utilizar para posicionar nuestras órdenes en el mercado.\") \n", + "print(\"Los precios de concentración de mayor volumen pueden tender a formar soportes y resistencias. El volumen por precio también nos puede dar pistas sobre los precios a los que están comprando o vendiendo las manos fuertes del mercado.\")" + ] + }, + { + "cell_type": "markdown", + "id": "946945e9-ad75-4d87-b6be-ab73928f15d9", + "metadata": {}, + "source": [ + "\n", + "* Entender los movimientos del precio, si suben o bajan.\n", + "* Los precios de las acciones se mueven constantemente a lo largo del día de trading a medida que la oferta y la demanda de acciones cambian (precio mas alto o mas bajo). Cuando el mercado cierra, se registra el precio final de la acción.\n", + "* EL precio de Apertura: Precio con el que un Valor inicia sus transacciones en una sesión bursátil. Normalmente este precio no tiene gran diferencia con el precio de cierre (salvo algun acontecimiento importante).\n", + "* El precio de cierre: Es la última cotización que registró durante el día en el mercado bursátil de un determinado título financiero. Nos podemos referir a la acción de una empresa, un índice, la moneda local u otro activo similar.\n", + "\n", + "* El precio de cierre ajustado representa el precio de cierre preciso basado en acciones corporativas. Por ejemplo, si el precio de cierre de las acciones de la empresa ABC era de USD 21.90 pero se pagaron dividendos de 100 centimos por accion, el precio de cierre se ajustara a USD 20.90.\n", + "\n", + "* El volumen mide la cantidad de acciones que se han comprado y vendido en un periodo determinado para una accion en concreto en este caso (FB). Se debe analizar el volumen en relacion a los volumenes anteriores, si suben o bajan." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0ddc586e-e22e-4eca-b46a-c2441e380f2a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
HighLowOpenCloseVolumeAdj Close
count420.000000420.000000420.000000420.0000004.200000e+02420.000000
mean268.644119261.465119264.933405265.2005722.054227e+07265.200572
std53.66055953.59882953.54464453.6452639.516360e+0653.645263
min148.179993137.100006139.750000146.0099956.702000e+06146.009995
25%231.652504224.375000228.897499229.7625011.431570e+07229.762501
50%270.294998263.635010267.335007266.6399991.833855e+07266.639999
75%302.672501296.180008299.200005301.2150042.426475e+07301.215004
max382.760010378.799988379.950012380.6600047.634390e+07380.660004
\n", + "
" + ], + "text/plain": [ + " High Low Open Close Volume \\\n", + "count 420.000000 420.000000 420.000000 420.000000 4.200000e+02 \n", + "mean 268.644119 261.465119 264.933405 265.200572 2.054227e+07 \n", + "std 53.660559 53.598829 53.544644 53.645263 9.516360e+06 \n", + "min 148.179993 137.100006 139.750000 146.009995 6.702000e+06 \n", + "25% 231.652504 224.375000 228.897499 229.762501 1.431570e+07 \n", + "50% 270.294998 263.635010 267.335007 266.639999 1.833855e+07 \n", + "75% 302.672501 296.180008 299.200005 301.215004 2.426475e+07 \n", + "max 382.760010 378.799988 379.950012 380.660004 7.634390e+07 \n", + "\n", + " Adj Close \n", + "count 420.000000 \n", + "mean 265.200572 \n", + "std 53.645263 \n", + "min 146.009995 \n", + "25% 229.762501 \n", + "50% 266.639999 \n", + "75% 301.215004 \n", + "max 380.660004 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 5. Muestre un resumen de la información básica sobre este DataFrame y sus datos \n", + "# use la funcion dataFrame.info() y dataFrame.describe()\n", + "data.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "2bcb73ef-2820-4419-9b0c-9f74fe69b374", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
HighLowOpenCloseVolumeAdj Close
Date
2020-01-02209.789993206.270004206.750000209.77999912077100209.779999
2020-01-03210.399994206.949997207.210007208.66999811188400208.669998
2020-01-06212.779999206.520004206.699997212.60000617058900212.600006
2020-01-07214.580002211.750000212.820007213.05999814912400213.059998
2020-01-08216.240005212.610001213.000000215.22000113475000215.220001
\n", + "
" + ], + "text/plain": [ + " High Low Open Close Volume \\\n", + "Date \n", + "2020-01-02 209.789993 206.270004 206.750000 209.779999 12077100 \n", + "2020-01-03 210.399994 206.949997 207.210007 208.669998 11188400 \n", + "2020-01-06 212.779999 206.520004 206.699997 212.600006 17058900 \n", + "2020-01-07 214.580002 211.750000 212.820007 213.059998 14912400 \n", + "2020-01-08 216.240005 212.610001 213.000000 215.220001 13475000 \n", + "\n", + " Adj Close \n", + "Date \n", + "2020-01-02 209.779999 \n", + "2020-01-03 208.669998 \n", + "2020-01-06 212.600006 \n", + "2020-01-07 213.059998 \n", + "2020-01-08 215.220001 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 6. Devuelve las primeras 5 filas del DataFrame con dataFrame.head() o dataFrame.iloc[]\n", + "data.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "706df7d7-bb92-4da3-bee6-95097227e982", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OpenCloseVolume
Date
2020-01-02206.750000209.77999912077100
2020-01-03207.210007208.66999811188400
2020-01-06206.699997212.60000617058900
2020-01-07212.820007213.05999814912400
2020-01-08213.000000215.22000113475000
............
2021-08-25365.600006368.3900159684500
2021-08-26368.380005364.3800057888700
2021-08-27365.100006372.63000511214200
2021-08-30372.559998380.66000413547300
2021-08-31379.950012379.38000512345400
\n", + "

420 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Open Close Volume\n", + "Date \n", + "2020-01-02 206.750000 209.779999 12077100\n", + "2020-01-03 207.210007 208.669998 11188400\n", + "2020-01-06 206.699997 212.600006 17058900\n", + "2020-01-07 212.820007 213.059998 14912400\n", + "2020-01-08 213.000000 215.220001 13475000\n", + "... ... ... ...\n", + "2021-08-25 365.600006 368.390015 9684500\n", + "2021-08-26 368.380005 364.380005 7888700\n", + "2021-08-27 365.100006 372.630005 11214200\n", + "2021-08-30 372.559998 380.660004 13547300\n", + "2021-08-31 379.950012 379.380005 12345400\n", + "\n", + "[420 rows x 3 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 7. Seleccione solo las columnas 'Open','Close' y 'Volume' del DataFrame con dataFrame.loc\n", + "data.loc[:, ['Open', 'Close', 'Volume']]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "550a7449-0c7f-4566-a070-b465e7d53237", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Timestamp('2020-01-02 00:00:00'), Timestamp('2021-08-31 00:00:00'))" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Ver el rango de lo datos\n", + "data.index.min(), data.index.max()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "55c73f18-eb44-475b-877a-52668214f301", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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JjzyyCNISEhASEgIRo0ahQ0bNnjniRKR2zHZISK/dfXVV2Pw4MFYvXo1AECr1eK1117D4cOH8d577+Gnn37CY489BgAYM2YMXnnlFYSHhyMnJwc5OTl45JFHAAALFizAtm3b8PHHH+PAgQO46aabMGXKFJw8edJrz42I3Id7YxGRz7v99ttRWlqKL7/8ss5tt9xyCw4cOIAjR47UuW3VqlW4++67UVhYCOBiz86DDz6I0tJS5ZisrCz06NEDWVlZiI+PV66/5pprMHLkSPztb39z+/MhIs8K8HYARESXQwgBjUYDAFi3bh2WLFmCY8eOoby8HFarFbW1taiurobRaHR5/4MHD8Jms6F3794O15tMJkRFRbV6/ETU+pjsEJFfO3r0KLp3746zZ89i+vTpuOeee/DXv/4VkZGR2LJlC+68806YzeZ6k53KykrodDrs3r0bOp3O4bbQ0FBPPAUiamVMdojIb/300084ePAgFi5ciN27d8Nut+PFF1+EVnuxHfHTTz91OD4wMBA2m83hutTUVNhsNuTn5+PKK6/0WOxE5DlMdojIL5hMJuTm5sJmsyEvLw/ff/89lixZgunTp2POnDk4dOgQLBYL/vnPf+K6667Dzz//jDfffNPhHElJSaisrMSPP/6IwYMHw2g0onfv3rj11lsxZ84cvPjii0hNTUVBQQF+/PFHDBo0CNdee62XnjERuQtnYxGRX/j+++/RuXNnJCUlYcqUKVi/fj1ee+01fPXVV9DpdBg8eDBeeuklvPDCCxgwYAA++ugjLFmyxOEcY8aMwd13342bb74ZnTp1wtKlSwEA7777LubMmYOHH34Yffr0wYwZM7Bz50507drVG0+ViNyMs7GIiIioTWNlh4iIiNo0JjtERETUpjHZISIiojaNyQ4RERG1aUx2iIiIqE1jskNERERtGpMdIiIiatOY7BAREVGbxmSHiIiI2jQmO0RERNSmMdkhIiKiNu3/AbYxEydHWq3fAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 8. Ahora grafica los datos de \"Close\" usando la biblioteca matplotlib en Python, \n", + "# 9. Agrega title, marker, linestyle y color para mejorar la visualizacion\n", + "\n", + "close = data['Close']\n", + "ax = close.plot(title='Facebook', linestyle='-', color='c')\n", + "ax.set_xlabel('Date')\n", + "ax.set_ylabel('Close')\n", + "ax.grid() #opcional\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "ebaa4d03-d78b-4589-b4e7-1c626326e2d5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Un gráfico de precios es útil porque nos ayuda a identificar, mediante niveles de referencia de soporte y resistencia, el momento más adecuado para comprar o vender Acciones en el Mercado de Capitales, mejor conocido como de Renta Variable. \n", + "Económicamente, el comportamiento de los precios que observamos en el gráfico es reflejo de cambios en la oferta y la demanda, ya que cuando la oferta excede a la demanda los precios tienden a caer, mientras que cuando la demanda supera a la oferta los precios tienden a subir.\n", + "Por lo tanto, a través del gráfico de precios estaremos obteniendo una lectura objetiva del verdadero sentimiento del mercado, lo que sustentará una postura de compra “Bullish” o de venta “Bearish”. Además, debemos considerar que el comportamiento de los precios se desarrolla de tres maneras, en tendencia alcista, en tendencia bajista y en modo lateral o “trading”.\n", + "La grafica de lineas es un tipo de gráfico que solamente considera el precio de cierre de cada periodo (Días, semana, mes, etc.), y que por lo tanto nos brinda poca información o de manera incompleta.\n" + ] + } + ], + "source": [ + "# 10. Explica la grafica sencilla de linea\n", + "print(\"Un gráfico de precios es útil porque nos ayuda a identificar, mediante niveles de referencia de soporte y resistencia, el momento más adecuado para comprar o vender Acciones en el Mercado de Capitales, mejor conocido como de Renta Variable. \")\n", + "print(\"Económicamente, el comportamiento de los precios que observamos en el gráfico es reflejo de cambios en la oferta y la demanda, ya que cuando la oferta excede a la demanda los precios tienden a caer, mientras que cuando la demanda supera a la oferta los precios tienden a subir.\")\n", + "print(\"Por lo tanto, a través del gráfico de precios estaremos obteniendo una lectura objetiva del verdadero sentimiento del mercado, lo que sustentará una postura de compra “Bullish” o de venta “Bearish”. Además, debemos considerar que el comportamiento de los precios se desarrolla de tres maneras, en tendencia alcista, en tendencia bajista y en modo lateral o “trading”.\")\n", + "print(\"La grafica de lineas es un tipo de gráfico que solamente considera el precio de cierre de cada periodo (Días, semana, mes, etc.), y que por lo tanto nos brinda poca información o de manera incompleta.\")" + ] + }, + { + "cell_type": "markdown", + "id": "d28c72cd-6a29-4d34-abef-9ca734fe55f2", + "metadata": {}, + "source": [ + "* Un gráfico de cierre es un tipo de gráfico que se utiliza normalmente para ilustrar los movimientos en el precio de un instrumento financiero a lo largo del tiempo.\n", + "* El gráfico muestra los movimientos de la cotización de Facebook desde el 01/01/2020 hasta el 31/08/2021. La línea une los precios de cierre diarios, es decir, se relaciona con el precio al que cierra un acción en una jornada o rueda de bolsa. \n", + "* Conocer el precio de cierre es importante porque este es el precio con el que iniciará la siguiente subasta de apertura de la cotización de la acción." + ] + }, + { + "cell_type": "markdown", + "id": "e7d91303-04f8-408d-a34a-8b3da5cdfb14", + "metadata": {}, + "source": [ + "*Fuente:https://finance.yahoo.com/quote/FB/history?p=FB" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51ba2c03-07a1-44cd-84dc-7e37edb4a205", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}