joshuaulrich / quantmod

Quantitative Financial Modelling Framework
http://www.quantmod.com/
GNU General Public License v3.0
809 stars 223 forks source link

Integrate Finnhub stock API #283

Closed alpha332 closed 4 years ago

alpha332 commented 4 years ago

Hi guys,

Amazing project here. Just wondering if we can add support for https://finnhub.io/ stock API ? They allow 60 calls/ minute for free with intraday data going back for years. I think this is a better alternative for alpha vantage.

They also support Websocket to receive the latest trades on the market for free. What do you guys think ?

ethanbsmith commented 4 years ago

seems worth a look. Im in need of good intra-day data right now, so timing is perfect. the API is pretty straight forward so I crufted up a basic implementation of getSymbols. will play with than and let you know what i find

alpha332 commented 4 years ago

Yeah that's awesome. I just tested them for a few days. 1 minute data goes back to at least 2000 ( I haven't tested period before 2000). This is such a bargain compared to only 1 month intraday data of alpha vantage.

ethanbsmith commented 4 years ago

Exchange licenses for redistribution like this are usually extremely expensive, and I've never seen corporate action (earnings, ipo, etc) vendors allow redistribution . On the surface, seems way too good to be true that they offer all this data for free. Im hopeful, but cautious.

alpha332 commented 4 years ago

Exchange licenses for redistribution like this are usually extremely expensive, and I've never seen corporate action (earnings, ipo, etc) vendors allow redistribution . On the surface, seems way too good to be true that they offer all this data for free. Im hopeful, but cautious.

I do agree that they will monetize it in the future. However if they price it at the same rate with Alpha vantage, it's still a way better deal if you can get intraday data going back 20 years with websocket and some other fundamental data as well. We'll see

awakened00 commented 4 years ago

All their prices say Personal Use Only.

ethanbsmith commented 4 years ago

IEX has confirmed that this company is redistributing data in violation of exchange licenses. I have stopped any work on this source. I would strongly caution anyone building dependencies on this company

https://github.com/iexg/IEX-API/issues/1409#issuecomment-589917944

joshuaulrich commented 4 years ago

Thanks for digging into it Ethan! I'm closing this, since it won't be implemented due to IEX's licenses.

finnhubio commented 4 years ago

We are not here to argue with guys over at IEXCloud. Anyone who is interested and wants to spend time looking into the data themselves know that our data is superior. We have put together a comparison in case anyone is interested : https://finnhub.io/finnhub-stock-api-vs-alternatives

We basically have more data (x10 more) than IEXCloud in almost every endpoint.

joshuaulrich commented 4 years ago

We are not here to argue with guys over at IEXCloud. Anyone who is interested and wants to spend time looking into the data themselves know that our data is superior. We have put together a comparison in case anyone is interested : https://finnhub.io/finnhub-stock-api-vs-alternatives

We basically have more data (x10 more) than IEXCloud in almost every endpoint.

@finnhubio no one here questioned your data quality. The only thing questioned is whether you adhere to exchange licenses, terms and conditions. IEX says you violated theirs, and this archived page from your documention shows their URLs in your sample responses, like they mentioned in the thread @ethanbsmith cited.

Many exchanges have been cracking down on data being redistributed against their terms and conditions. I'm not going to suggest anyone spend time implementing an API that has any potential of being a target of these data license crackdowns.

finnhubio commented 4 years ago

We are not here to argue with guys over at IEXCloud. Anyone who is interested and wants to spend time looking into the data themselves know that our data is superior. We have put together a comparison in case anyone is interested : https://finnhub.io/finnhub-stock-api-vs-alternatives We basically have more data (x10 more) than IEXCloud in almost every endpoint.

@finnhubio no one here questioned your data quality. The only thing questioned is whether you adhere to exchange licenses, terms and conditions. IEX says you violated theirs, and this archived page from your documention shows their URLs in your sample responses, like they mentioned in the thread @ethanbsmith cited.

Many exchanges have been cracking down on data being redistributed against their terms and conditions. I'm not going to suggest anyone spend time implementing an API that has any potential of being a target of these data license crackdowns.

Hi Josh,

Our team admitted that 1 of our engineers made a mistake in preparing the documentation. We did have the same JSON fields in 2 endpoints with IEXCloud. However the underlying data is completely sourced in-house and not redistributed from IEXCloud. The documentation has since been updated. You can personally verify the data yourself. There is no way we are redistributing their data if we have 10 times more data.

Hope it clears thing up.

Finnhub Support.

joshuaulrich commented 4 years ago

Our team admitted that 1 of our engineers made a mistake in preparing the documentation. We did have the same JSON fields in 2 endpoints with IEXCloud.

This is extremely hard to believe. You had two endpoints that were the same as another vendor. Not just similar, but verbatim. And the "documentation error" just happened to be that the endpoint URL in your results was the exact endpoint from the other vendor that matched your JSON fields.

However the underlying data is completely sourced in-house and not redistributed from IEXCloud.

It doesn't make sense to say exchange data is "completely sourced in-house". You have to get it from the exchange. If you're distributing NASDAQ exchange data, it has to come from the NASDAQ.

The documentation has since been updated. You can personally verify the data yourself.

I know the documentation has been updated. The documentation with the IEX endpoint URL is only available via the web archive. I'm not going to spend my limited time trying to convince myself that your claims are true, despite a lot of evidence to the contrary.

There is no way we are redistributing their data if we have 10 times more data.

Sure there is. You could be redistributing their data, and distributing other data too. Or you could only be redistributing a subset of their data. This claim doesn't support your case.


I also did a bit of research myself, and found quite a bit of questionable behavior from your company. Including accusing competitors of launching smear campaigns against you, and that you've deleted GitHub issues that reported errors in your data. You could have locked them. Deleting them makes it look like you're hiding something.

I also asked IEXCloud how they knew you were redistributing their data. They have very compelling evidence, but I'm not going to share any details publicly.

And now I'm going to lock this, because I've already wasted too much time on it. Please do not contact me about this privately, or open another issue about it in any of my GitHub repositories. I am not interested in further discussion.

joshuaulrich commented 4 years ago

And here's a screenshot of the comment I replied to, just in case it gets deleted.

image