Skip to main content

Download e analisi dati tramite API Fred

Project description

ApiFred

Introduzione

Il progetto propone la realizzazione di una libreria python che permette di scaricare, memorizzare in un database e analizzare tramite grafici delle informazioni ottenute dall'API Fred. La classe più importante della libreria è senza dubbio 'Fred'. Nel momento in cui viene creata un'istanza di questa classe viene istanziato anche un oggetto della classe 'Datamanager' che si occupa di gestire le interazioni con il database. Tale classe infatti ha come obiettivo quello di leggere e scrivere informazioni in opportune taballe Mysql. La struttura di queste tabelle è descritta nella documentazione della classe Fred. L'idea di base è che tutti i dati scaricati debbano essere memorizzati in un database in questo modo quando l'utente ha bisogno nuovamente di queste informazioni esse varranno prelevarle dal database, a meno che non venga chiesto esplicitamente un aggiornamento dei dati tramite API.

##Esempi di codice Poter utilizzare un'istanza della classe Fred è necessario fornire due parametri che sono la connessione con il database e la chiave dell'API. Una volta creata l'istanza è possibile scaricare e graficare i dati.

Scaricare categorie figlie di una categoria data

fred= Fred(connection,apy_key) fred.dowloadSubCategoryByCategory(1)

Scaricare serie da una categoria data

fred= Fred(connection,apy_key) fred.dowloadSeriesByCategory(1)

Scaricare Osservazioni di una serie data

fred= Fred(connection,apy_key) fred.dowloadObservationBySeries('BABANAICS11NSAUS')

Grafici

I grafici realizzati sono principalmente di 7 tipologie:

  1. Andamento delle osservabili di una serie
  2. Grafico della media mobile delle osservabili di una data serie
  3. Grafico delle differenze prime delle osservabili di una data serie
  4. Grafico delle differenze prime percentuali delle osservabili di una data serie
  5. Matrice delle covarianze di un gruppo di serie
  6. Matride delle correlazioni di un gruppo di serie
  7. Regressione lineare di una data serie

Di seguito verranno mostrati alcuni esempi.

Andamento delle osservabili di una serie

fred= Fred(connection,apy_key) fred.plotOservationBySeries('BABANAICS11NSAUS').show()

Grafico della media mobile delle osservabili di una data serie

fred= Fred(connection,apy_key) fred.plotMovingAverage(11,'BABANAICS11NSAUS').show()

Grafico delle differenze prime delle osservabili di una data serie

fred= Fred(connection,apy_key) fred.plotPrimeDifferenceSeries('BABANAICS11NSAUS').show()

Combinazioni grafici

La classe Fred mette a disposizione una serie di metodi che restituiscono dati grezzi utili per personalizzare e comporre i propri grafici. In partiolare questi metodi sono utili per creare dei 'collage' di grafici. E' possibile combinare più grafici in un'unica immagine in maniera molto agevole. Ad esempio nel codice che segue è possibile combinare i grafici di 3 serie differenti in uno.

Esempio

x1,y1 = fred.giveDataPlotOservationBySeries('BABANAICS11NSAUS')
x2,y2 = fred.giveDataPlotOservationBySeries('BABANAICS23SAUS')
x3,y3 = fred.giveDataPlotOservationBySeries('BFBF8QNAICS71SAUS')

fig, axs = plt.subplots(3,sharex=True)

step = int(len(x1) / 8)

axs[0].set_title('BABANAICS11NSAUS')
axs[0].plot(x1, y1,'tab:red')

axs[1].set_title('BABANAICS23SAUS')
axs[1].plot(x2, y2,'tab:green')

axs[2].set_title('BFBF8QNAICS71SAUS')
axs[2].plot(x3, y3)

plt.xticks(x1[::step], x1[::step],rotation=-45)
plt.gcf().set_size_inches(16, 9)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

APIFredTorVergata-0.1.0.tar.gz (10.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page