Tuesday 22 May 2018

Opções de ações api


Obtenha cotações de ações em tempo real usando o Yahoo Finance API.
A API financeira do Yahoo parece ser a mais popular desde que a API do Google Finance foi preterida (foram descontinuadas em outubro de 2012). Se você quiser experimentar outro provedor, fique à vontade para consultar as 96 APIs da Stocks: Bloomberg, NASDAQ e E * TRADE.
Legalidade de uso do Yahoo! dados no site comercial?
Resposta do Yahoo Community Manager.
Tive dificuldades para entender se é permitido usar o Yahoo Finance API para o próprio projeto. Uma resposta do Yahoo Community Manager em 2009 é NO:
2 Os dados que fornecemos não estão disponíveis para distribuição no Yahoo!
Community Manager, YDN.
O mesmo Robyn Tippins também mencionou no comentário anterior porque o webservice está online:
Parece que alguns têm engenharia reversa de uma API que eles usam para extrair dados financeiros, mas estão quebrando nossos Termos de Serviço (sem redistribuição de dados financeiros) ao fazer isso, então eu encorajaria você a evitar o uso desses serviços da web.
Termos de Uso das APIs do Yahoo.
Os Termos de Uso das APIs do Yahoo impedem que "obtenha receita com o uso das APIs do Yahoo", verifique a cláusula 1.7.4. abaixo para detalhes, mas não parece impedir o uso para fins gratuitos.
Usos Licenciados e Restrições […] VOCÊ NÃO DEVE: […] Vender, alugar, compartilhar, transferir ou sublicenciar as APIs do Yahoo ou acessar ou acessar os códigos dos mesmos ou derivar receita do uso ou provisão das APIs do Yahoo, seja para fins comerciais diretos ou ganho monetário ou de outra forma, a menos que os Documentos da API permitam especificamente o contrário ou o Yahoo conceda permissão prévia, expressa e por escrito.
Acordo de redistribuição com as bolsas.
Você não pode usar seus dados para redistribuição, não importa qual seja o caso (mesmo que seja um site gratuito). Eu corro três sites financeiros (incluindo um livre) e posso dizer-lhe que o problema não é com o Yahoo! Finanças, mas com quem eles extraem seus dados, que normalmente é direto das trocas ou de um agregador de dados (como Morningstar, Thomson Reuters, Interactive Data, etc.). Você é obrigado a assinar contratos de redistribuição e pagar taxas de redistribuição com cada troca da qual você exibe os preços, mesmo que você esteja extraindo os dados de um agregador de dados e não diretamente da troca. Aponto sendo, você precisa ir diretamente para as trocas ou para um agregador de dados que oferece redistribuição (ainda precisa assinar contratos de redistribuição). Observe que ainda são considerados dados de redistribuição, mesmo que você esteja apenas exibindo os preços em seu site e não permitindo, de fato, que os usuários façam o download dos dados.
É muito lamentável - especialmente quando você está oferecendo um serviço educativo como um dos nossos sites (para escolas), mas como as bolsas ganham dinheiro e não seria justo com empresas como a nossa pagar as taxas de redistribuição para as pessoas ser capaz de lançar aplicativos financeiros gratuitos.
A redistribuição dos preços das ações atrasadas é realmente gratuita de qualquer maneira, mas você ainda tem que assinar um acordo de redistribuição com as bolsas. Você também precisará adquirir acesso a um serviço da Web que ofereça os preços. Você não será capaz de encontrar um serviço web de qualidade decente sem pagar uma taxa, que normalmente é baseada no número de acessos (e às vezes pontos de dados) que você consome.
Como buscar cotações de ações?
Então, agora que você conhece os riscos, vamos conversar sobre como obter cotações de ações. Eu sei 3 maneiras de buscar cotações de ações da API do Yahoo:
Yahoo YQL Finance API: use a tabela de dados YQL (Yahoo Query Language) e yahoo. finance. quotes. xml de query. yahooapis / v1 / public / yql, veja o exemplo API do Yahoo CSV Finance: obtenha resultados de csv em finance. yahoo/d/ quote. csv, consulte o exemplo API do webserviço do Yahoo: obtenha json em finance. yahoo/webservice/v1/symbols veja o exemplo.
Yahoo YQL Finance API.
Sob o capô, a Tabela de Dados Abertos da YQL está realmente apenas usando a API CSV do yahoo para realmente obter os preços das ações. Você pode verificar a tabela de dados YQL do Github e yahoo. finance. quotes.
O ponto interessante sobre o uso da YQL é que você pode personalizar seu formato de resposta (json ou xml) e propriedades. Consulte o artigo Obter informações sobre ações com YQL e abrir tabelas de dados do Blog YQL para obter mais detalhes.
Você pode usar a implementação YahooFinanceAPI. php.
Qual é o limite de consultas na API de finanças do Yahoo?
O que isto significa:
Usando a API pública (sem autenticação), você está limitado a 2.000 solicitações por hora por IP (ou até um total de 48.000 solicitações por dia). Usando a API privada (com a autenticação OAuth usando uma chave de API), você está limitado a 20.000 solicitações por hora por IP e está limitado a 100.000 solicitações por dia por chave de API.
Problemas usando YQL e tabelas de dados abertas.
Dados inacessíveis aumentam o HTTP / 1.0 400 Bad Request.
Enfrentamos sérios problemas com as tabelas de dados YQL. A questão principal era a disponibilidade de dados. Quando as tabelas de dados estão inacessíveis, o YQL não consegue recuperar dados.
Se você usar o console YQL, você terá a seguinte resposta Nenhuma definição encontrada para a Tabela yahoo. finance. quotes.
Uma postagem mais antiga no YQL Forum mencionou esse problema em 2009.
Quando isso ocorreu, como uma correção temporária, atualizamos a URL do YQL para buscar diretamente a tabela do repositório GitHub do yql-tables. Para alcançá-lo, usamos a seguinte declaração YQL:
instável Quotes delay.
Outro grande problema que encontramos foi o atraso das cotações. Eu pessoalmente abri um problema para a YDN sobre isso:
Quando verifico a propriedade LastTradeTime, ela retorna horas de troca inconsistentes, por exemplo, “12:46 pm”, a próxima solicitação retorna “12:44 pm” e a próxima solicitação “2:42 pm”. Todas essas três solicitações foram executadas em um período de dois minutos.
API do Yahoo CSV Finance.
Para fazer uma solicitação à API do CSV, você pode fazer isso aqui:

