Historical prices for 10,900 tickers - ticker map and downloader for eodhistoricaldata

First thank you @restrading for pointing me to eodhistoricaldata. They seem to be a fully legit operation, and not to be confused with eoddata.com.

What I like

  • Excellent coverage of the signals universe (all except Japan, New Zealand, Czech Republic); in contrast with Tiingo which only has US.
  • Historical data for a majority of the de-listed stocks; in contrast with yahoo, which only covers live tickers.
  • Split and dividend adjusted prices; in contrast with iqfeed or refinitiv consumer, which have excellent data but no adjustments.
  • Practically limitless API quota; in contrast with IEX cloud, which counts each ticker x day as an API usage.
  • $20/mo price is hard to beat.

What makes it challenging

As usual, ticker mapping. Well, it’s a good thing I worked on it – your welcome :slight_smile:

Within the https://github.com/degerhan/dsignals repository:

  • build_eodhd_map.py will attempt to map the 13,400 live and historical tickers with rules, replacements, and manual overrides. While some tickers are speculative, most are good.
  • download_quotes.py is the universal downloader, that will use either eodhd or yahoo, saving each ticker history in a separate pickle file.

While it is possible to invest some time in a number of Korean and Taiwanese exchange codes, and possibly a look at the delisted Singapore tickers, as of October 2021, the net result is 10,900+ ticker histories.

Good hunting !


Nice job! That ticker map looks amazing and really shows how many holes are in the yahoo data. Seems like this needs a retroactive bounty! :man_dancing:


@aventurine @degerhan I’ve pinged the CoE in their RC channel on a potential bounty.
Really nice work here!


I pushed an update to github – the mapper and downloader now retrieve price data for 11,200 tickers in the live and historical Signals universe. Data source is automatically selected as eodhistoricaldata for its supported exchanges, and yahoo for Japan, Czech Republic and New Zealand.


Wouldn’t it make sense to push this to the official Numerai Github repo?

For those who don’t know yet - JP data is already supported (the TSE exchange), but you must ask the support to enable it for you…

In the map builder script use this line:

"JP": ConverterItem(MAP_EODHD, _BBG, MAP_EODHD, ".TSE"),


Not sure if it’s the expected result or I’m doing something wrong, but when I merge eodhd-map.csv with the train csv (https://numerai-signals-public-data.s3-us-west-2.amazonaws.com/signals_train_val.csv) I’m only getting 4906 coincident tickers/bloomber_tickers :confused:

Thanks for the work!

sorry! never mind, was using old target file instead of this one https://numerai-signals-public-data.s3-us-west-2.amazonaws.com/signals_train_val_bbg.csv

Could you tell me more about how to get Japanese stock data from EOD?