2012-10-07 9 views
5

sto cercando di ottenere catene di stock option da Yahoo utilizzando YQL. Ho provato questo comando nella console YQL:Come posso ottenere catene di opzioni stock utilizzando YQL?

select * from yahoo.finance.options 

Tuttavia, ottengo questo errore 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> 

Sembra che questo tavolo non esiste più. Qualcuno sa qual è il tavolo corretto?

+0

Quando ho provato la tua istruzione YQL nella console YQL ho ottenuto "Impossibile trovare le chiavi richieste in clausola where; aspettandosi tasti necessari: (simbolo) 'Ma quando aggiungo una clausola where 'simbolo =' GOOG' e la scadenza = '2010-06'' non c'è nessun problema a tutti.. Stiamo parlando di questo, giusto? (Http://developer.yahoo.com/yql/console/) –

+0

Sì, è la console di cui sto parlando. Ho per noi un tavolo di comunità, e questo è parte del motivo per cui non funzionava. Ho pensato yahoo.finance.options c'era un tavolo che Yahoo è riuscito, ma in realtà è un tavolo della comunità da datatables.org. Grazie! –

risposta

1

yahoo.finance.options è un tavolo della comunità. Per leggere le tabelle delle comunità, verificare here. Dal link che ho appena postato:

Per utilizzare YQL con le tabelle della comunità, è necessario passare nel file env delle tabelle di dati. È possibile farlo sulla console YQL come parte di un'istruzione YQL o passando un parametro di query.

La console YQL per testare questo può essere trovato here

+0

Non sapevo di poter premere "mostra tabelle della comunità" per ottenere questo tavolo. Ecco perché non stava funzionando per me. Grazie! –

3

È necessario fornire almeno un where clause per fare questo lavoro query. Come questo:

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

o,

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

o,

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

Tutte le query di cui sopra funzionano bene. Se desideri dati più specifici, devi fornire più condizioni per filtrare i dati desiderati da tutti i dati.

+0

funziona ancora? – Merlin

+0

Sì, funziona bene. Ho appena controllato. Vai a questa pagina: https://developer.yahoo.com/yql/console/?q=select%20%2a%20from%20yahoo.finance.options&env=store://datatables.org/alltableswithkeys#h=select% 20% 2a% 20da% 20yahoo.finance.options% 20where% 20symbol =% 27GOOG% 27 e digita: seleziona * da yahoo.finance.options dove symbol = 'YHOO' e poi fai clic sul test di testa, vedrai i risultati. Tutte le domande nelle mie risposte stanno funzionando bene. –

+0

Ho controllato anche, sembra funzionare ... Due questione fa uso di limite di yahoo?Mi ha dato solo il primo mese, come potrei ottenere i prossimi tre mesi dicendo 2014-05, 2014-06, 2014-07 o "i prossimi tre mesi". Come url o uri, qual è la stringa ... – Merlin

0

Dalla metà del 2014 YQL ha il problema, in modo che la catena di opzione dal yahoo.finance con raschiatura potrebbe essere ottenere dai seguenti codici con: Python e Matlab

-1

Qualcosa che ho appena capito oggi è che si può basta usare questo per ottenere i dati delle opzioni da yahoo

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

Non so perché qualcuno abbia votato la mia risposta, ma l'endpoint che ho fornito nella risposta sopra ti restituisce un JSON, e se non riesci a processare un JOSN, allora penso che StackOverflow sia il sito web sbagliato per te –

+1

probabilmente giù votato perché la domanda richiede specificamente l'YQL – BigBen

Problemi correlati