Opções de ações api
Qual é a API gratuita / pública mais recomendada para acessar estatísticas do mercado financeiro e cotações de ações (preferencialmente cotações em tempo real)? Eu não sou muito exigente sobre como ele é exposto (SOAP, REST, alguma configuração XML proprietária, etc.), contanto que tenha alguma documentação decente.
Eu estou planejando construir um painel web simples em PHP com alguns dados básicos (basicamente uma página inicial rápida e não-suja), mas pode querer transformá-lo em um aplicativo web completo eventualmente. Alguma ideia?
Como eu acho alguns, vou postar uma lista aqui (fique à vontade para comentar se você já usou algum deles antes):
fechado como não construtivo por C. Ross, Kris, Deanna, Luksprog, S. L. Barth 3 de outubro às 12h57.
No momento, esta questão não é adequada para o nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou especialização, mas essa questão provavelmente solicitará debates, discussões, pesquisas ou discussões ampliadas. Se achar que esta questão pode ser melhorada e possivelmente reaberta, visite o centro de ajuda para obter orientação. Se essa questão puder ser reformulada para se ajustar às regras da Central de Ajuda, edite a pergunta.
A API do Yahoo fornece um despejo de CSV:
Não tenho certeza se está documentado ou não, mas este exemplo de código deve mostrar todos os recursos (ou seja, os tipos stat [parâmetro f na string de consulta]. Tenho certeza que você pode encontrar documentação (oficial ou não) se você procura por ele.
Eu encontrei alguma documentação não oficial:
Eu geralmente acho que ProgrammableWeb é um bom lugar para procurar APIs.
O Markit On Demand fornece um conjunto de APIs financeiras gratuitas para brincar. Parece que há uma API de cotação de ações, uma cotação de ações / pesquisa de empresa e uma API de gráficos disponível. Olhe para dev. markitondemand.
Por último, eu olhei - há alguns anos atrás - não havia uma opção fácil e a "solução" (com a qual eu não concordava) era a de raspar o ecrã de vários sites. Pode ser mais fácil agora, mas eu ainda ficaria surpreso em ver algo, bem, útil.
O problema aqui é que os dados são imensamente valiosos (e muito caros), portanto, definir um método para recuperá-los seria fácil, tornando impossível fechar os locais de negociação com seus dados. Alguns dos MTFs (atualmente) fornecem seus dados de graça, mas não tenho certeza de como você os receberia sem pagar outra pessoa, como a Reuters, por isso.

wallstreet 0.1.5.
Estoque em tempo real e ferramentas de opções.
Wallstreet: Stock em tempo real e ferramentas de opções.
O Wallstreet é uma biblioteca Python para monitorar e analisar dados de Stock e Option em tempo real. As cotações são fornecidas pela API do Google Finance. O Wallstreet requer uma entrada mínima do usuário, usa dados online disponíveis para calcular gregos de opções e até raspa o site do Tesouro dos EUA para obter a taxa livre de risco atual.
Dependências
O Wallstreet requer que o Scipy, os pedidos e o bs4 (BeautifulSoup4) sejam instalados.

Opções de ações api
Atualizando a resposta um pouco.
Para iniciantes, você pode tentar obter uma saída JSON da consulta como.
DONT Experimente o Yahoo Finance API (é DEPRICADO ou NÃO DISPONÍVEL AGORA).
Para iniciantes, você pode gerar um CSV com uma simples chamada de API:
(Isso irá gerar e salvar um CSV para AAPL, GOOG e MSFT)
Observe que você deve anexar o formato à string de consulta (f = ..). Para uma visão geral de todos os formatos, veja esta página.
Para mais exemplos, visite esta página.
Para dados baseados em XML e JSON, você pode fazer o seguinte:
Não use o YQL (Yahoo Query Language) **
Por exemplo, para obter todas as cotações de ações em XML:
Para obter todas as cotações de ações em JSON, basta adicionar format = JSON ao final do URL:
Alternativas:
Taxas em tempo real para cerca de 40 pares de moedas estão disponíveis aqui.
Eles suportam esses idiomas. Seus dados de origem são do Yahoo Finance, Google Finance, NSE, BSE, FSE, HKEX, LSE, SSE, TSE e outros (veja aqui).
Eu sugiro usar a API de desenvolvedor do TradeKing. É muito bom e livre de usar. Tudo o que é necessário é que você tenha uma conta com eles e, até onde eu saiba, você não precisa ter um equilíbrio. apenas para ser registrado.
Se você ainda deseja usar o Google Finance para seus dados, pode verificar isso.
Recentemente, precisei testar se os dados do SGX podem ser recuperados via google finance (e, é claro, encontrei o mesmo problema que você)
Segui a resposta principal e comecei a analisar as finanças do yahoo. Sua API pode ser acessada de várias maneiras diferentes, mas eu encontrei uma boa referência para obter informações de estoque como um CSV aqui: jarloo /
Usando isso eu escrevi este script. Eu não sou realmente um cara de rubi, mas isso pode ajudá-lo a hackear algo juntos. Eu não encontrei nomes de variáveis ​​para todos os campos que o yahoo oferece ainda, então você pode preenchê-los se precisar deles.
Aqui está o uso.
loadStockInfo retorna um hash, tal que SpecificData ["GOOG"] ["name"] é "Google Inc."

96 APIs de ações: Bloomberg, NASDAQ e E * TRADE.
Nosso diretório de API agora inclui 96 APIs de estoques. A mais nova é a API Eurex VALUES. O mais popular, em termos de visualizações de páginas de diretório, é a API do Bloomberg. Abaixo, você encontrará mais algumas estatísticas do diretório, incluindo toda a lista de APIs de ações.
Em termos de detalhes técnicos, REST e XML lideram o caminho. Existem 55 APIs REST de ações e 42 APIs SOAP de ações. Nosso diretório lista 64 APIs XML de ações e 18 APIs JSON de ações.
Bclear API: serviço de negociação de títulos no mercado de balcão. Acompanhe esta API.
E * TRADE API: Acesso a E * Serviços comerciais para aplicativos. Acompanhe esta API.
API do Empirasign: Segurança comercializa dados e provedor de modelos de negociação. Acompanhe esta API.
FreeStockCharts API: Estoque e dados do mercado financeiro e serviço de gráficos. Acompanhe esta API.
API MarketConnect: serviço italiano de informações sobre o mercado de valores mobiliários. Acompanhe esta API.
Orbis API: serviço de negociação financeira eletrônica. Acompanhe esta API.
StockTwits API: Rede de ideias em tempo real para investidores e comerciantes. Acompanhe esta API.
TaqTiqa API: Histórico Mercado Financeiro e Serviço de Cotações. Acompanhe esta API.
API XigniteExchanges: fornece horas de operação para trocas mundiais de valores mobiliários. Acompanhe esta API.
XigniteVWAP API: acompanhamento do preço médio da ação ponderado por volume. Acompanhe esta API.
Comentários (5)
O IG Group acaba de lançar uma API de negociação REST para seus instrumentos CFD e Spreadbet. Veja soa-probe / 2014/06 / ig-rest-trading-api. html.
Eu estou olhando para desenvolver uma simulação de mercado de ações virtual. como eu sou novato dev, eu não posso pagar ao vivo.
Esta API será útil para mim?
Eu estou procurando uma API que é gratuita e fornece dados (histórico) de diferentes fontes.
@AP_REX Se você está desenvolvendo como um projeto pessoal, sugiro dar uma olhada nas APIs de finanças do Yahoo. Eles não são 100% sólidos, então eu não recomendo para um aplicativo de produção em larga escala, mas eles são gratuitos, então eles são perfeitos para pequenos projetos. Grandes dados também.
Se você precisa de dados limpos para estratégias de backtest tão preciso quanto um intervalo de 1 minuto, sugiro obter uma fonte de dados limpa como intradata. co. Eles têm tanto forex quanto ações e são dados ideais para backtesting, pois colocam seus dados em arquivos anuais e são simples de baixar de seus sites.
Então é importante ter um bom software de otimização com relatórios detalhados para encontrar padrões em diferentes estratégias. Para visualizar drawdowns por exemplo, indique o risco que você assume nas estratégias.

Opções de ações api
Há uma maneira pouco conhecida de obter informações da cadeia de opções do Google. Isso mostrará como isso é feito, além de demonstrar como usá-lo usando o C #. (Fácil o suficiente em qualquer idioma, uma vez que é baseado em REST, portanto, se você não é um desenvolvedor de C #, não deixe que isso o impeça.)
ESTA NÃO É UMA API OFICIAL. A GOOGLE NÃO APOIA ISTO PARA QUALQUER COISA, MAS OS SEUS PRÓPRIOS APLICAÇÕES INTERNAS E PODEM MUDAR A QUALQUER MOMENTO. USE ISSO A SEU PRÓPRIO RISCO.
Acessando a API do Google Stock Options baseada em REST.
O Google lista opções de ações no site de finanças. Um exemplo disso é este para a cadeia de opções da AAPL.
Com uma modificação muito pequena, você pode obter os dados em um formato similar ao JSON. (não é exatamente JSON, vou cobrir isso abaixo)
A diferença entre o site e a API é a adição de uma string de consulta simples & # 8220; output = json & # 8221 ;.
Assim, o URL se torna: & google / finance / option_chain? Q = AAPL & output = json & # 8221;
Compreender a API da opção Google.
Chamando & # 8220; google / finance / option_chain? Q = AAPL & saída = json & # 8221; retornará vários dados:
A próxima data de expiração Uma lista de todas as datas de expiração disponíveis para o símbolo Uma lista de todos os puts Uma lista de todas as chamadas O preço do estoque subjacente (não o preço da opção).
Aqui está um trecho dos dados de retorno:
Obviamente, há muito mais datas de expiração nas opções AAPL e mais chamadas, além de eu não mostrar as chamadas, mas acho que isso deve dar uma idéia da estrutura geral.
Isso só funciona para o último vencimento. Todas as opções retornadas serão apenas para essa expiração. Você pode selecionar uma expiração diferente com bastante facilidade:
Você notará a adição de três novas strings de consulta, que denotam o ano, mês e dia da expiração. Acho melhor chamar o URL anterior para obter a lista de datas de expiração válidas e usá-lo para obter todos os avisos de uma data de expiração específica.
Mas os resultados não são válidos JSON?
Infelizmente eles não são. Se você olhar o exemplo colado acima, você notará que o nome e o valor devem ser colocados entre aspas, mas não são. Na verdade, NENHUM dos nomes estão entre aspas e apenas alguns dos valores são.
Para corrigir isso, eu o executo por meio de uma expressão regular para cercar os nomes e valores entre aspas antes de tentar criar um objeto fora do JSON.
Este é o lugar onde ele difere de um idioma para o próximo, mas para C # eu faço o seguinte:
Usando esta opção chain chain em seus programas.
Isso pressupõe que você está usando 4.5 ou superior. Ele funcionará com outras versões, mas você pode precisar remover o & # 8220; async / await & # 8221; lógica talvez o Thread. Run também.
Em C #, é simples consumir esta API e obter objetos funcionais a partir dela.
Primeiro, vamos começar com os arquivos de definição necessários para transformar esse quase-JSON em objetos:
Dica Pro: Se você está se perguntando se eu digitei tudo isso na resposta é não. O Visual Studio tem uma função pouco conhecida. Copie o JSON dessa chamada do google api e, em seguida, no Visual Studio, clique em Editar - & gt; Colar especial - & gt; Colar JSON como classes. E isso faz o trabalho para você! (Eu ajustei um pouco, mas deixei o VS fazer um mapeamento chato para você.)
Então, quando tivermos a estrutura básica de como armazenar essas chamadas, conforme descrito acima, precisamos obter os dados e corrigir esses problemas de JSON.
Neste nós criamos um WebClient para buscar os dados. Eu faço isso em um thread separado, não é necessário em todos os casos, mas se você vai ligar isso a uma interface do usuário isso impedirá que sua interface do usuário seja bloqueada enquanto isso está recebendo os dados.
Em seguida, ele chama uma das duas URLs mostradas anteriormente, todas dependendo se o dia da expiração, o mês e o ano foram passados.
O JSON é limpo e depois é convertido em um objeto.
Essa chamada para. FromJson & lt; & # 8230; & gt; () é uma função de extensão que escrevi e que estou usando. Ele está usando a análise JSON do assembly System. Runtime. Serialization.
Eu uso isso em todo o lugar na maioria dos meus projetos, e também mais tarde usarei uma função de extensão. To & lt; & gt; (), então também vou listá-la aqui. Lembre-se de que você pode usar qualquer analisador JSON, como JSON, essa é apenas a minha preferência.
Adicionando uma interface do usuário nos dados da cadeia de opções.
Então, isso cobre a obtenção dos dados. Se você quiser criar uma tabela de cadeias de opções com chamadas em um lado, avisos no meio e colocar & nbs;; por outro, é fácil o suficiente para usar o WPF e o código da API da opção do Google que publiquei no GitHub inclui apenas um exemplo.
Sim, eu sei que é digno de crédito, mas eu queria mostrar o conceito sem tornar o código mais difícil, adicionando mais funcionalidade ou estilo do que o necessário.
Para obter esse layout, criei uma nova classe chamada OptionPair. É usado apenas pela interface do usuário para exibir essas linhas. Cada linha é um objeto OptionPair, que é um put, call e strike.
Eu não usei MVVM para isso, mais uma vez eu queria mantê-lo simples, por isso é apenas uma única janela do WPF com algum código para trás. Aqui está a listagem completa de código para a janela:
A maior parte deve ser bastante fácil de entender. Quando um usuário insere um ticker de ações e clica em um botão, ele obtém os dados iniciais que são para o vencimento mais recente dessa opção. As datas de expiração retornadas são colocadas em uma coleção para serem exibidas em uma caixa suspensa, para que o usuário possa escolher uma diferente. Os objetos OptionPair são criados e exibidos na grade. Se o usuário selecionar uma nova data de expiração, o método FetchData () será chamado, obtendo novos dados e preenchendo a grade.
Aqui está o XAML.
Nenhuma surpresa aqui apenas ligando os objetos. A única coisa digna de nota é o ExpirationConverter, que leva o formato de ano, mês e dia que o Google retorna e o altera para algo melhor para exibição:
Espero que você tenha gostado dessa olhada na útil e interessante API da cadeia de opções do Google. Lembre-se de que isso não é suportado pelo Google, então eu não sugeriria usá-lo em um aplicativo de nível de produção, mas é interessante brincar com ele.
Se você está procurando expandir isso para adicionar gregos como delta, gamma, vega etc. Eu tenho outro artigo que você pode querer dar uma olhada: Vanilla Option Math.

No comments:

Post a Comment