Em uma postagem anterior, demonstrei como é possível consultar dados automotivos via Quandl diretamente de um script Python.
Neste post vou documentar como consultar os preços de troca de platina e paládio de Quandl em Python. Os dados foram verificados pelo mercado de paládio e platina de Londres (http://www.lppm.com).
No código abaixo eu recupero um conjunto de dados com preços de platina de Quandl
import quandl
# configurando chave de API
quandl.ApiConfig.api_key = "sua chave aqui"
import numpy
import pandas
# recuperando dados do quandl no formato numpy e, em seguida, convertendo em pandas DataFrame
data = pandas.DataFrame(quandl.get('LPPM/PLAT', return=" numpy "))
O conjunto de dados obtido inclui preços diários de abertura e fechamento dos mercados de câmbio de metais em todo o mundo. Podemos dar uma olhada no cabeçalho do quadro de dados obtido:
data.head()
Encontro | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
0 | 02/04/1990 | 471,00 | NaN | 289,65 | 470,50 | NaN | NaN |
1 | 03/04/1990 | 475,80 | NaN | 291,35 | 477,25 | NaN | NaN |
2 | 1990-04-04 | 475,70 | NaN | 289,95 | 476,75 | NaN | NaN |
3 | 05/04/1990 | 481,75 | NaN | 292,60 | 481,85 | NaN | NaN |
4 | 1990-04-06 | 481,00 | NaN | 293.10 | 480,25 | NaN | NaN |
Como pode ser visto, os preços diários de abertura e fechamento são anotados em USD, EUR e GBP. Algumas das colunas estão vazias, no entanto. Vamos ver se este é apenas o caso de entradas iniciais, verificando também o final do quadro de dados recuperado:
data.tail()
Encontro | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
7574 | 30-03-2020 | 721,0 | 650,43 | 581,45 | 726,0 | 658,80 | 585,25 |
7575 | 31-03-2020 | 723,0 | 657,87 | 586,61 | 727,0 | 662,72 | 586,53 |
7576 | 01-04-2020 | 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 | 03/04/2020 | 719,0 | 666,05 | 584,55 | 714,0 | 662,34 | 582,62 |
Para os dias do evento, os preços foram listados para todas as moedas. Como os preços de abertura e fechamento foram listados em USD tanto em 1990 quanto em 2020, optei por me concentrar apenas nos preços em USD.
No código abaixo, ploto o histórico de preço de fechamento da platina em USD, usando matplotlib
import matplotlib .pyplot como plt
plt.figure(figsize = (10,10))
plt.plot(dados["Data"], dados["USD PM"],cor = "vermelho")
plt.title("Preços diários de fechamento da platina",size=26)
plt.ylabel("preço de fechamento [USD]",tamanho = 16)
plt.xlabel("data", tamanho = 16)
Text(0.5, 0, 'data')
No código abaixo, repito o fluxo de trabalho acima para o histórico de preços do paládio
Primeiro, eu consulto os dados de Quandl:
data = pandas.DataFrame(quandl.get('LPPM/PALL', return=" numpy "))
Em seguida, analiso o cabeçalho do quadro de dados:
data.head()
Encontro | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
0 | 02/04/1990 | 128,00 | NaN | 78,70 | 127,65 | NaN | 78,55 |
1 | 03/04/1990 | 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 | 05/04/1990 | 128,40 | NaN | 78,00 | 127,75 | NaN | 77,65 |
4 | 1990-04-06 | 128,75 | NaN | 78,45 | 128,50 | NaN | 78,40 |
E reviso a cauda do quadro de dados também:
data.tail()
Encontro | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
7574 | 30-03-2020 | 2236.0 | 14/2017 | 1803.23 | 2242.0 | 2034.48 | 1807.34 |
7575 | 31-03-2020 | 2317.0 | 2108.28 | 1879,92 | 2307.0 | 2103.01 | 1861.23 |
7576 | 01-04-2020 | 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 | 03/04/2020 | 2234.0 | 2069.48 | 1816.26 | 2140,0 | 1985.16 | 1746.23 |
Mais uma vez, escolho focar nos preços de fechamento em USD. Traço o histórico de preços abaixo, usando matplotlib em Python:
plt.figure(figsize = (10,10))
plt.plot(dados["Data"], dados["USD PM"],cor = "vermelho")
plt.title("Preços diários de fechamento do paládio",size=26)
plt.ylabel("preço de fechamento [USD]",tamanho = 16)
plt.xlabel("data", tamanho = 16)
Text(0.5, 0, 'data')
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply