2012-07-17 26 views
6

Desidero sviluppare una piccola applicazione per ottenere automaticamente il prezzo delle azioni da Google Finance e archiviarlo nella mia macchina locale per analisi future.Come lavorare con Google Finanza?

Qualcuno può darmi qualche idea su come iniziare?

Conosco qualche C#. Sarà adatto a questo scopo?

Grazie in anticipo.

+0

[dati Stock Downloader] (http://www.insight-things.com/download-historical-share-stock-trust-index-quotations) consente di scaricare i prezzi delle azioni storiche sulla base di dati di Google Finance. Questo dovrebbe essere sufficiente nella maggior parte dei casi in cui si desidera eseguire un'analisi. –

risposta

13

Il Google Finance Gadget API è stato ufficialmente deprecated since October 2012, ma a partire da aprile 2014, è ancora attiva:

http://www.google.com/finance/info?q=NASDAQ:ADBE

Si noti che se l'applicazione è per public consumption, using the Google Finance API is against Google's terms of service.

Questo dà una risposta JSON che può essere analizzata utilizzando un semplice parser JSON in C# dopo aver tagliato i primi due caratteri ('//').

Per scaricare nuovamente i dati storici, è possibile utilizzare le API di Google.

http://www.google.com/finance/historical?q=NASDAQ:ADBE&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv

emette un CSV di fine della giornata i prezzi azionari da startdate a enddate. Usa un semplice parser CSV per ottenere dati significativi da questo memorizzati sul tuo db. Tuttavia, questo formato = l'opzione csv non funziona per poche borse.

3

Se si desidera scaricare i dati storici è possibile utilizzare l'API di Google Finance (che funziona ancora a partire da maggio 2016). Non è necessario fornire una data di fine, si preleverà automaticamente i dati dalla data di inizio (o successiva se il titolo non ha commerciare poi) per l'ultimo pieno data di negoziazione:

http://www.google.com/finance/historical?q=NASDAQ:AAPL&startdate=Jan+01%2C+2000&output=csv

Ricordate che Google Finance Le API sono SOLO per consumo personale. Ti suggerisco i loro termini di servizio.

Se volete scaricare semplicemente l'ultima data (che potrebbe essere utile per aggiornare il db locale) è possibile utilizzare la libreria GoogleFinance sviluppata da Hongtao Cai:

https://pypi.python.org/pypi/googlefinance

2

ho appena implementato questo con PHP. Potrebbe essere utile.

<?php 

echo readGoogle('AAPL', 'Aug+21%2C+2017', 'Aug+22%2C+2017'); 

function readGoogle($ticker, $startDate, $endDate) { 


$fp = fopen("http://finance.google.com/finance/historical?q=".$ticker."&startdate=".$startDate."&enddate=".$endDate."&output=csv", 'r'); 


if (FALSE === $fp) return 'Can not open data.'; 

$buffer = ''; 
while (!feof($fp)) $buffer .= implode(',', (array)fgetcsv($fp, 5000)); 

fclose($fp); 

return $buffer; 

} 

?> 
+0

Grande ricerca, funziona! – boctulus

+0

Sfortunatamente non nell'UE: -/Siamo bloccati qui ... –

+0

@ OlliD-Metz potresti usare una connessione VPN nel tuo codice. Cerca 'CURLOPT_PROXY' e ottieni un IP libero da un server al di fuori dell'UE. – Reif