I et tidligere indlæg demonstrerede jeg, hvordan man kan indlæse bildata fra Quandl i et Python-script.
I dette indlæg vil jeg dokumentere, hvordan man indlæser platin- og palladiumpriser fra Quandl i Python. Disse data er verificeret af London Palladium og Platinum-markedet (http://www.lppm.com).
I nedenstående kode henter jeg et datasæt med platinpriser fra Quandl
import quandl # opsætning af API-nøgle quandl.ApiConfig.api_key = "your key here" import numpy import pandas # hentning af data fra quandl i numpy format og derefter konvertering til pandas DataFrame data = pandas.DataFrame(quandl.get('LPPM/PLAT', returns="numpy"))
Det indlæste datasæt inkluderer daglige åbnings- og lukkekurser fra metalbørsmarkeder over hele verden. Vi kan nu tage et kig på hovedet (headeren) af det indlæste datasæt:
data.head()
Date | 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 |
Som det kan ses er de daglige åbnings- og lukkekurser noteret i USD, EUR og GBP. Nogle af kolonnerne er dog tomme. Lad os se om dette kun er tilfældet for tidlige dataindlæg ved også at kontrollere halen på den indlæste dataramme:
data.tail()
Date | 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 |
Siden åbnings- og slutkurser blev noteret i USD, både i 1990 og i 2020, vælger jeg kun at fokusere på priser i USD.
I koden nedenfor plotter jeg historiske platinpriser ved lukning (i USD)
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')

I nedenstående kode gentager jeg ovenstående workflow for palladium-prishistorik
Først indlæser de relvante data fra Quandl:
data = pandas.DataFrame(quandl.get('LPPM/PALL', returns="numpy"))
Dernæst tager jeg et kig på de øverste indlæg i datarammen:
data.head()
Date | 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 |
Og jeg gennemgår også datarammens hale:
data.tail()
Date | 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 |
Igen vælger jeg at fokusere på slutkurser i USD. Jeg plotter prishistorikken ved hjælp af matplotlib i 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')


Industriingeniør som gerne beskæftiger sig med optimering, simulation og matematisk modellering i R, SQL, VBA og Python
Leave a Reply