Forum Think Finance - Bolsa e Forex

Geral => Sistemas Automáticos => Tópico iniciado por: Incognitus em 2012-07-09 17:05:47

Título: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2012-07-09 17:05:47
Excelente artigo com os parâmetros para interacção com o Yahoo Finance:

http://gummy-stuff.org/Yahoo-data.htm (http://gummy-stuff.org/Yahoo-data.htm)

Fica a imagem, não vá o site perder-se.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: tiagopt em 2012-07-10 11:28:23
Isto serve para fazer screening no programa deles ou para fazer algum tipo de programação? O programa parece muito completo mas ao mesmo tempo é bastante confuso...
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2012-07-10 11:55:09
Serve para quando fazes um programa, teres onde ir buscar os dados referidos, sobre milhares de titulos diferentes.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: JoaoAP em 2012-07-10 12:05:26
Serve para quando fazes um programa, teres onde ir buscar os dados referidos, sobre milhares de titulos diferentes.

Já agora: alguém que use o yahoo, parece-me que nas últimas semanas eles limitaram o histórico.

Esta semana tive de "ir ao Indiano" do yahoo e trazer de lá o histórico.
Exemplo:
http://finance.yahoo.com/q/hp?s=%5EXAU+Historical+Prices  aqui o máximo é 2000
e aqui
http://in.finance.yahoo.com/q/hp?s=%5EXAU+Historical+Prices  1983!
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2012-07-10 12:06:52
Eu nas últimas semanas tive problemas a ir buscar os ficheiros, curiosamente.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Messiah em 2012-07-10 14:07:52
é possível ir buscar os valores de um dia em particular?
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2012-07-10 14:11:44
Isso só utilizando os históricos de que o João falou.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Messiah em 2012-07-10 17:52:33
e é possivel sacar um histórico de váraias acções ao emsmo tempo?

Tipo de 100 a 100 ? Ou de todas as acções do SP500 ?
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2012-07-10 18:20:23
É possível tirar um histórico de uma de cada vez, mas por esse processo podem tirar-se milhares delas.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: JoaoAP em 2012-07-10 21:19:59
e é possivel sacar um histórico de váraias acções ao emsmo tempo?

Tipo de 100 a 100 ? Ou de todas as acções do SP500 ?

Instala esta macro no Excel:
http://code.google.com/p/finance-data-to-excel/ (http://code.google.com/p/finance-data-to-excel/)
Pods fazer o download simples ticker ou mais.

De qq forma tem atenção, que nas últimas semanas, eles limitaram o histórico.
Em algumas consegues no indiano, para já...
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: c314 em 2013-01-07 06:32:32
para obter os dividendos e os splits, qual é o código?
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2013-01-07 09:11:13
Os preços históricos têm um preço ajustado por dividendos e splits, penso que é o mais próximo.
 
Nesse caso a URL é, por exemplo para AMZN: http://ichart.finance.yahoo.com/table.csv?s=AMZN&d=0&e=7&f=2013&g=d&a=4&b=16&c=1997&ignore=.csv (http://ichart.finance.yahoo.com/table.csv?s=AMZN&d=0&e=7&f=2013&g=d&a=4&b=16&c=1997&ignore=.csv)
 
 
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Thorn Gilts em 2013-01-10 00:07:05
bom era ter isso para as financials statements. :-)

Eu uso isto:

http://www.qmatix.com/ (http://www.qmatix.com/)
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: soaked em 2013-01-26 02:11:13
Boas, Não sei se é isto que pretendias dizer com financial statements mas a morning star dá-te os dados fundamentais e a opção de exportar para Excel:
exemplo da Apple

http://financials.morningstar.com/income-statement/is.html?t=AAPL&region=USA&culture=en-us (http://financials.morningstar.com/income-statement/is.html?t=AAPL&region=USA&culture=en-us)

tens lá um botão que dá para exportar para excel.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: rnbc em 2013-01-26 14:39:35
Se tens lá um botão, dá concerteza para perceber como funciona e para sacar automaticamente. Podem é por um limite no número de vezes...

Em tempos, há uns 5 anos, tinha uma base de dados (MySQL) que alimentava automaticamente a partir do yahoo, e programava lá uns quantos indicadores. Depois deixei de ter tempo... mas um dia destes reativo o projeto e partilho aqui. Até que eles agora têm muito mais mercados  europeus, por isso é mais útil do que na altura.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: soaked em 2013-01-26 15:42:56
Sim, eu já faço download para o disco automaticamente. Ainda nao detectei limite nenhum.


