En una publicación anterior, demostré cómo se pueden consultar datos automotrices a través de Quandl directamente desde un script de Python.
En esta publicación, documentaré cómo consultar los precios de intercambio de platino y paladio de Quandl en Python. Los datos han sido verificados por London Palladium and Platinum Market (http://www.lppm.com).
En el siguiente código, recupero un conjunto de datos con precios de platino de Quandl
import quandl # configurando la clave API quandl.ApiConfig.api_key = "your key here" import numpy import pandas # recuperando datos de quandl en formato numpy, luego convirtiéndolos en pandas DataFrame data = pandas.DataFrame(quandl.get('LPPM/PLAT', returns="numpy"))
El conjunto de datos obtenido incluye los precios diarios de apertura y cierre de los mercados de intercambio de metales de todo el mundo. Podemos echar un vistazo al encabezado del marco de datos obtenido:
data.head()
Fecha | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
0 | 1990-04-02 | 471.00 | NaN | 289.65 | 470.50 | NaN | NaN |
1 | 1990-04-03 | 475.80 | NaN | 291.35 | 477.25 | NaN | NaN |
2 | 1990-04-04 | 475.70 | NaN | 289.95 | 476.75 | NaN | NaN |
3 | 1990-04-05 | 481.75 | NaN | 292.60 | 481.85 | NaN | NaN |
4 | 1990-04-06 | 481.00 | NaN | 293.10 | 480.25 | NaN | NaN |
Como puede verse, los precios diarios de apertura y cierre se expresan en USD, EUR y GBP. Sin embargo, algunas de las columnas están vacías. Veamos si este es solo el caso de las primeras entradas comprobando también la cola del marco de datos recuperado:
data.tail()
Fecha | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
7574 | 2020-03-30 | 721.0 | 650.43 | 581.45 | 726.0 | 658.80 | 585.25 |
7575 | 2020-03-31 | 723.0 | 657.87 | 586.61 | 727.0 | 662.72 | 586.53 |
7576 | 2020-04-01 | 723.0 | 660.27 | 585.19 | 714.0 | 653.25 | 576.04 |
7577 | 2020-04-02 | 727.0 | 665.75 | 585.35 | 727.0 | 668.20 | 585.82 |
7578 | 2020-04-03 | 719.0 | 666.05 | 584.55 | 714.0 | 662.34 | 582.62 |
Para los días de receso, los precios se enumeraron para todas las monedas. Dado que los precios de apertura y cierre se indicaron en USD tanto en 1990 como en 2020, elijo centrarme en los precios solo en USD.
En el siguiente código, trazo el historial de precios de cierre de platino en USD, usando matplotlib
import matplotlib.pyplot as plt plt.figure(figsize = (10,10)) plt.plot(data["Date"], data["USD PM"],color = "red") plt.title("Daily platinum closing prices",size=26) plt.ylabel("closing price [USD]",size = 16) plt.xlabel("date", size = 16)
Text(0.5, 0, 'date')
En el código a continuación, repito el flujo de trabajo anterior para el historial de precios del paladio
Primero, consulto los datos de Quandl:
data = pandas.DataFrame(quandl.get('LPPM/PALL', returns="numpy"))
A continuación, reviso el encabezado del marco de datos:
data.head()
Fecha | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
0 | 1990-04-02 | 128.00 | NaN | 78.70 | 127.65 | NaN | 78.55 |
1 | 1990-04-03 | 128.35 | NaN | 78.60 | 128.50 | NaN | 78.75 |
2 | 1990-04-04 | 128.35 | NaN | 78.25 | 128.00 | NaN | 77.90 |
3 | 1990-04-05 | 128.40 | NaN | 78.00 | 127.75 | NaN | 77.65 |
4 | 1990-04-06 | 128.75 | NaN | 78.45 | 128.50 | NaN | 78.40 |
Y también reviso la cola del marco de datos:
data.tail()
Fecha | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
7574 | 2020-03-30 | 2236.0 | 2017.14 | 1803.23 | 2242.0 | 2034.48 | 1807.34 |
7575 | 2020-03-31 | 2317.0 | 2108.28 | 1879.92 | 2307.0 | 2103.01 | 1861.23 |
7576 | 2020-04-01 | 2314.0 | 2113.24 | 1872.93 | 2236.0 | 2045.75 | 1803.95 |
7577 | 2020-04-02 | 2288.0 | 2095.24 | 1842.19 | 2123.0 | 1951.29 | 1710.72 |
7578 | 2020-04-03 | 2234.0 | 2069.48 | 1816.26 | 2140.0 | 1985.16 | 1746.23 |
Nuevamente, elijo centrarme en los precios de cierre en USD. Trazo el historial de precios a continuación, usando matplotlib en Python:
plt.figure(figsize = (10,10)) plt.plot(data["Date"], data["USD PM"],color = "red") plt.title("Daily palladium closing prices",size=26) plt.ylabel("closing price [USD]",size = 16) plt.xlabel("date", size = 16)
Text(0.5, 0, 'date')
Ingeniero industrial especializado en optimización y simulación (R, Python, SQL, VBA)
Leave a Reply