JSON sformatowany quote API (NA ŻYWO lub historyczne)

Buduję dla siebie spokojną aplikację internetową i jestem zainteresowany uzyskaniem danych stockowych w formacie JSON za darmo. Planuję używać javascript po stronie klienta. Czy istnieje darmowe API stock, które mogę wykorzystać, że nie zwraca XML i nie nie używać C#.

EDIT: znalazłem to zapytanie JSON...czy to zadziała?

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json
Author: bouncingHippo, 2012-11-19

3 answers

Oczywiście, jeśli zostanie przywrócony i przetworzony jako JSON z javascript, będziesz w stanie wykonać następujące czynności i wyciągnąć wszystko, co chcesz z każdego zwracanego zasobu:

var callback = function(_return /* The json returned for yahooapis */) {
    var totalReturned = _return.query.count;
    //OR: var totalReturned = _return.query.results.quote.length;
    for (var i = 0; i < totalReturned; ++i) {
        var stock = _return.query.results.quote[i];
        var symbol = stock.symbol;
        var percent_change = stock.Change_PercentChange;
        var changeRealTime = stock.ChangeRealtime;
        ...
    }
}

--

var url = 'http://query.yahooapis.com/v1/public/yql';
var startDate = '2012-01-01';
var endDate = '2012-01-08';
var data = encodeURIComponent('select * from yahoo.finance.historicaldata where symbol in ("YHOO","AAPL","GOOG","MSFT") and startDate = "' + startDate + '" and endDate = "' + endDate + '"');
$.getJSON(url, 'q=' + data + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", callback);

--

YQL Demo

(Dodaj i startDate = "" and endDate = "" do zapytania z datami w formacie RRRR - mm-dd, aby zrobić to, co chcesz, upewnij się również, że jako format wyjściowy wybierz JSON)

--

Kilka dodatkowych informacji z komentarzy:

  • W przykładzie powyżej zapytanie dotyczyło danych historycznych z yahoo.Finanse.historicaldata, można również odpytywać yahoo.Finanse.cytaty w czasie rzeczywistym -- opóźnione o 15 minut)
  • jeśli chcesz uzyskać prawdziwe informacje w czasie rzeczywistym, skorzystaj z usługi webservice: np. finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json (dodaj &view=detail do tego zapytania, jeśli chcesz uzyskać bardziej szczegółowe dane wyjściowe)
 50
Author: crowebird,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-05 19:47:06

Jako programista polecam Alpha Vantage. Oferują notowania giełdowe w czasie rzeczywistym i historyczne (dzienne, tygodniowe, miesięczne itp.) jako RESTful JSON APIs .

Jest całkowicie darmowy z nieograniczoną liczbą połączeń API. Jest w czasie rzeczywistym, o ile akcje są notowane na głównych giełdach.

Poniżej {[2] } znajduje się przykładowe Api Api dla dziennych cen i wolumenów MSFT, wzbogacone o korekty podziału/dywidendy. Najnowszym punktem danych jest Informacja w czasie rzeczywistym dla obecny dzień handlowy.

Oferują również API analizy technicznej na podstawie danych rynkowych zgodnie z ich dokumentacją.

 16
Author: Steve Carino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-14 18:01:23

Dokumentacja: https://iextrading.com/developer/docs/#stocks

GET https://api.iextrading.com/1.0/stock/jnj/quote

{
    "symbol": "JNJ",
    "companyName": "Johnson & Johnson",
    "primaryExchange": "New York Stock Exchange",
    "close": 124.69,
    "closeTime": 1531771224535
}
 0
Author: Timothy Gonzalez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-16 21:06:09