2012-10-07 18 views
5

Próbuję uzyskać łańcuchy opcji giełdowych z Yahoo przy użyciu YQL. Próbowałem tego polecenia w konsoli YQL:Jak mogę uzyskać łańcuchy opcji giełdowych za pomocą YQL?

select * from yahoo.finance.options 

Jednak uzyskać ten błąd XML:

<?xml version="1.0" encoding="UTF-8"?> 
<error xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:lang="en-US"> 
    <diagnostics> 
     <publiclyCallable>true</publiclyCallable> 
    </diagnostics> 
    <description>No definition found for Table yahoo.finance.options</description> 
</error> 

wygląda to tabela nie istnieje już. Czy ktoś wie, co to jest poprawny stół?

+0

Kiedy wypróbowałem twoje polecenie YQL w konsoli YQL, dostałem "Nie można znaleźć wymaganych kluczy w klauzuli where; oczekiwanie na wymagane klucze: (symbol). "Ale kiedy dodaję klauzulę where" symbol = 'GOOG' AND expiration = '2010-06' 'nie ma problemu. Mówimy o tym, prawda? (http://developer.yahoo.com/yql/console/) –

+0

Tak, to jest konsola, o której mówię. Mam dla nas tabelę społeczną i to jest po części powód, dla którego nie działa. Myślałem, że yahoo.finance.options jest tabelą zarządzaną przez Yahoo, ale tak naprawdę jest tabelą społeczności z datatables.org. Dzięki! –

Odpowiedz

1

yahoo.finance.options to tabela społeczności. Aby przeczytać o tabelach społeczności, sprawdź here. Od linku właśnie wysłałem:

Aby używać YQL z tabelami społeczności, musisz przekazać plik env z danymi. Możesz to zrobić na konsoli YQL jako część instrukcji YQL lub przekazując parametr zapytania.

Konsola YQL przetestować ten temat można znaleźć here

+0

Nie wiedziałem, że mogę nacisnąć "pokaż tabele społeczności", aby uzyskać ten stół. Dlatego to nie działało dla mnie. Dzięki! –

3

Musisz podać co najmniej jeden where clause do tej pracy zapytania. Tak:

select * from yahoo.finance.options where symbol='MMM' 

lub

select * from yahoo.finance.options where symbol='A' 

lub

select * from yahoo.finance.options where symbol='YHOO' 

Wszystkie powyższe zapytania działają bez zarzutu. Jeśli potrzebujesz bardziej szczegółowych danych, musisz podać więcej warunków, aby odfiltrować pożądane dane z całych danych.

+0

to nadal działa? – Merlin

+0

Tak, działa dobrze. Właśnie sprawdziłem. Przejdź na tę stronę: https://developer.yahoo.com/yql/console/?q=select%20%2a%20from%20yahoo.finance.options&env=store://datatables.org/alltableswithkeys#h=select% 20% 2a% 20from% 20yahoo.finance.options% 20where% 20symbol =% 27GOOG% 27 i wpisz: select * from yahoo.finance.options gdzie symbol = 'YHOO' a następnie uderzył testową buttong, zobaczysz wyniki. Wszystkie pytania w moich odpowiedziach działają poprawnie. –

+0

Sprawdziłem też, wydaje się, że działa ... Dwa pytanie ogranicza użycie yahoo?Dał mi tylko pierwszy miesiąc, jak mogłem uzyskać następne trzy miesiące, albo mówiąc: 2014-05, 2014-06, 2014-07 albo "następne trzy miesiące". Jak url lub uri, jaki jest ciąg ... – Merlin

0

Od połowy 2014 YQL ma problemu, więc łańcuch opcji z yahoo.finance z skrobanie może być dostać się z następujących kodów: Python i Matlab

-1

Coś po prostu zorientowali się, że dziś jest to możliwe po prostu użyj tego, aby uzyskać dane opcji od yahoo

https://query2.finance.yahoo.com/v7/finance/options/SPXS?straddle=true 
+0

Nie wiem, dlaczego ktoś głosował na moją odpowiedź, ale punkt końcowy podany w powyższej odpowiedzi zwraca ci JSON, a jeśli nie możesz przetworzyć JOSN, to myślę, że StackOverflow jest niewłaściwą stroną dla ciebie –

+1

prawdopodobnie w dół głosowało, ponieważ pytanie w szczególności dotyczy YQL – BigBen

Powiązane problemy