Estou migrando algumas interfaces de raspagem de tela do Yahoo Finance CSV para usar YQL e lutando com a tabela yahoo. finance. options. Se eu consultar todas as opções para um determinado símbolo, não encontro as datas de validade associadas às opções. Se eu pesquisar o símbolo e a expiração, eu acho o prazo de validade associado à cadeia, mas não as opções nele contidas. Enquanto estou familiarizado com o ciclo de expiração das opções e posso inicializá-lo a partir de uma determinada data, isso é uma solução fraca para uma coisa, ele gerará mais consultas. Prefiro muito introspecto dos dados, uma vez que deve estar disponível (pode ser raspado na tela). Alguém sabe como conseguir isso no YQL, ou estou sem sorte. Algum código de Python? Estou usando: pediu 25 de junho 11 às 11:52 Se você não definiu a data de validade na consulta YQL, então acho que a data de validade de O conjunto de dados será a próxima terceira sexta-feira do mês. Usando dateutil. Você poderia definir esta data em Python com: (Nota: o código acima ignora os feriados, caso em que a data de validade seria a terceira quinta-feira. Se você usar esse código, certifique-se também de verificar o que o Yahoo decide retornar quando o dia atual É a terceira sexta-feira do mês - Não tenho certeza se a data de validade será a data atual ou a terceira sexta-feira do próximo mês.) Para ver a cadeia de opções para um determinado mês do ano de validade (que não seja a terceira sexta-feira próxima) , Você pode usar uma consulta YQL, como: É possível obter dados em expirações múltiplas, tudo em uma consulta YQL: Curiosamente, quando os dados em várias expirações são solicitados, a cadeia. attrib inclui uma chave de validade: respondida em 25 de junho 11 em 12:52 Com isso tenho medo, mas minha suspeita inicial é que I39m está faltando alguma coisa, e não que o modelo de dados de tabela tenha uma falha óbvia (tornando a data de validade uma entrada opcional, mas não retornando em qualquer lugar no resultado da consulta). Ndash csingley 25 jun 11 às 13:10 obrigado unutbu, isso é útil. Faz sentido que a expiração seria padrão para o mês da frente. No entanto, se esta interface precisa de uma consulta separada para cada expiração, e requer uma para descobrir as expirações disponíveis fora da banda (por exemplo, se LEAPS está ou não disponível para os anos traseiros), então eu suponho que I39ll fique preso à raspagem de tela do Y Finanças opções páginas por enquanto. Ndash csingley 25 de junho 11 às 14:51 Se você não definir a data de validade na consulta YQL, então acho que o conjunto de dados será retornado para os contratos que expiram o mais cedo neste mês (mas depois do que hoje). Essas não são necessariamente as opções mensais, expirando na terceira sexta-feira. O conjunto de dados retornado pode ser para as opções de semanas ou quartelies que expiram este mês (se o seu subjacente tiver). Mesmo que você emita a consulta alguns dias após o vencimento dos mensais (3 de sexta-feira), há uma chance de que você obtenha dados por algo que expira este mês em vez dos mesilhos do próximo mês. Assim, como sugeriu Unutbu, faz sentido sempre emitir consultas com o mês de validade especificado para receber a data de validade no conjunto de dados retornado e saber exatamente o que você está recebendo. Ou melhor ainda, com data de validade especificada. Tão ruim que consultar a tabela yahoo. finance. optioncontracts não retorna a data de validade. Apenas o mês. E não ajuda a descobrir se o seu subjacente tem opções diferentes dos mensais e suas datas de validade. Respondeu 19 de agosto 12 às 0:13 Sua resposta 2016 Stack Exchange, IncYeah, esse é o console do qual eu falo. Eu tenho para nós uma tabela de comunidade, e essa é parte da razão pela qual não estava funcionando. Eu pensei que yahoo. finance. options era uma tabela que o Yahoo gerenciou, mas isso é realmente uma tabela de comunidade de datatables. org. Obrigado ndash ProgrammerD 9 de outubro às 0:59 yahoo. finance. options é uma tabela de comunidade. Para ler sobre tabelas de comunidade, verifique aqui. Do link que acabei de publicar: para usar o YQL com as tabelas da comunidade, você deve passar no arquivo env de datatables. Você pode fazer isso no console YQL como parte de uma declaração YQL ou passando um parâmetro de consulta. O console YQL para testar isso pode ser encontrado aqui
Comments
Post a Comment