Se quiserem as classes em C# (.NET  framework 4.0) eu posso fornecer, mas ainda não está completo.
Estou a ir buscar os Financials (Income statement, Balance Sheet e CashFlow) e os Key Ratios.

Tb comecei com a ideia de uma base de dados (SQL Server), mas depois comecei a pensar na portabilidade do sistema e estou a por os dados em XML no disco.
Pode ocupar mais espaço mas não estou limitado na portabilidade.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2013-01-26 15:55:33
Sim, eu já faço download para o disco automaticamente. Ainda nao detectei limite nenhum.


Se quiserem as classes em C# (.NET  framework 4.0) eu posso fornecer, mas ainda não está completo.
Estou a ir buscar os Financials (Income statement, Balance Sheet e CashFlow) e os Key Ratios.

Tb comecei com a ideia de uma base de dados (SQL Server), mas depois comecei a pensar na portabilidade do sistema e estou a por os dados em XML no disco.
Pode ocupar mais espaço mas não estou limitado na portabilidade.

Com o SQL Server não terias problemas de portabilidade, poderias sempre extrair tudo com SQL para outra base de dados ou para XML e pelo meio devia ser mais prático para explorar, não? O SQL Server Express é gratuito, também.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: rnbc em 2013-01-26 15:59:17
Tb comecei com a ideia de uma base de dados (SQL Server), mas depois comecei a pensar na portabilidade do sistema e estou a por os dados em XML no disco.
Pode ocupar mais espaço mas não estou limitado na portabilidade.

O problema é que perdes a flexibilidade de poder usar SQL. Se simplesmente não queres instalar nada, já experimentaste a Berkeley DB? É uma base de dados que funciona em cima de ficheiros, sob a forma duma biblioteca que é linkada com o programa, ou seja, não é um processo autónomo a correr num servidor.

Para mim a piada do SQL é que da ideia à implementação são uns minutos. No máximo umas horas se for uma coisa muito complexa. Em linguagens procedimentais (C, C++, Java, C#...) o desenvolvimento demora mais.
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: soaked em 2013-01-26 16:21:24
Gostaria de perceber melhor a questão da portabilidade SQL, porque realmente posso nao ter pensado na questão muito a fundo.

Teria sempre de ter em qualquer maquina o SQL instalado.
Ou teria de importar/exportar dados atraves do import / export wizard ou ter os ficheiros das BD's num serviço de cloud tipo Dropbox. Ou ainda andar a fazer backups / restore ou Attach / detach das bds de sql.

Associado a isto, o Bulk insert do SQL server só permite 1000 registos salvo erro, ora como também pretendo importar historicos de preços pareceu-me melhor o XML, que no fundo em C# crio as classes, serializo e faço save de um ficheiro.

Como referi, gostava de perceber melhor a questão da portabilidade SQL, porque realmente posso nao ter pensado na questão muito a fundo.

Em relação à Berkeley DB, presumo que sejam No-SQL BD's , tipo Hadoop  e mongo. Investiguei um pouco o mongo, mas como era preciso ter um serviço instalado, e tinha a curva de aprendisagem inerente à biblioteca, desisti o XML pareceu-me melhor, posso ainda mudar o serializador e passar a usar json que penso ser mais leve em termos de espaço de disco.

Em relação a executar sql posso sempre ter uma classezita que após carregar os dados do XML executo um SQL ao objectos atravez de linq dynamic expressions.

Pareceu-me a melhor alternativa, mas aguardo feedback
Obrigado pelas ideias.
Um abraço.






Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: muze em 2013-01-26 18:10:20
Gostaria de perceber melhor a questão da portabilidade SQL, porque realmente posso nao ter pensado na questão muito a fundo.

Teria sempre de ter em qualquer maquina o SQL instalado.
Ou teria de importar/exportar dados atraves do import / export wizard ou ter os ficheiros das BD's num serviço de cloud tipo Dropbox. Ou ainda andar a fazer backups / restore ou Attach / detach das bds de sql.

Associado a isto, o Bulk insert do SQL server só permite 1000 registos salvo erro, ora como também pretendo importar historicos de preços pareceu-me melhor o XML, que no fundo em C# crio as classes, serializo e faço save de um ficheiro.

Como referi, gostava de perceber melhor a questão da portabilidade SQL, porque realmente posso nao ter pensado na questão muito a fundo.

Em relação à Berkeley DB, presumo que sejam No-SQL BD's , tipo Hadoop  e mongo. Investiguei um pouco o mongo, mas como era preciso ter um serviço instalado, e tinha a curva de aprendisagem inerente à biblioteca, desisti o XML pareceu-me melhor, posso ainda mudar o serializador e passar a usar json que penso ser mais leve em termos de espaço de disco.

Em relação a executar sql posso sempre ter uma classezita que após carregar os dados do XML executo um SQL ao objectos atravez de linq dynamic expressions.

Pareceu-me a melhor alternativa, mas aguardo feedback
Obrigado pelas ideias.
Um abraço.
o maior problema que terás numa base de dados noSQL ou num XML/Json é que quando quizeres fazer uma query para filtrar em milhões de registos, aqueles poucos pontos de entrada que têm as características que te agradam, vai demorar muito mais do que numa base de dados SQL, onde os registos têm tamanhos definidos...
fazer parse de XML é lento, numa base de dados o programa já foi optimizado para procurar dados e guardar os dados da forma mais eficiente de ser pesquisada, por isso melhoras a performance do teu programa apenas por utilizar uma BD

E a portabilidade de uma BD é um problema como? Tens bibliotecas que transformam tabelas de base de dados em objectos (e vice-versa) e bibliotecas que transformam objectos em XML, por isso diria que o ideal será sempre guardares os dados numa base dados.

Eu tenho um software de bolsa feito em Java+Hibernate+MySQL, meti em anexo o tópico onde o publiquei...se quizeres podes continuar a partir daí, tem uma biblioteca que torna fácil extrair dados directamente de páginas HTML, utilizando xPath tal como no xml...depois criar o xpath é simples, instalas uma extensão no firefox chamada fireXpath e dá para extrair o xpath daquilo que quizeres utilizando o firefox
Título: Re:(web service) Parâmetros para o web service do Yahoo Finance
Enviado por: soaked em 2013-01-28 23:11:12
Ok. Obrigado. Ainda que a inha especialidade nao seja java e hibernate, como sou mais MS conheço melhor a EntityFramework, mas do que me falaram é um ORM +- parecido, por isso vou analisar.
Título: 10 ways to download historical stock quotes data for free
Enviado por: JoaoAP em 2013-04-07 00:09:19
10 ways to download historical stock quotes data for free (http://www.quantshare.com/sa-43-10-ways-to-download-historical-stock-quotes-data-for-free#ixzz2PjAWLYuB)
In Quantshare

Citar
Here is a list of websites that provide end of day historical data for US and international stock markets.
All the quotes data provided by the websites listed here can be exported to CSV or Excel format.

FinancialContent
Several websites use historical data provided by financial content.
chron.com is one of them and here is the URL to get the eod data.
[url]http://markets.chron.com/chron/?Method=gethistoricalcsv&Month=7&Page=HISTORICAL&Year=2009[/url] ([url]http://markets.chron.com/chron/?Method=gethistoricalcsv&Month=7&Page=HISTORICAL&Year=2009[/url])
&Range=3&Ticker=[Symbol name]
Just change 'Symbol name' with the ticker symbol of the company that interests you.

Yahoo
Yahoo has historical quotes and dividend data for US and many international stock markets.
This is the URL that let you download these quotes.
[url]http://ichart.finance.yahoo.com/table.csv?d=6&e=1&f=2009&g=d&a=7&b=19&c=2004[/url] ([url]http://ichart.finance.yahoo.com/table.csv?d=6&e=1&f=2009&g=d&a=7&b=19&c=2004[/url])
&ignore=.csv&s=[Symbol name]

You can automatically download quotes from yahoo using the following downloader Yahoo EOD historical quotes .

Google
Google let you download daily and weekly eod quotes for US, Canada, UK, China and Hong Kong stock markets.
Here is the URL to grab this data:
[url]http://www.google.com/finance/historical?output=csv&q=[/url] ([url]http://www.google.com/finance/historical?output=csv&q=[/url])[Symbol name]

Investopedia
Investopedia provides end of day quotes, dividends and splits data for the US market.
[url]http://simulator.investopedia.com/stocks/historicaldata.aspx?Download=1&s=[/url] ([url]http://simulator.investopedia.com/stocks/historicaldata.aspx?Download=1&s=[/url])[Symbol name]

Quotemedia
Quotemedia has US and Canadian stocks historical data.
[url]http://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=02&startMonth=02[/url] ([url]http://app.quotemedia.com/quotetools/getHistoryDownload.csv?&webmasterId=501&startDay=02&startMonth=02[/url])
&startYear=2002&endDay=02&endMonth=07&endYear=2009&isRanged=false&symbol=[Symbol name]

You can automatically download quotes from quotemedia using the following downloader: Quotemedia Historical Quotes.

Dukascopy
Download historical and intraday quotes data.
Click on the dukascopy link, select settings, and then click on 'Get Data'.

Kumo swcp
Get historical data for the S&P500 stocks in one file.

AOL
Daily, weekly and monthly historical quotes that can be exported in multiple formats.
[url]http://finance.aol.com/.module/download/pfweb/historical/[/url] ([url]http://finance.aol.com/.module/download/pfweb/historical/[/url])[Symbol name]?type=2&symbol=[Symbol name]
&tf=m&gran=d&fromdate=%24%7Bhist.fromdata%7D

MSN
MSN provides eod data for the US stock exchanges.
[url]http://moneycentral.msn.com/investor/charts/chartdl.aspx?D4=1&DD=1&MA0=0&MA1=0&CF=0&PT=7&SZ=0&D5=0&[/url] ([url]http://moneycentral.msn.com/investor/charts/chartdl.aspx?D4=1&DD=1&MA0=0&MA1=0&CF=0&PT=7&SZ=0&D5=0&[/url])
DCS=2&C1=0&C2=1&width=612&height=258&D2=0&CE=0&
filedownloadbt.x=59&filedownloadbt.y=12&symbol=[Symbol name]

FinData
Registration is FREE but you can get only the eod data of the last 6 months.

Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: JoaoAP em 2016-02-15 16:00:57
Estou numa luta com os tipos (representantes do Ninja, não tipos como eu ou similares  ;D) no fórum do Ninja por causa de splits nos dados  etc... dados e não estou a conseguir chegar a uma conclusão.

Alguém me pode confirmar os preços do TVIX sem ser no Yahoo e Kinetick e me diga se os valor para Dezembro de 2010 estão de acordo com os do Yahoo ou do Kinetick que deixo em anexo. Também agradecia que não fosse via IB.
Se puderem deixarem a fonte de dados agradeço.
Obrigado.

Deixo aqui, para se ter cuidado com o Yahoo, se for o caso.
Eu já sei que os valores no Yahoo não são de confiar, mas nunca tive problemas, mas quando há splits etc... parece que tenho de interpretar de modo diferente???
E não é só para este ticker, também reparei que os testes com yahoo e Kinetick eram diferentes para QID e tem a ver com os raios dos splits.
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: JoaoAP em 2016-07-19 10:58:14
A mudança no Yahoo está a dar-me problemas. Somente me está a dar dados pelo Ninja até dia 11 de Julho para as empresas portuguesas, para as outras está a dar tudo certo.
No fórum do Ninja, para já ninguém se queixa.
Vou esperar umas semanitas a ver se corrigem o problema.

Se o yahoo for ao ar...é uma chatice.

Eles se fossem espertos e colocassem algo simbólico para ir buscar dados ganhavam bastante.
Eu não me importava de pagar 5 euros por mês. E muitos...era só somarem.

edit: claro que pelo webservice não há problemas.
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Automek em 2016-07-19 11:45:20
agora quando se faz o download só aparecem 20 dias (apesar de no ecran estarem mais).

têm de se alterar as datas manualmente só que é mais moroso que antes porque antigamente tínhamos lá o calendário para escolher as datas. agora têm de ser escritas.

o site canadiano ainda tem o layout antigo, para o caso de interessar:
https://ca.finance.yahoo.com/

Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Automek em 2016-07-22 16:04:09
a verizon diz que está prestes a comprar a yahoo. de cada vez que aquilo muda de mãos um tipo teme o pior no que toca às cotações gratuitas EOD de longa duração para exportação.
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Incognitus em 2016-07-22 16:32:22
É bem  verdade, mais dia menos dia também dão cabo disso.
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Automek em 2020-02-19 10:04:10
Costumo usar o yahoo para tirar o EOD do S&P500 e mais alguns ETFs que me interessam. Uso um programa que fiz em Python, há algum tempo, mas no final de Janeiro houve uma alteração no package e só ontem é que tive tempo de fazer a alteração.

O antigo fix_yahoo_finance deixou de funcionar e mudou para yfinance
https://pypi.org/project/yfinance/
https://towardsdatascience.com/a-comprehensive-guide-to-downloading-stock-prices-in-python-2cd93ff821d4

Não sei porquê, mas quando alterei o nome package comecei a ter mensagens de erro de incompatibilidade entre o pandas e o datareader (ImportError: cannot import name 'is_list_like'). Há varias pessoas a queixarem-se do mesmo.

Bastou, contudo, acrescentar mais uma linha de código no início:

pd.core.common.is_list_like = pd.api.types.is_list_like

Com esta simples alteração ficou a funcionar como anteriormente.


Entretanto, na pesquisa para resolver o erro descobri mais uns packages para o Yahoo que podem ser interessantes:

YahooQuery
https://pypi.org/project/yahooquery/
(tenho de o explorar melhor porque referem a possibilidade de opções)

yahoo_quote_download
https://pypi.org/project/yahoo-quote-download/

Para fundamentais também há este:
yahoofinancials
https://pypi.org/project/yahoofinancials/
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: deMelo em 2020-02-21 08:25:01
Costumo usar o yahoo para tirar o EOD do S&P500 e mais alguns ETFs que me interessam. Uso um programa que fiz em Python, há algum tempo, mas no final de Janeiro houve uma alteração no package e só ontem é que tive tempo de fazer a alteração.

O antigo fix_yahoo_finance deixou de funcionar e mudou para yfinance
https://pypi.org/project/yfinance/
https://towardsdatascience.com/a-comprehensive-guide-to-downloading-stock-prices-in-python-2cd93ff821d4

Não sei porquê, mas quando alterei o nome package comecei a ter mensagens de erro de incompatibilidade entre o pandas e o datareader (ImportError: cannot import name 'is_list_like'). Há varias pessoas a queixarem-se do mesmo.

Bastou, contudo, acrescentar mais uma linha de código no início:

pd.core.common.is_list_like = pd.api.types.is_list_like

Com esta simples alteração ficou a funcionar como anteriormente.


Entretanto, na pesquisa para resolver o erro descobri mais uns packages para o Yahoo que podem ser interessantes:

YahooQuery
https://pypi.org/project/yahooquery/
(tenho de o explorar melhor porque referem a possibilidade de opções)

yahoo_quote_download
https://pypi.org/project/yahoo-quote-download/

Para fundamentais também há este:
yahoofinancials
https://pypi.org/project/yahoofinancials/

Mesmo EOD, consegue se retirar info em barras de 1 min? Pelo Yahoo digo.
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: Automek em 2020-02-21 09:36:43
Pelo menos que eu saiba, não.
Na página de export (https://finance.yahoo.com/quote/DBX/history?p=DBX) do Yahoo aquilo que se vê disponível na frequency é apenas diário, semanal e mensal. Qualquer pessoa pode exportar um histórico de um simbolo, de 1990 até à data, em formato csv e o ficheiro vem com Dia, OHLC, Adjusted Close, Vol.

Aquilo que o Python me faz é sacar o diário automaticamente para 500 símbolos e corrigir os dias passados pelo adjusted closed. Mas é sempre dados diários (ou podiam ser semanais ou mensais).

A nível de minuto não têm nada disponível na página e presumo que a API também não tenha isso disponível.

Dados intradiários grátis deves ter muita dificuldade em encontrar. Talvez a comunidade Quanld tenha algumas BDs mas não sei se a fiabilidade será boa.
Já falámos disso, mas em tempos usei a IQFeed e era porreira em intraday (tinha o senão, nas stocks, de não fazer o backadjust de dividendos, embora tivesse os contratos de futuros "puros" e com back adjusted dos rollouts).
Título: Re: (web service) Parâmetros para o web service do Yahoo Finance
Enviado por: deMelo em 2020-02-21 13:27:39
Pelo menos que eu saiba, não.
Na página de export (https://finance.yahoo.com/quote/DBX/history?p=DBX) do Yahoo aquilo que se vê disponível na frequency é apenas diário, semanal e mensal. Qualquer pessoa pode exportar um histórico de um simbolo, de 1990 até à data, em formato csv e o ficheiro vem com Dia, OHLC, Adjusted Close, Vol.

Aquilo que o Python me faz é sacar o diário automaticamente para 500 símbolos e corrigir os dias passados pelo adjusted closed. Mas é sempre dados diários (ou podiam ser semanais ou mensais).

A nível de minuto não têm nada disponível na página e presumo que a API também não tenha isso disponível.

Dados intradiários grátis deves ter muita dificuldade em encontrar. Talvez a comunidade Quanld tenha algumas BDs mas não sei se a fiabilidade será boa.
Já falámos disso, mas em tempos usei a IQFeed e era porreira em intraday (tinha o senão, nas stocks, de não fazer o backadjust de dividendos, embora tivesse os contratos de futuros "puros" e com back adjusted dos rollouts).

Tks.
Neste momento também tenho algo em Python que usa uma Api do barchart para sakar 1 min bars. Tem o atraso de 24horas. Mas é free.
Serve me, mas estou limitado a 150 tickers. O que é pouco. Estou neste momento a sakar todas as caps acima de 50bis, e alguns etfs. É pouco. :(